制作前言:
有时候回家晚,家里面的楼道灯没开,每次都要打开手机手电筒爬楼梯,但是又不想买新的智能开关和智能灯,想起来手头上还有几块闲置的安信可的ESP32-CAM,简单接上舵机贴上墙上就能实现远程开关。
方案设计:
软件设计简单利用面包板和杜邦线搭建电路,将ESP32-CAM与舵机和CH340模块连接,采用USB供电。
软件采用Arduino编程,缩短开发时间提高开发效率。舵机驱动使用ESP32Servo库,指定引脚并调整好参数,调用函数使舵机来回旋转180°,实现舵机驱动。
打开Arduino中AI Thinker ESP32-CAM的示例,选择WebServer-HelloServer,修改ssid和password为WiFi账号密码,编译上传后在串口监视器获取ESP32-CAM的IP地址,WiFi配置和服务器搭建完成。
使用HTML语言设计前端网页界面,添加交互按钮实现局域网控制舵机旋转。
将舵机驱动、WiFi配置以及网页控制三部分进行整合,软件设计完成。
硬件设计使用嘉立创EDA免费打样,将面包板电路集成到PCB上,实际上大部分电路已经集成在ESP32-CAM模块上了,剩下的电路采用两层板设计就足够了。
本设计最终并没有采用电池供电,但是在设计过程中一开始是打算采用两节5号电池供电以满足家庭日常使用,两节5号电池3V经过ME2188A50XG升压到5V给ESP32-CAM和舵机供电,但是实际使用出现以下问题:
- 舵机驱动过程产生的干扰太大,使干电池不能稳定在5V输出;
- 软件部分没有设计低功耗待机,导致ESP32耗电过快,干电池电量不足。
因本人能力有限,暂时放弃电池供电方案,改用USB输出5V供电。
外壳设计
根据场景尺寸Solidworks设计3D打印外壳,激光切割亚克力盖板。
最终成品
经过焊接、组装,远程开关完成。
使用说明- 在程序中添加WiFi账号密码后烧录程序到ESP32-CAM,在串口获取IP地址。
- 组装产品,连接电源线,产品在初始化过程中LED常亮,初始化完毕LED熄灭。
- 在同一局域网下,浏览器打开第一步获取到的IP地址,打开控制网页即可对开关进行控制。
性能升级- 电源部分还可以继续完善,除了干电池还可以考虑锂电池、18650锂电池等。
- 对ESP32-CAM进行低功耗设计,从而减少耗电量。
- 在程序中添加WiFi账号密码后烧录并从串口获取IP地址的操作比较繁琐,可以在软件中改进,对ESP32-CAM进行WiFi配网。
- 可以添加摄像头和内存卡等驱动,实现家庭监控和家庭服务器等功能。
效果展示
ESP32-CAM远程开关
|