
交互式智能台灯
简介
交互式智能台灯,人来即亮,人走即灭。环境光照较强时,可自动降低亮度节省功耗,较暗时也可以自动升高亮度。“手势”交互(如调节亮度和番茄钟计时)。
简介:交互式智能台灯,人来即亮,人走即灭。环境光照较强时,可自动降低亮度节省功耗,较暗时也可以自动升高亮度。“手势”交互(如调节亮度和番茄钟计时)。开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
项目说明
在智能化的时代潮流下,台灯作为日常工作学习中的重要工具,但其普遍不支持智能开关灯的特性与智能化的潮流显得格格不入,所以我希望设计出一个能够感知到人体坐下就自动点亮的台灯,并且可以依据识别人体动作的思路,行手势识别控制台灯,再结合光照度传感器控制光照强度,实现不同的光照环境下均可将桌面的光照强度控制在用户设定的亮度。 使用意法半导体的 STM32F4 系列芯片, 借助 RT-Thread Studio 开发环境,基于 RT-Thread 标准版进行开发, 人体动作与手势动作识别通过两个垂直距离为 10cm 的距离传感器获取到两个距离数据以及根据距离数据求解出的角度数据,并利用意法半导体提供的 NanoEdge AI Studio 软件对采集到的数据集进行模型训练并部署 RT-Thread 标准版中,从而实现对人体动作的识别以及手势识别。 光照强度控制采用 PID 算法结合卡尔曼滤波算法实现,OLED 界面绘制借助 U8G2 库完成。
作品总体的思维导图可以访问我在幕布创建的思维导图
https://www.mubu.com/doc/4l4Tz9t34_U
代码开源在gitee//有需要可以自取
开源协议
开源协议: GPL 3.0
(未经作者授权,禁止转载)
项目相关功能
(1) 人走到台灯前方就会自动点亮台灯,离开后自动熄灭。
(2) 通过识别手势动作实现调节灯光亮度和开启或关闭番茄钟倒计时。
(3) 在开灯状态下利用 PID 算法自动调节亮度,维持桌面亮度不随环境的
改变而变化。
(4) 需要关闭自动打开台灯功能时可以使用强制关闭手势关闭自动开关
灯功能,并且能够避免没有强制开启手势的情况下,因为人走到台灯
前方而点亮台灯
项目属性
本项目为首次公开,为本人原创项目。
项目进度
第一阶段 功能验证
硬件
梁山派拓展版完成、分立式LED灯板完成、LED驱动电路板完成
拓展版使用的梁山派在使用rt thread studio时不太方便,所以考虑将梁山派替换为天空星开发板。
分立式灯板验证正常
LED驱动板电路功能正常,但是有个端子画反了
软件
借助RT-thread的软件包生态对作品中使用到的各种传感器进行适配和测试。
第二阶段 功能实现
硬件
天空星拓展版完成、LED驱动板修改完成、3D外壳建模完成
硬件电路验证正常,3D外壳装配正常,但是有些头重脚轻,在底部加入一些配重块即可。
软件
尝试将所有模块同时都整合到系统中规划系统功能,根据当前的实际情况,确定尽力完成以下的功能。
(1) 人走到台灯前方就会自动点亮台灯,离开后自动熄灭。
(2) 通过识别手势动作实现调节灯光亮度和开启或关闭番茄钟倒计时。
(3) 在开灯状态下利用 PID 算法自动调节亮度,维持桌面亮度不随环境的
改变而变化。
(4) 需要关闭自动打开台灯功能时可以使用强制关闭手势关闭自动开关
灯功能,并且能够避免没有强制开启手势的情况下,因为人走到台灯
前方而点亮台灯。
第三阶段 简化硬件
硬件
主要就是针对分立式灯板不美观,且需要排线连接不太方便,所以将其设计为一体的,但是前者满足免费打印尺寸,后者不满足。
天空星加拓展版的高度较高,无法内置于台灯底部的底座中,所以选择绘制一块最小系统板来替代天空星加拓展版,并且选用更加经济的STM32F401RCT6。但是孔位和3D打印外壳刚好错开90°,所以如果想要更加适配则需要更改以下孔位位置,并适当增加孔径
软件
借助cubemx和rt thread studio对工程进行移植并测试,移植后的软硬件工作正常。
设计原理
开关灯
通过在灯杆上上下距离10cm放置两个tof距离传感器来获取两个距离信息,并通过距离差和两个距离传感器的高度落差10cm,即可求解出人体的角度信息。从而在软件层面就有了三个输入数据,即:传感器1数据,传感器2数据,角度数据。
使用这三个输入数据借助ST公司的NanoEdge AI Studio软件的异常检测模式对数据进行模型训练,从而实现人来开灯,人走关灯。
交互
借助软件的分类检测模式对数据进行模型训练,从而实现手势控制灯光亮度和开启以及关闭番茄钟灯交互功能。
亮度调节
通过在灯头侧安装光照度传感器实时检测桌面光照强度利用LED驱动板的PWM调光模式对灯光亮度进行调节,从而形成闭环控制维持桌面的亮度在环境亮度变化的时候也不改变。
软件说明
软件主要分为以下两个部分,模型训练以及使用RT-Thread操作系统开发。
模型训练分为以下内容
基于RT-Thread操作系统开发分为以下内容
实物展示合集
设计图

BOM


评论