为了方便写作业,他做了个智能灯
今天逛开源平台,看到了一个很实用的作品。
——DIY一个,智能台灯
看完之后,我想,达文西当时想做的,应该就是这样的台灯吧
一、功能/亮点
1.基础功能
人靠近,台灯自动点亮,离开,台灯自动熄灭。
支持手动/手势关闭该功能。
2.手势交互
支持【手势】调节灯光亮度。
支持【手势】开启/关闭番茄钟倒计时。
那么,要如何实现这些功能呢?软硬件如何设计?
二、硬件设计
硬件部分,设计了3块PCB——台灯控制板、灯板、LED驱动板。其中,台灯控制板有3个方案:
1.台灯控制板
方案一:梁山派开发板拓展板
原理图_台灯控制板(梁山派拓展板)
PCB图_台灯控制板(梁山派拓展版)
实物图
方案二:天空星开发板拓展板
原理图_台灯控制板(天空星拓展版)
PCB图_台灯控制板(天空星拓展版)
实物图
方案三:集成板
基于STM32F401RCT6设计
原理图_台灯控制板(集成版)
PCB图_台灯控制板(集成版)
实物图
2.灯板
原理图_灯板_矩形
PCB图_灯板_矩形
3.LED驱动板
原理图_LED驱动板
PCB图_LED驱动板
三、软件说明
集成板主要借助cubemx和rt thread studio对工程进行移植并测试,移植后的软硬件工作正常。
模型训练分为以下内容:
基于RT-Thread操作系统开发分为以下内容:
四、设计原理
最后,来梳理一下智能台灯的设计原理。
如何实现,一靠近,台灯就自动开关灯?
通过在灯杆上上下距离10cm放置两个tof距离传感器来获取两个距离信息,并通过距离差和两个距离传感器的高度落差10cm,即可求解出人体的角度信息。从而在软件层面就有了三个输入数据,即:传感器1数据,传感器2数据,角度数据。
使用这三个输入数据借助ST公司的NanoEdge AI Studio软件的异常检测模式对数据进行模型训练,从而实现人来开灯,人走关灯。
如何实现,手势交互?
借助软件的分类检测模式对数据进行模型训练,从而实现手势控制灯光亮度和开启以及关闭番茄钟灯交互功能。
如何实现,亮度调节?
通过在灯头侧,安装光照度传感器,实时检测桌面光照强度,利用LED驱动板的PWM调光模式,对灯光亮度进行调节,从而形成闭环,控制维持桌面的亮度,在环境亮度变化的时候也不改变。
参考资料
[1]https://oshwhub.com/zz56464123455/lamp-wizard
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码