用树莓派制造一台拍立得相机

MAKER:Action-Script/译:趣无尽 Cherry(转载请注明出处)

运用树莓派和热敏打印机来制造一台拍立得也不是什么难事儿啦,已经有很多 maker 实践过这类项目了。在这个项目中,我参考了其他的相关项目,加入了我自己的想法实现了一款令人满意的树莓派拍立得,一起来了解一下吧。

该项目使用了树莓派和热敏打印机。在其他的树莓派拍立得项目中多半使用的是树莓派2(目前尚不支持树莓派3版本)、广角镜头和摄像头模块。而我选择了树莓派 Zero W 和中大焦距镜头。

树莓派 Zero W 很小巧实用,包括摄像头接口和板载 WIFI 以及许多其他功能。大多数树莓派摄像头模块都配有广角镜头。我选择了 M12 镜头,其视场角为40°,可以达到与 45mm 焦距全画幅相机差不多的效果,画面更加自然,不扭曲。因为可以无线连接,所以支持远程遥控拍摄。

材料清单

硬件部分:

树莓派(Raspberry Pi)Zero W × 1

Mini TTL热敏打印机 × 1

树莓派摄像头模块 × 1

迷你摄像头(CSI)15针软排线 × 1

M12摄像头镜头 × 1

M12板镜头支架 × 1

按钮 × 1

5v/3.5A移动电源(最小3A) × 1

4700uF电解电容 × 1

直角USB适配器接口(公对母) × 1

2.1mm插孔连接至USB适配器接口 × 1

适配器(2.1mm插孔) × 1

单排排针 × 1

单排排座 × 1

两排针连接器 × 3

洞洞板 × 1

电线 × 若干

螺丝M3 x 6mm(6mm~10mm) × 2

方形螺母(M3 1,8mmx5,5mm) × 2

螺丝M2 x 6mm(6mm~10mm) × 2

热敏纸卷(57毫米) × 若干

8GB MicroSD卡 × 1

Mini HDMI适配器(ZEROW接显示器) × 1

Mini USB转USB(ZEROW接键盘) × 1

5v USB充电器 × 1

Prusa i3 mk3 3D打印机 × 1

电缆压接器(SN-28B) × 1

老虎钳 × 1

数码卡尺 × 1

螺丝刀 × 若干

软件部分:

Fusion 360 autodesk.com/fusion-360

Raspbian Jessie Lite raspberrypi.org/downloads/raspbian

ImageMagick www.imagemagick.org

zj-58 CUPS by adafruit https://github.com/adafruit/zj-58

软件设置和代码

在此步骤中,需要 USB 键盘和 HDMI 显示器。

将摄像头模块安装到树莓派,测试并检查是否正常。

系统设置

运行raspi-config:

$ sudo raspi-config

对于此项目,此选项是必需的:

Interfacing Options -> EnableCamera

Interfacing Options -> DisableSerial

Advanced Options -> Expand Filesystem

使用 raspi-config 设置Wi-Fi连接。使用网络连接来升级系统并下载所需的软件。

Network Options -> Wi-fi

你还可以启用 SSH,远程访问系统并进行快速更改。

Interfacing Options -> EnableSSH

安装软件

可以参考一下教程:

learn.adafruit.com/instant-camera-using-raspberry-pi-and-thermal-printer

sudo apt update

sudo apt install git cups wiringpi build-essential libcups2-dev libcupsimage2-dev

在adafruit github安装CUPS的栅格滤镜。

git clone https://github.com/adafruit/zj-58

cd zj-58 make sudo ./install

在 CUPS 系统上安装并将打印设置为默认值。

根据打印机具体情况,将“波特率”值调为为9600或19200。 (我的项目使用的是19200)

sudo lpadmin -p ZJ-58 -E -v serial:/dev/ttyAMA0?baud=19200 -m zjiang/ZJ-58.ppd sudo lpoptions -d ZJ-58

相机脚本

sudo apt-get install imagemagick

使用imagemagick提高对比度并将摄像头设置为默认的对比度和亮度,拍摄命令顺序如下:

raspistill -t 200 -co 30 -br 75 -w 512 -h 388 -n -o – | convert – -grayscale Rec709Luminance -contrast jpg:- | lp

这是我的参数的最佳值,你可以根据自己情况进行修改。

我使用相同的按钮来拍摄照片和关闭系统。

脚本单次长按4秒。

camera.sh

#!/bin/bash SHUTTER=20 # Initialize GPIO states gpio -g mode $SHUTTER up while : do # Check for shutter button if [ $(gpio -g read $SHUTTER) -eq 0 ]; then # Must be held for 4+ seconds before shutdown is run… starttime=$(date +%s) while [ $(gpio -g read $SHUTTER) -eq 0 ]; do if [ $(($(date +%s)-starttime)) -ge 5 ]; then shutdown -h now echo “power off” # Wait for user to release button before resuming while [ $(gpio -g read $SHUTTER) -eq 0 ]; do continue; done fi done if [ $(($(date +%s)-starttime)) -lt 2 ]; then echo “Click shut” raspistill -t 1800 -co 30 -br 75 -w 512 -h 388 -n -o – | convert –grayscale Rec709Luminance -contrast jpg:- | lp # date +”%d %b %Y %H:%M” | lp fi sleep 1 fi sleep 0.3 done

自动设置脚本为在系统开启时启动。

在最后的“exit 0”行之前修改文件 /etc/rc.local 和执行以下命令:

sh /home/pi/camera.sh

使用保存脚本文件的路径。

树莓派 Zero W 启用串行兼容

pi3-miniuart-bt 将树莓派 Zero W 蓝牙功能切换为使用 mini UART(ttyS0),并将 UART0/ttyAMA0 恢复为GPIO14和15。

禁用板载蓝牙并通过 GPIO14和15恢复 UART0/ttyAMA0,修改为:

sudo vim /boot/config.txt

添加到文件末尾

dtoverlay=pi3-disable-bt

禁用初始化调制解调器的系统服务,不使用 UART:

sudo systemctl disable hciuart

此配置的更多资料请参考:https://www.raspberrypi.org/documentation/configuration/uart.md

3D打印外壳

相机的外壳严丝合缝,尺寸较小,尽量的减少螺丝的设计。

设计分为3个部分:

1、底部,主要安装电源。

2、主体部分,安装树莓派、打印机和大部分的布线。

3、镜筒,主要安装相机镜头。

主体部分和镜筒主要针对打印功能进行优化,不需要支撑结构。外壳底部使用内部支撑材料打印成单品。我自己做了一个结实的样品来支持相机的结构。

这里提供了 stl 文件,你可以自行打印或进行修改。

打印所需文件请在项目文件库中自行下载。

https://make.quwj.com/project/100

连线

1、 将排针接头焊接到树莓派的 IO 接口。

2、 将树莓派插入面包板,然后开始测试设置。

3、 为了连接组件,我使用 2Pin 压接端子分离连接。

因此在组装过程中,组件可以单独连接到外壳上。安装简单,当组件发生损坏或升级硬件时可方便更换。

4、使用圆形插孔将4700uF 电容连接到 + 和 – 接头上。这将有助于在热敏打印机运行时保持电压稳定。确保电容器的负极(较短)脚连接到端子的负极而不是另一端。

5、连接圆形插孔和电容器,打印机电源线和树莓派 Zero W 。

6、将+5V焊接到PP1,将接地从电源焊接到电路板背面的 PP6,在电源 USB 的正下方,为树莓派供电。

7、将双排排座焊接到洞洞板,连接树莓派 IO 引脚。在洞洞板上,你可以连接按钮和打印机数据线。

8、将按钮连接到地 GND(引脚34)和 BCM20(引脚38)

9、打印机顺序如下:

打印机GND – > 树莓派GND(针脚6)

打印机RX – > 树莓派 TXD(引脚8,BCM14,UART发送)

打印机TX – > 树莓派 RXD(引脚10,BCM15,UART接收)

树莓派 40Pin 引脚对照表

组装

组装的过程非常的简单。

移动电源固定安装在机箱底座。但可以轻松进行充电、移除或更换。

我打印了几个针以将树莓派板连接到外壳上,并将镜头连接到外壳的其余部分。

所有电缆和组件的空间都不大。你应该合理利用空间,安排好内部布局。为了关闭机箱,底座和主体部分有两个相互配合的卡舌。正面有一个螺丝袋可以固定盒子。

完成,你现在就可以拍摄啦!

纳尼?!还需要美颜?等着吧……MAKER的世界没有什么是不可能的!

https://make.quwj.com/project/100