本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于树莓派的照片显示系统
发布时间:2021-08-29
分享到:
基于树莓派的照片显示系统
发布时间:2021-08-29
分享到:

HDMI驱动屏还是SPI驱动屏更适合树莓派?本文将带你介绍由树莓派为基础组成的显示器!

树莓派3B、4B、零串口提供HDMI接口,可以直接连接HDMI驱动屏。屏幕直接显示Raspbian桌面,不需要编程。虽然使用起来就像电脑显示器一样,​​但是对于业余爱好者来说,HDMI屏幕是很难深入开发的。屏幕有多种尺寸:3.5 英寸、7 英寸、12 英寸等。对于便携性,3.5英寸的尺寸是最好的选择,它可以与Pi一起轻松携带。小尺寸的 HDMI 屏幕会导致手指触摸小图标时出现触摸错误。小字和触摸错误是可怕的,难以使用。

对于SPI驱动屏幕,与HDMI驱动不同,它通过GPIO与Pi连接,即Pi通过GPIO(SPI)输出画面数据。虽然它不能直接显示操作系统桌面,但它对客户开放,适合编程,屏幕可以显示您在代码上开发的任何内容。SPI驱动屏也有2.8英寸、3.2英寸、3.5英寸等多种尺寸,3.5英寸或3.2英寸足以显示画面,握持舒适。此外,该屏幕具有更大的便携性,可与 PI 一起使用,并且比 HDMI 屏幕更便宜。

总之,HDMI 显示适用于运行在 OS 上的应用,而 SPI 显示可以更方便地用于物联网/智能家居等轻型应用......
有 Pi 和 Makerfabs 开发的 SPI 驱动屏幕的组合版本。我将用它来制作相机并展示 SPI 屏幕与 Pi 配合使用的效果。

第 1 步:HDMI 驱动程序屏幕与 PI 配合使用

第 2 步:PI 和 SPI 驱动程序屏幕

树莓派嵌入式系统开发基于树莓派零瓦,具有3.2英寸的SPI驱动显示器,分辨率为ILI9341,并具有触摸驱动器——XPT2046的触摸能力。

此外,还有 2 个麦克风阵列和 WM8960 用于音频录制和编码以及一个用于音频输出的扬声器,这使得系统为需要音频录制/输出的应用做好准备。它还具有多个GPIO端口,可以连接200多种传感器/actor,几分钟内即可创建基于PI的项目。

第 3 步:相机设置

我在网上为 Raspberry Pi 购买了一个相机模块来尝试拍摄一些照片。摄像头模块是 OV5647,具有 5 兆像素。把它插在树莓派的界面上,我就可以用它轻松拍照,并对树莓派进行编程,将照片显示在屏幕上。

第 4 步:编程

除了相机的代码,它必须为显示和触摸的 Pi 编程。为了用于展示,屏幕尺寸为320*240,要求照片必须是320*240,所以可以直接用320*240尺寸拍照,或者拍下高质量的照片,处理成合适的尺寸.

我使用的所有代码都可以在Github上找到。

1.对于摄像头,需要设置PI的config来启用摄像头接口,并使用Python库(PiCamera)来驱动摄像头。PiCamera 库已预安装在 Raspbian 上,无需再次安装。有一段演示代码驱动相机拍摄320*240的照片:

from time import sleep
from picamera import PiCamera  

camera = PiCamera()
camera.resolution = (240, 320)  

camera.capture("camera.bmp")
camera.close()

2.显示参考Waveshare团队的库和demo驱动ILI9341屏幕工作。再次感谢 Waveshare 团队。该项目中使用了一个演示,用于在显示屏上显示照片:

GUI_ReadBmp("./camera.bmp");
//LCD_2IN4_Display((UBYTE *)BlackImage);

Paint_DrawRectangle(190, 280, 230, 310, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL);
Paint_DrawString_EN(195, 285, "EXIT", &Font8, BLACK, WHITE);
LCD_2IN4_Display((UBYTE *)BlackImage);

3.什么时候拍照,可以通过触摸屏幕来决定。如图所示,触摸IC(XPT2046)通过SPI与PI连接,可以使用来自这里的库来检查屏幕是否被按下以及在哪里被按下。当触摸屏幕中央时,PI 会执行上面提到的相机代码来拍照,然后在屏幕上显示照片。

第 5 步:测试拍照

我给Pi准备了一个轻便的锂电池,可以随身携带户外,到处拍照。按屏幕中心,它会拍照并显示在屏幕上。

第 6 步:测试比较

此外,SPI 屏和 HDMI 屏与 PI 的工作方式不同,因此实际上,如果您需要,您可以在您的项目中同时使用 SPI 屏和普通 HDMI 屏。

以上就是关于本项目的全部分享了,有问题欢迎留言交流评论

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论