zoey不种土豆 发表于 2024-12-6 14:46:26

行空板M10复古相机,留住美好时光

本帖最后由 zoey不种土豆 于 2024-12-6 15:15 编辑


前言
B键拍照,A键删除,用行空板M10做一个复古相机,听起来是不是很有意思?这个相机主要由行空板M10和ESP32-S3 Sense组成,ESP32-S3 Sense带有额外的传感器和摄像头模块,能直接捕捉图像。
项目作者是一名电子工程专业的大学生,因为对摄影和复古美学的兴趣,加上他注意到社交媒体上重新流行的复古相机滤镜,于是决定用行空板M10搭建一个复古相机项目。
行空板M10自带512MB的DDR3随机存取存储器,用于显示图像,之后照片会从存取存储器中清除并存储在静态内存中以供以后翻阅。你也可以使用带有 SD 卡的 TFT 屏幕进行存储。

材料准备
硬件
行空板M10 、ESP32-S3 Sense
3.7V锂离子电池、线性稳压器、电解电容器
透明亚克力板、拨动开关、M2螺丝、焊接铁、热熔胶枪、通用PCB、松木、跳线

软件
Visual Studio Code
Arduino IDE

硬件安装
第一步 制作外壳
作者选用松木作为外壳材料,来为相机增加外形上的复古感。根据设计好的机体长宽,修剪木条,并将它们粘合成长方体盒身。

第 2 步:切割亚克力板
切割两块透明的长方形亚克力板用来封闭木盒的底部和顶部。

第 3 步:为木盒加上拨动开关
第 4 步:在亚克力板上钻孔并安装行空板
第 5 步:设计电路图
注意:作者未在电路图中添加拨动开关。你可以将其连接到接地引脚
ESP32-S3 并未连接到行空板M10的任何信号引脚,而是通过 WebSocket 通信方式进行通讯。这种方式下,ESP32-S3 会利用其程序中提供的热点凭证生成一个 IP 地址。然后,行空板使用该 IP 地址与 ESP32-S3 建立无线连接。
ESP32-S3 Sense 可以使用单节锂离子电池运行,其工作电压范围为 3.8 至 4.2 V。行空板使用5V 电压的 USB-C 数据线,最大工作电流容量为 2A。作者建议使用 5V 的手机移动电源或稳定的 5V 电源供电。

第 6 步:通用 PCB 的线缆管理
为了管理线缆,作者选择使用一块通用PCB板,搭配一些公接头和母连接器,这样可以轻松拆卸任何设备。行空板和ESP32-S3 Sense都是独立连接的,只依赖于电源供电。

第 7 步:自适应功能
由于可以通过USB为它们供电,作者考虑到未来可能的程序更新,决定将两个USB接口都暴露在外。
注意:请勿打开拨动开关或同时连接电池和USB,因为这可能会损坏电路板,而USB和电池之间的电位差可能会损坏电路。

第 8 步:设置额外功能
由于行空板M10和 ESP32-S3 之间没有通过任何信号引脚连接,它们只需通过电源即可独立工作。你可以通过行空板M10上的B键进行远程操作(信号范围内最长可达 200 米),以从 ESP32-S3 拍摄照片,将其显示在行空板上,并保存以供日后查看。

第 9 步:固定外壳盒内的所有组件

软件步骤
第 1 步:设置 Visual Studio Code
1.安装并设置 VS Code
首先,使用 USB-C 数据线将行空板M10接入电脑。接下来,安装 Visual Studio Code 并将其与行空板配置(步骤详见官方文档:使用VScod对行空板编程)。
2.创建 Python 文件
完成设置后,确保我们现在位于行空板的根文件夹中。创建一个 Python 文件并将其命名为 camera.py。

3.使用终端命令进行设置
打开终端并使用以下 bash 命令:
更新系统:sudo apt update
安装 pip:sudo apt install -y python3-pip
安装 Python 库:pip install pinpong、pip install opencv-python、pip install requests、pip install numpy
故障排除:在行空板上安装库或软件包之前,请确保它已连接到网络。
4.网络连接设置
确保行空板连接到互联网,可以使用手机热点。
使用 nmcli 命令管理 Wi-Fi 连接,如查看可用的网络、连接网络、断开网络等。
通过 ping 8.8.8.8 来检查网络连接是否正常。

第 2 步:检查网络连接
如果你的页面与下面的图片显示内容不同,那请必须检查你提供给 bash 命令的 ssid 和密码,还要检查网络连接的信号强度。
使用 Ctrl+C 停止,否则日志将持续运行
提示:互联网对于此设备的通信至关重要。要使其便携,请确保你的移动热点使用你在行空板M10和 ESP32-S3 程序中输入的相同 SSID 和密码打开.

第 3 步:设置 ESP32-S3 Sense
首先,用 USB-C 数据线将 ESP32-S3 连接到电脑,检查设备管理器:在连接 ESP32-S3 Sense 模块时,会出现一个新的 COM 端口。

第 4 步:查找端口
在作者的项目中,在引导模式下显示为 COM 端口 19,在非引导模式下显示 COM 端口 4。
然后,需要进行一些更改,选择并单击它。

第 5 步:编码
选择 115200 波特率
单击“OK”,准备共享串行数据。

第 6 步:用Arduino IDE配置ESP32-S3 Sense
使用 Arduino IDE 设置 ESP32-S3 Sense,建议按官方文档运行 Blink 程序,然后再刷写实际程序,看看它是否通过串口通信。
如果在连接到串行端口时遇到问题,可以尝试将模式从启动模式更改为取消启动模式,然后再更改回启动模式。
打开 Arduino IDE 后,你需要为ESP32-S3 Sense设置配置。
Tools>Board>Board Manager>esp32>XIAO_ESP32S3
Wi-Fi凭证
获取IP地址
上传程序后,你会获得一个 IP 地址。记下 IP 地址,它会用于与行空板M10建立套接字连接。
你需要使用与在程序中编写的相同 SSID 和密码打开手机的热点,并确保在将程序上传到ESP32S3之前执行此操作。

复古相机的两个功能
程序1: 处理点击、删除、显示或保存照片到照片文件夹。A键用于删除所有照片,B键用于拍摄新照片。
程序2:用于查看已拍摄的照片,类似于真正的相机。A键用于查看“上一张”照片,B键用于查看“下一张”照片。

通过 Web Socket 使用 IP 地址在行空板M10上:

成果展示
作者创作分享
https://dfrobot.loll.cc/video/71_1733454894.mp4
你还可以通过打开保存在行空板根文件夹中的另一个程序来检查以前的照片。在此程序中,A键和B键用来控制选择“下一张”和“上一张”,而主按钮用于退出或执行程序。
代码


原文链接:https://www.instructables.com/MAKE-Retro-Style-Camera-Under-100/
项目作者:vishal_soni88
发表时间:2024.11.25
页: [1]
查看完整版本: 行空板M10复古相机,留住美好时光