《练摊神器》之DF拍立得相机

2020-06-061.1万
精华项目
AI 快速预览详细 收起
DF拍立得相机是一个基于树莓派4B的DIY项目,集按钮控制、拍摄、冲洗于一体。项目包括树莓派4B、摄像头模块、热敏打印机等硬件,并通过Python代码实现开机自动运行程序。用户只需按下按钮即可采集照片并打印出来。适用于地摊、小店等场景,轻松留住精彩瞬间。
《练摊神器》之DF拍立得相机图3

   5月31日,中央电视台《新闻30分》、《新闻直播间》聚焦“地摊儿”;6月1日至2日,国务院总理李克强亲临山东烟台、青岛考察。在烟台市,李克强总理在某摊位前称赞地摊经济、小店经济是就业岗位的重要来源,是人间的烟火,和“高大上”一样,是中国的生机。

    6月的桑拿天“”地摊“”成为朋友圈最火的消夏话题;心动不如行动,快带上你的“练摊神器”,和造作一夏大军们一起,去创造属于自己的精彩瞬间吧!


一、项目简介
练摊神器~DF拍立得相机:
集按钮控制、拍摄、冲洗于一体,拍摄后直接打印照片。
开机指示灯,按键控制,摄像头取景,Python代码,热敏打印机出片,留住精彩瞬间。

项目具体功能:

        1.树莓派开机自动运行DFcamera2.0.py程序

        2.程序运行后蓝色指示灯亮,开始工作。

        3.按钮1(5号端口),按下采集照片,并打印出来。

        4.按钮2(6号端口),关闭蓝色灯,退出程序。

《练摊神器》之DF拍立得相机图1

材料清单

1.Raspberry Pi 4 Model B *1 (电源需自备) https://www.dfrobot.com.cn/goods-2617.html

2.树莓派4B/3B+ IO扩展板 *1  https://www.dfrobot.com.cn/goods-2041.html

3.数字食人鱼蓝色LED发光模块(可用其他颜色代替) *1  https://www.dfrobot.com.cn/goods-80.html
4.碰撞传感器(手感超赞) *2   https://www.dfrobot.com.cn/goods-639.html

5.树莓派摄像头模块 500万像素 *1  https://www.dfrobot.com.cn/goods-1023.html

6.嵌入式热敏打印机(套件自带电源和数据线) *1 https://www.dfrobot.com.cn/goods-1795.html

7.红色纸盒(买DF产品、免费赠送)

硬件全家福



二、硬件调试

1.安装摄像头



2.安装扩展板
从此处需注意,扩展板底部针脚不要把摄像头的数据线压断。
3.安装碰撞传感器,端口为5、6号口;
此处可参考颜色,DF的产品就是这么简单高效。

4.连接LED模块 端口为12号口
5.USB端口安装热敏打印机
打印进的更详细安装教程可参考我的其他帖子
6.整体效果(电源线还没连接),确认没问题;分别连接打印接和树莓派的电源,开机调试代码

三、软件测试
VNC连接树莓派,调试程序;
该操作隐藏的一个坑:
注意调试的普通PC尽量不要安装打印机,否则调试时,会把PC端的打印机自动默认打印机;
推荐使用安装驱动方式调用热敏打印机!
打印机驱动安装教程,请参考下面帖子
https://mc.dfrobot.com.cn/thread-305550-1-1.html
《练摊神器》之DF拍立得相机图2
系统:树莓派2020-02-13-raspbian-buster-full
软件:Python 2.7.6和3.43
代码:简单、易懂
[mw_shl_code=cpp,false]# -*- coding: utf-8 -*-
from RPi import GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(5, GPIO.IN)
GPIO.setup(6, GPIO.IN)
GPIO.setup(12,GPIO.OUT)
GPIO.output(12,GPIO.HIGH)
try:
    while True:
        if (GPIO.input(5)==GPIO.LOW):
            print('拍照開始!')
            os.system("raspistill -n -t 200 -w 512 -h 384 -o - | lp")
            time.sleep(0.3)
        if (GPIO.input(6)==GPIO.LOW):
            print('拍照結束,再見!')
            time.sleep(0.3)
            GPIO.output(12,GPIO.LOW)
            break
        else :
            print('請按快門拍照!')
            time.sleep(0.3)
except Exception :
    print('erorr')
GPIO.output(12,GPIO.HIGH)
GPIO.cleanup()
[/mw_shl_code]
上传代码测试



树莓派设置自动启动
终端输入命令
sudo su
sudo nano /etc/rc.local
打开文件后在exit 0的前一行添加以下指令
sudo python /home/pi/DFcamera2.0.py &
关机,重启,测试程序

四、组装
DF的小红盒切刻出外壳

放入树莓派,侧面掏出按钮1和按钮2
固定蓝色LED灯
固定摄像头
固定打印机
关闭盒盖,固定侧面控制按钮
组装完成
五、整体测试


六、小结

本作品基本实现了按钮控制,相机拍摄、打印的功能;
如果后期资金充足,可扩展部分如下:
1.树莓派配个屏幕,增加取景框功能
2.增加语音模块,提供语音提示
3.升级彩色打印机,升级为自拍影棚
4.升级代码,然相机可以拍摄出更多模式的照片
5.无限可能期待您的加入。。。。。。。。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(7)
pATAq
前天的直播内容:

@MR Guo

1. Printing implementation 选择
bitImageColumn 否则打印图片会乱码
2. 打印二维码 size 根据情况设置,
过大会乱码,过小会扫码失败
还有你是什么型号的热敏打印机,不同的打印机支持的功能不同,另外使用USB接口和UART接口使用上也有些不同
Forgotten
顶上搞个取景框,显示拍照区域就更好了
gray6666
gray6666
作者
回复Forgotten
攒钱买个屏幕
gray6666
gray6666
作者
Python,espson 不知何故我这里运行报错。
下周我测试,黑白模式。
pATAq
你卡哪了?打印机初始化、图像打印乱码、图像不超过255px?
Mr Guo
这个库咋用,求大佬指教,同样没跨过去
共6条回复,已加载2条,点击查看更多共6条回复,已加载全部
rzyzzxw
真好
pATAq
感谢分享!有个问题,关于打印质量的
1 我测试数个模式之后,发现用pythonescpos 打印出来的要比用 zj58驱动打印出来的图像质量要好,不知道你这里如何
2 调整摄像头 特效为黑白模式打印出来的效果会不会有区别?
gray6666
gray6666
作者
感谢留言
hnyzcj
不错
- 没有更多了 -