1731浏览
查看: 1731|回复: 14

[项目] 《练摊神器》之DF拍立得相机

[复制链接]
微信截图_20200606173657.png

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

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


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

项目具体功能:

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

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

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

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

202006067021..png

材料清单

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
202006063233..png
系统:树莓派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.无限可能期待您的加入。。。。。。。。

hnyzcj  版主

发表于 2020-6-6 17:48:34

不错
回复

使用道具 举报

gray6666  初级技神
 楼主|
来自手机

发表于 2020-6-6 18:20:37

hnyzcj 发表于 2020-6-6 17:48
不错

感谢留言
回复

使用道具 举报

pATAq  版主

发表于 2020-6-6 18:41:02

感谢分享!有个问题,关于打印质量的
1 我测试数个模式之后,发现用pythonescpos 打印出来的要比用 zj58驱动打印出来的图像质量要好,不知道你这里如何
2 调整摄像头 特效为黑白模式打印出来的效果会不会有区别?
回复

使用道具 举报

rzyzzxw  版主

发表于 2020-6-6 19:00:12

真好
回复

使用道具 举报

gray6666  初级技神
 楼主|
来自手机

发表于 2020-6-7 09:44:39

pATAq 发表于 2020-6-6 18:41
感谢分享!有个问题,关于打印质量的
1 我测试数个模式之后,发现用pythonescpos 打印出来的要比用 zj58驱 ...

Python,espson 不知何故我这里运行报错。

下周我测试,黑白模式。

回复

使用道具 举报

pATAq  版主

发表于 2020-6-7 13:16:22

gray6666 发表于 2020-6-7 09:44
Python,espson 不知何故我这里运行报错。

下周我测试,黑白模式。

202006075783..png
我这里的测试效果,不知道你的照片打印出来是不是有图4那种颗粒感。
参考 Python-escpos 库 的说明文档,采用USB模式。此时显示为 PL2303,否则打印时会有 255px 限制,且有可能会出乱码
回复

使用道具 举报

Forgotten  版主

发表于 2020-6-7 14:35:23

顶上搞个取景框,显示拍照区域就更好了
回复

使用道具 举报

gray6666  初级技神
 楼主|

发表于 2020-6-7 15:13:02

Forgotten 发表于 2020-6-7 14:35
顶上搞个取景框,显示拍照区域就更好了

攒钱买个屏幕
回复

使用道具 举报

gray6666  初级技神
 楼主|

发表于 2020-6-7 15:17:45

pATAq 发表于 2020-6-7 13:16
我这里的测试效果,不知道你的照片打印出来是不是有图4那种颗粒感。
参考 Python-escpos 库 的说明文档 ...

感谢指导
回复

使用道具 举报

gray6666  初级技神
 楼主|

发表于 2020-6-11 10:14:17

pATAq 发表于 2020-6-7 13:16
我这里的测试效果,不知道你的照片打印出来是不是有图4那种颗粒感。
参考 Python-escpos 库 的说明文档 ...

我这里的照片打印也是第四种的颗粒感觉

但是 Python-escpos 库我这里运行会报错 class Serial(Escpos):
  File "/home/pi/.local/lib/python3.7/site-packages/escpos/printer.py", line 107, in Serial
    parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE,
AttributeError: module 'serial' has no attribute 'PARITY_NONE'
回复

使用道具 举报

pATAq  版主

发表于 2020-6-12 00:04:24

gray6666 发表于 2020-6-11 10:14
我这里的照片打印也是第四种的颗粒感觉

但是 Python-escpos 库我这里运行会报错 class Serial(Escpos):

晚些时候我分享一些这个库的使用心得
回复

使用道具 举报

Mr Guo  初级技神

发表于 2020-8-21 23:21:50

pATAq 发表于 2020-6-12 00:04
晚些时候我分享一些这个库的使用心得

这个库咋用,求大佬指教,同样没跨过去
回复

使用道具 举报

pATAq  版主

发表于 2020-8-22 10:48:19

Mr Guo 发表于 2020-8-21 23:21
这个库咋用,求大佬指教,同样没跨过去

你卡哪了?打印机初始化、图像打印乱码、图像不超过255px?
回复

使用道具 举报

pATAq  版主

发表于 2020-8-22 22:51:36

前天的直播内容:
202008225554..png
@MR Guo
202008221809..png

1. Printing implementation 选择
bitImageColumn 否则打印图片会乱码
2. 打印二维码 size 根据情况设置,
过大会乱码,过小会扫码失败

还有你是什么型号的热敏打印机,不同的打印机支持的功能不同,另外使用USB接口和UART接口使用上也有些不同
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail