本帖最后由 Yhue 于 2023-12-19 22:24 编辑
一、前言 前些日子收到了安信可社区送出的Ai-M61-32S 开发板,非常开心,收到了人生中第一块板子。也感谢安信可社区中各种经验贴,对开发板有了一些初步的认识,后续再慢慢学习。
起初有这样一个想法,晚上起夜要是有个自动感应灯就好了,不用太亮,过亮刺眼睛。能够发出柔和的灯光,照亮房间里大致的样子就好了。于是网上下单了几个USB 小灯、几个USB母座。母座不自带针脚,于是自己动手焊上了针脚,光源问题就此解决。 感应人体靠近功能用了人体红外检测探头,可以调节探测的灵敏度和延时,没法固定在面包板上,先朝准要检测的方向。也有小型的,可以插在面包板上,但一直输出高电平,暂时用大型的。 二、硬件准备
1. Ai-M61-32S开发板 2. USB 母口 3. 人体红外传感器/RD-03 4. USB小灯泡一个 5. 面包板 6. 导线若干 7. 电源,这里用充电宝替代,便于放置在任意位置
三、实现 将板子上的5V输出和接地 IO 口接上人体红外传感器,传感器的输出引脚接上 IO0。USB 灯插上母座后可以直接接在面包板上,正极接 IO33,负极接地,线路的连接就完成了。
代码思路上,通过读取 IO0 的输入,如果检测到高电平输入,就亮灯。提供给灯的IO33接口就输出高电平,同时等待3分钟,再熄灭小灯。这个步骤循环往复,一直检测。
实验了一晚,一次正常触发,一次触发延迟,识别成功率不太令人满意。
四、改进 在冬天环境温度如此之低,又穿着厚厚衣服的情况下,红外传感器的人体检测成功率差强人意。正好看到安信可RD-03这款雷达板子,使用雷达主动检测人体,解决了红外传感器的不足之处,不受环境温度影响,抗干扰能力强。于是立马淘来了一块RD-03和一块雷达调试板。 板子还具有相应的可视化工具,可以配置检测距离和目标消失延迟时间,一定程度上可以简化板子的程序逻辑,将亮灯时间长度交给RD-03来处理。 改进后的样子如下,将红外传感器换为RD-03雷达,人体识别率非常高,只要一靠近灯立刻就亮起,IO接口几乎没有改动: 五、后续计划 了解一下板子WIFI的连接方式和MQTT,做个触发次数统计功能,查看有哪些方面需要优化
使用起来很棒,晚上起夜可以再也不抹黑走路了
附上实现代码: |