项目简介
使用国产HC32F460设计的一款智能台灯,也可以是桌面小摆件。
可通过蓝牙或串口对台灯进行配置。
灯的开关、亮度、显示模式、显示方向、设备启动时是否亮起等、灯珠的刷新时间等。
模式配置包括三种纯色模式,一个流水灯模式,高达15种自定义模式存储、结合上位机的频谱模式。
可选择OLED屏幕加载GUI,通过按键进行简单的控制。
程序中加入bootloader,可支持蓝牙或串口发送升级包进行程序升级。
Windows上位机,对台灯进行配置、程序升级和电脑输出音频的频谱显示模式。
实验验证机,目前使用的是阿里买的公模,后续考虑设计3D打印外壳。
硬件设计
主要包括HC32F460核心板,按键板,供电板,灯板。
核心板包括CH340串口芯片,M3406-ADJ DCDC芯片作为供电芯片,M24C64用以存储设备配置信息,OLED 128X64 IIC接口预留,可配合按键板做一个简单的GUI操作。
灯板使用了8x16 WS2812b 2020封装灯珠,两个电容对供电进行滤波。
供电板使用ETA6093进行充放电管理。
软件设计
总体使用MDK5结合HC32官方例程,移植UCOS-iii实时操作系统,设计了bootloader支持程序的升级。
蓝牙与串口通讯协议为DLT645协议,重新定义了数据标识用以此项目,协议中支持IAP升级。
bootloader程序不负责接收程序升级包,通讯协议中集成了软件包的升级。
使用SPI+DMA方式驱动WS2812B灯珠,抽象了一层用以管理整128个灯珠,实现XY映射灯珠实际位置,使用XY坐标即可设置灯珠颜色,可通过上位机实现每个灯珠的控制。提供了丰富的设置接口,具体可查看定义的数据标识表。
GUI目前算是半成品,可以进行简单的设置。
上位机
Windows上位机
请注意,串口的配置为115200 8 1 EVEN 偶校验 偶校验 偶校验
使用串口连接台灯,可将电脑输出的音频转换为频谱灯。我的台式好像搜不到BLE蓝牙,所有Windows上位机暂时没做蓝牙连接功能。
自定义模式界面,先选择对应的模式,或者新建一个模式,再选择模式。
注意:新建或者删除后请重新获取一下台灯信息。
双击表格可以设置对应灯珠的颜色。在同步模式下上位机的修改会实时同步到台灯,非同步模式需要在设置完成后点击下发数据。
无论是同步模式还是非同步模式,记得点击保存,不点击保存eeprom中的数据不会被覆盖,切换模式后仍为eeprom中的数据。
频谱灯需要台灯处于自定义模式下,非自定义模式无法显示频谱灯。
程序放在附件可自取。
Android上位机
正在开发中…
有什么建议或者需要源码可以联系我
立创项目传送门
程序还在修改,有需要的小伙伴可以找我。
邮箱:1175020474@qq.com