本项目利用树莓派 Pi Zero W、500 万素相机模块、2.2 吋 SPI 界面 QVGA (320*240 像素)分辨率 TFT LCD、OpenCV (C++版本),完成一台迷你可爱版数字相机【OpenQCam】,有两个按键及两个 LED,可按钮拍照、储存并同步显示在 TFT LCD 上。做为后续开发更进阶的小型嵌入式智能型摄影机、计算机(机器)视觉、人工智能影像分析应用的软硬件前置环境建立,大家可依此架构再扩展成自己想要的功能。
开源迷你相机 OpenQCam 成品图
一、硬件需求:
在执行本项目前,先要备妥下列组件:
1. 树莓派 Pi Zero W一片(使用 Pi 1, 2,3, Zero 皆可,只是有些设定方式不同,后面会补充说明)
2. 树莓派 Pi Zero 专用 500 万画素相机(其它分辨率相机亦可,请注意非 PiZero 使用者必须使用 Pi 对应版本的相机)
3. 16GB 记忆卡一张(一般买树莓派餐附的都是 8GB 记忆卡,要跑 OpenCV建议要升级)
4. SPI 接口 2.2 吋 TFT LCD(QVGA 320*240)一片(一般市购 2~3.5 吋 TFT LCD 多半是用 ILI9341 驱动,若非该驱动 IC 则需另外撰写驱动程序。另外此类模块常会自带记忆卡或触控模块,本项目暂未使用。)
5. 双面洞洞板一片(若不想自己焊板子,可直接用面包板插线完成,只是不方便拿在手上把玩)
6. 90 度按键两个(做为操作用按键,或当外部触发拍照,数量可自行增减)
7.红色、绿色 LED 各一个(颜色不拘,可当成闪光灯控制或指示灯用)
8. 10k 及 220 奥姆 1/4W 电阻各二个(提供按键及 LED 使用)
9. 40 (20 pin 双排)pin 2.54 mm 间距公、母排针各一组(连接树莓派和洞洞板用)
10. 20 (pin 单排)pin 2.54 mm 间距公、母排针各一组(拆成 9pin 和 4 pin,分别提供 LCD 模块上显示用及记忆卡用)
11. 5V变压器及Micro USB连接线一组(负责供电给Pi Zero,若使用计算机USB或行动电源供电亦可)
12. HDMI 显示屏及 Mini HDMI 转大头 HDMI 连接线一组(一开始设定 PiZero 使用,之后就完全用不到,可拿有 HDMI 功能的电视充当一下)
13. 无线键盘鼠标及 USBOTG 连接线一组(一开始设定 PiZero 使用,之后使用远程联机操作就用不到,亦可直接借用一下家中计算机的无线键鼠)
14. 可选购Pi ZeroCPU专用散热片一组(除非长时间CPU满载情况造成热当,原则不一定要装)
这些材料可以在淘宝或电子零件市场上购买到。一般上网购买树莓派 Pi Zero 餐(建议主板、相机及扁平电缆一起买,外壳依需求搭配)时会附4GB或8GB记忆卡(记得要换购成16GB)、5V 变压器、Micro USB 充电线、USB OTG 连接线及 Mini HDMI 转大头 HDMI 连接线,有些还会附 CPU 散热片。根据不同采购管道及配大致上总体成本(不含第 12、13 项)约在 500 ~ 700元左右。
开源迷你相机硬件需求
另外,本项目对于新手而言,线路部分算有点小复杂,在制作或除错过程中,难免会遇到电气信号不良或信号被干扰等问题产生。一般家里可能没有高性能的仪表(如示波器、逻辑分析仪)可协助分析问题,但建议至少需要有一部数字三用电表。另外,可考虑选配(原则上用不到)一台简易型低速逻辑分析仪(100元左右)来协助。这台仅适合分析 2 MHz 以下信号,但对于重写 LCD SPI 驱动程序、抓问题来说已非常足够。
简易型 24MHz, 8 port 逻辑分析仪
二、硬件线路图
本专案的线路基本上不难,如下图左边线路图所示。主要是连接树莓派Pi Zero GPIO到 LCD 模块、按键及 LED。另外,留有一组接头和 LCD 模块信号线并联,方便与逻辑分析仪连接,分析问题用。原则上可不必接,但为方便工作,可选择自行以双面洞板自行焊接,接线方式如下图右边线路图所示。
蓝色为实际焊在板上的裸铜线,红色线为跳线(有胶皮绝缘线),请注意勿和其它线短路,以免电路无法正常工作。若要全部用 OK 线(有胶皮镀银线)焊接亦可。实在不熟悉焊接工作,可使用杜邦端子线连接或用面包板依电路图联机亦可,只是无法像一台相机拿在手上操作。
开源迷你相机 OpenQCam 电路图(左)及手焊转接板图(右)