使用树莓派,创建一个桌面“自拍”相机。不需要焊接或定制任何电子零件。应用程序也是超级简单。
一个使用树莓派 3加触摸屏显示器 、镜头和SenseHAT的有趣项目
硬件
整个项目使用了下列的零件:
另外还配搭了定制激光切割和折叠亚克力盒。即使你没有激光切割机和亚克力文件夹,也可以使用其他的外壳替代。
O/S及相关
把Raspbian Jessie Lite写入一张Micro SD卡中,然后将主机名由简单的raspberrypi更改为其他名称,编辑根文件系统etc/hostname和etc/hosts文件就可以。这样在网络上会更容易找到主机。
openssh服务器现在默认为禁用,因为我更喜欢通过SSH进行登录,这可以通过在boot partition中创建一个名为ssh的空文件来启用它。
触摸屏技术上是上下倒转安装的,所以要将显示器旋转到正确的方向,有必要编辑config.txt - 也在启动分区,并添加行:
接下来将Micro SD卡插入Raspberry Pi并接通电源。之后,我建议按照惯例做法,通过登录并输入以下内容更新O / S:
请注意,由于我们已将主机名更改为selfiecam,因此可以从另一台Linux计算机使用以下命令登录到Pi:
由于我们想使用SenseHAT,相机和帧缓冲区,一些有用的Python软件也通过安装:
最后,需要启用相机和重新启动,这可以透过raspi-config完成:
软件
首先,我们需要导入一些库,其中包括上面提到的。
我们需要初始化Pygame,它将用来显示图像到帧缓冲区中(显示器)。
接下来我们设置摄像机,由于它的物理位置被水平翻转,我们需要通过软件翻转它。
之后配置SenseHAT。
接下来我们将会定义一个函数,把其中一个文件作为参数,然后使用Pygame来绘制屏幕变成黑色,然后再显示它包含的图像。
然后我们定义一个功能,启用视频预览,在SenseHAT LED矩阵上显示3-2-1-0倒计时,截取静止图像前,停止预览,显示图像,並清除LED矩阵。映像文件名中应包含日期和时间。
请注意,LED矩阵上显示的数字颜色是不同的:3 =红色,2 =黄色,1 =绿色,0 =蓝色。
到目前为止,我们只是导入了不同的库和定义函数。接下来,我们将使用displayImage()這个函数在启动时更新触摸屏显示欢迎图像。
最后,我们进入程序的主循环。在这里,我们等待来自SenseHAT操纵杆的动作。如果这被按住,我们需要等待它被释放后使用getSelfie()函数。如果它被一直保持在左边,我们直接关机。我们可以忽略其他相关动作。
运行
/etc/rc.local文件在启动时运行,在这文件添加一行代码防止屏幕自动关闭,接着一秒后会启动自拍照相机应用程序。
重新启动后,我们会看到我们设定的欢迎图像。按下操纵杆时,会显示实时视频预览,并开始倒數计时。
在倒数到零时将会拍照,并停止视频预览,图像会显示在屏幕上。
最后图像可以从SD卡中复制出来。
如果你想自己做这个项目,可以在GitHub上找到Python脚本和亞克力外壳的设计文件。
来源:Andrew Back/Designspark
识别下方二维码,关注面包板社区!
领取专属 10元无门槛券
私享最新 技术干货