实验思路:基于树莓派的方案
有没有现成的手段呢?比如,手机连拍或直接拍视频?我调查后发现,手机连拍的能力很有限,能连拍的照片张数不多,而且拍的频率、时长也很难设置。至于用摄像头拍摄,我发现一般的摄像头拍出来的视频也不够清晰,无法展示实验的细节;而且对于持续时间较长的实验来说,视频数据实在太巨大了,无论是手机连拍还是拍视频,所获取的数据都很不方便进行后续的对比分析。
现成的手段不行,那能否找到什么设备来控制照相机定时拍照呢?我首先想到了Microduino芯片,因为我曾经用它做了一个番茄钟,实现了定时闹钟的功能,但它控制不了照相机,因此这个方式不可行。
正感觉山穷水尽的时候,我发现了树莓派,它能控制普通单反照相机拍照。树莓派是由树莓派基金会研发的一种只有银行卡大小的单板机电脑,最初的设计目标是用廉价的硬件和开源软件为儿童提供一个计算机教育平台。随着一代代树莓派被开发出来,其性能越来越好,适用性也越来越高,现在不仅用于儿童教育,也用于解决很多现实问题。并且,除了价格低(我从网上买的树莓派第4代主机才269元),我发现树莓派运行时还很省电,能耗比普通电脑的1/10还低,特别符合节能环保的要求。
整个实验小助手概念如图2所示,它由以下几部分组成:
(1)树莓派:是小助手的“大脑”,它用于控制照相机拍照,并把照片以规定的格式存储下来,以及后续的处理(抠图等)。
(2)照相机:这里用的是佳能EOS550D,它已经有一些年头了,从我小学参加学校摄影兴趣小组时就陪伴我了。树莓派通过Linux系统上的gphoto2软件就能控制很多类型的普通照相机来拍照。
(3)三脚架:这是为了长时间、稳定拍摄用的。
(4)USB连接线:连接树莓派和照相机之间的USB线,树莓派就是通过它来发送拍照命令,并从照相机中获取照片的。
(5)实验台:用于安放要做的实验,比如,用于钢铁生锈实验的试管。同时,为了清晰地展现实验现象,我安置了一个白色背景板。

图2 树莓派实验小助手概念图
(6)光照:这里用的是柔和的灯光,并且因为实验环境在房间里,通过拉上窗帘就能保证无论是白天还是黑夜,光照都是一样的。一样的光照能使我们更好地展现和对比实验结果。
需要说明的是,尽管树莓派也有一个自带的摄像头,但用它拍照不够清晰,无法满足把实验细节清晰记录下来的目的,因此没有使用它。
首先是安装树莓派。树莓派的所有零配件组成如图3所示,包括主板、存储卡、摄像头、电源线、风扇、亚克力外壳。这些零配件都可以从网上买到。东西虽然零散,但安装并不复杂,按照说明书就可以把各种配件组装起来,再把亚克力外壳拼装好,没多久一台树莓派就装好了,如图4所示。

图3 树莓派的零配件组成
(https://www.daowen.com)
图4 安装好的树莓派
当然,这还只是计算机的主机。真正要让小助手运行起来,还得将它与相机、实验环境等匹配,搭建起完整的系统,如图5、图6所示。

图5 树莓派实验小助手和实验环境(正视),正在实验中

图6 树莓派实验小助手和实验环境(实验台)
在整个实验过程中,小助手的工作步骤包括4个阶段。
(1)准备阶段:相机位置摆放和拍摄参数调整,保证拍摄的内容在画面的中间,并且亮度合适,对焦清晰。常规情况下我设置的参数是ISO100,光圈8.0,快门速度2秒。如果要高速拍摄,再设置其他相应的参数就好了。
(2)实验阶段:一旦准备就绪开始实验,接通树莓派的电源,里面的采集程序会自动启动起来。实际的拍摄命令由一个Python程序来控制。在本实验中,它每隔1分钟拍一张照片,并用与第一张照片的时间差来命名文件,程序如图7所示。当然,为了应对实际运行中可能出现的异常情况,程序需要做一些异常处理,以便能稳定运行。如果要用很高的频率来拍摄实验结果,比如0.1秒拍一张,则可以用如图8所示的程序。

图7 树莓派以每分钟一张的频率自动拍照的Python程序,程序的具体运行逻辑见其中的注释
(3)实验结束:关闭树莓派,数据都已经保存下来了。
(4)结果分析:因为树莓派本身就是一台小电脑,直接接上显示器和键盘鼠标就能查看和处理里面的照片文件。最常用的处理是把某个位置的图像(比如,试管B)借助“万能的Python”从所有照片中抠出来,这样方便做细节的对比,相关程序如图9所示。

图8 树莓派以每0.1秒一张的频率自动拍照的Python程序

图9 把某个位置的图像(如,试管B)从所有照片中抠出来的Python程序