
开源协议
:CC BY-NC-SA 4.0
描述
柔性灯丝小夜灯
项目属性
本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。
目录
1. 项目说明
1.1 项目简介
1.2 项目功能
1.3 实物图
2. 硬件说明
2.1 硬件功能
2.2 硬件图示
2.3 引脚定义
3. 软件说明
3.1 上电流程图
3.2 代码简单说明
3.2.1文件说明
3.2.2 esp32_code.py说明
3.3 MPU6050数据简单处理
4. 设计注意事项
4.1 BOM
4.2 组装
4.3 软件烧录
4.4 使用说明
4.5 其他
1. 项目说明
1.1 项目简介
光源为柔性灯丝,主控为ESP32的小夜灯。
1.2 项目功能
1)按键切换呼吸灯和常亮模式;
2)常亮模式下顺时针扭动小夜灯提高亮度,逆时针扭动小夜灯降低亮度;
3)监测电池电压,低电量打开LED指示灯、控制ESP32睡眠并关闭灯丝;
4)连接WIFI,通过网页查看电量、控制亮度、切换呼吸灯和常亮模式。

Web界面
1.3 实物图


具体功能见演示视频
2. 硬件说明
2.1 硬件功能
1)Type-C接口,包括USB转TTL、ESD防护、过流保护;
2)电源管理,包括DC-DC、电池电压监测、锂电池充电电路、充电分流;
3)ESP32主控,包括自动下载电路;
4)MPU6050加速度传感器;
5)柔性灯丝,由MOS管控制;
6)一个自定义按键、一个LED。
2.2 硬件图示

2.3 引脚定义
MPU6050:SCL=GPIO22,SDA= GPIO23;
柔性灯丝:GPIO4;
按键:GPIO25;
LED指示灯:GPIO32;
电压监测(ADC):GPIO35。
3. 软件说明
3.1 上电流程图

3.2 代码简单说明
3.2.1文件说明
代码使用Micropython编写,包括三个文件电压boot.py、esp32_code.py、microWebSrv.py。其中,esp32_code.py和microWebSrv.py可被mpy-cross工具链生成esp32_code.mpy和microWebSrv.mpy文件加快运行速度。
Micropython上电默认执行boot.py。
microWebSrv.py是一个Web服务器,详见:https://github.com/jczic/MicroWebSrv/。
esp32_code.py是项目主程序。
3.2.2 esp32_code.py说明
可调整设置

代码中,按键由按键中断控制,MPU6050数据读取、呼吸灯闪烁、电池电压监测由Timer定时器控制。代码主要由MPU6050类,Power类、各个回调函数和中断函数构成,不难理解。
3.3 MPU6050数据简单处理
图中Z方向的角加速度即需要的数据,可以通过Z方向角加速度判断有没有扭动小夜灯。

代码中,通过Timer定时器每隔100ms读取五组MPU6050的Z方向角加速度并取均值(耗时4ms)。获得的数据如图所示。

代码采用最简单的处理方式,如果0.3秒内没有调整亮度,且该次加速度值超过限值(例如:2000),则根据加速度正负值加减亮度,测试效果良好。
4. 设计注意事项
4.1 BOM

4.2 组装
1)将沉孔磁铁拧到顶盖上。

2)首先将灯丝穿过底盖打印件(先做!!!!),然后用灯丝磁铁固定,将钢珠固定在灯丝上。

3)剪短灯丝电源线至合适长度,有条件的话压个xh2.54端子,或焊到焊盘上,注意正负极,电池粘贴固定在图中位置。

5)使用铜柱和螺丝固定PCB和底座。

6)顶盖和底盖扣到高硼硅玻璃管上,完工。

4.3 软件烧录
首先使用乐鑫flash_download_tool工具烧录ESP32_GENERIC-20240222-v1.22.2固件。

然后使用MicroPython File Uploader工具连接串口后依次上传boot.py、esp32_code.mpy、microWebSrv.mpy(.py和.mpy均可,但mpy文件小,运行速度快)。

PS:mpy文件生成方法
1)首先pip install mpy-cross 安装工具链
2)cmd切换到文件目录后执行 mpy-cross -march=xtensawin xxx.py
4.4 使用说明

可以调整esp32_code.py中的这几行,设置wifi等。
按住按键再拨动开关,并持续3~4s左右连接WIFI,打开Web服务(IP地址可以通过连接串口查看或进入路由器后台查看)
直接拨动开关则不打开Web服务。
4.5 其他
本人并非电子类或计算机相关专业,代码和硬件仅能完成所需功能,欢迎指正,但请大佬们轻喷!
本人不对因复刻本项目造成的任何事故负责!
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论