发作品
专业版

柔性灯丝氛围灯

1.0w
0
0
26
简介:具有柔性灯丝的充电氛围灯。
星火计划2024
开源协议:CC BY-NC-SA 4.0
创建时间:2024-03-13 15:28:01更新时间:2024-05-15 19:26:30

描述

柔性灯丝小夜灯

 

项目属性

本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。

 

目录

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

附件

序号文件名称下载次数
1
效果展示.mp4
135
2
柔性灯丝小夜灯附件.zip
822
克隆工程
添加到专辑
0
0
分享
侵权投诉
工程成员
全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程