为了方便写作业,他做了个智能灯

嵌入式系统 时间:2024-09-27来源:嘉立创

今天逛开源平台,看到了一个很实用的作品。

——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

关键词: 智能灯 DIY

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版