该项目使用了树莓派和热敏打印机。在其他的树莓派拍立得项目中多半使用的是树莓派2(目前尚不支持树莓派3版本)、广角镜头和摄像头模块。而我选择了树莓派 Zero W 和中大焦距镜头。 树莓派 Zero W 很小巧实用,包括摄像头接口和板载 WIFI 以及许多其他功能。大多数树莓派摄像头模块都配有广角镜头。我选择了 M12 镜头,其视场角为40°,可以达到与 45mm 焦距全画幅相机差不多的效果,画面更加自然,不扭曲。因为可以无线连接,所以支持远程遥控拍摄。 材料清单硬件部分: 软件部分: 软件设置和代码
使用 raspi-config 设置Wi-Fi连接。使用网络连接来升级系统并下载所需的软件。 安装软件 1 sudo apt update sudo apt install git cups wiringpi build-essential libcups2-dev libcupsimage2-dev 在adafruit github安装CUPS的栅格滤镜。 1 git clone https://github.com/adafruit/zj-58 1 cd zj-58 2 make 3 sudo ./install 在 CUPS 系统上安装并将打印设置为默认值。 1 sudo lpadmin -p ZJ-58 -E -v serial:/dev/ttyAMA0?baud=19200 -m zjiang/ZJ-58.ppd 2 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 这是我的参数的最佳值,你可以根据自己情况进行修改。 我使用相同的按钮来拍摄照片和关闭系统。 #!/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
禁用板载蓝牙并通过 GPIO14和15恢复 UART0/ttyAMA0,修改为:
添加到文件末尾
禁用初始化调制解调器的系统服务,不使用 UART:
此配置的更多资料请参考:https://www.raspberrypi.org/documentation/configuration/uart.md 3D打印外壳
主体部分和镜筒主要针对打印功能进行优化,不需要支撑结构。外壳底部使用内部支撑材料打印成单品。我自己做了一个结实的样品来支持相机的结构。 连线
打印机GND – > 树莓派GND(针脚6) 组装
|