在某电商平台闲逛,发现有这样一款 LED 灯,通过感应手势进行控制。
控制过程见以下三张 gif 动图。
1、亮灯状态下,快速扫过即灭灯。
2、灭灯状态下,快速扫过即亮灯。
3、开关键(识别感应区)下停顿 2 秒,切换一次光色。支持白光、暖光、自然光共三种光色。
靠什么感应的?答案是红外线。
开关键(识别感应区)其实就是一组红外对管,一个管发射,一个管接收。
侧面还有实体开关,用来切换功能模式。以及一个 USB 口,用来给灯供电。
整体功能梳理
梳理一下这款灯的功能,倒不复杂。
总结如下:
1、红外对管实现手势感应,可以开灯、关灯,并支持三种光色切换。
2、供电使用 USB 电源 5V,从 USB 口接入。
3、有实体按键,分三挡,对应三种模式:
①“OFF 关闭模式”,强制关灯。
②“ON 常亮模式”,强制开灯。
③“AUTO 感应模式”,启用红外对管手势感应进行控制。
思考
作为一名电子工程师,尤其是电子爱好者,会禁不住去想:“这个产品的功能是怎样实现的?”
然后快速在脑海中尝试设想出一个解决方案。
其实在掌握了基础的电子电路后,设计电路就是搭积木而已。
不仅电路解决方案是呼之欲出,各种奇思妙想,更是犹如滔滔江水连绵不绝,又如黄河泛滥一发不可收拾~
开始设计
这次的设计,用到两个基础电路,可以看下这两个图:
1、三色调光 LED 电路
2、红外线靠近检测电路
然后把上面文章中讲过的电路拼一拼,搭一搭,解决方案就出来啦!
解决方案分析
1、灯的主控部分
MCU 单片机的 GPIO1、GPIO2、GPIO3 配置为输入,并使能启用内部上拉电阻,以检测拨动开关 SW1 拨到哪个模式。
2、红外对管手势部分
红外对管检测到的信号,通过电压比较器 U2 的 1 脚输出到 MCU 单片机的 GPIO4。
GPIO4 要配置为输入,并使能启用内部上拉电阻,平时 GPIO4 为高电平。当 GPIO4 检测到低电平时,说明红外对管在检测距离内被遮挡。
被遮挡的时间就是低电平的时间,MCU 单片机根据低电平的时间来决定是执行开机、关机,还是切换光色。
可以调节滑动变阻器 R3 来调整检测距离的远近。
3、电源部分,通过 USB 接口 CN1 输入+5V 供电。
另外,在“积木”搭建过程中,需根据情况重新调整滤波电容的位置和数量:
①USB 接口习惯性使用 10uF + 0.1uF 的电容组合。
②MCU 单片机仅使用 1 颗 0.1uF 电容去耦。
③电压比较器也仅使用 1 颗 0.1uF 电容去耦。
电容的数量和分布还要具体根据 layout 布线情况进行调整,以最终实物调试的效果为准。
很多学生不关注滤波电容的使用,要么直接不用,要么随意用很多,是错误的。不用会导致电源噪声大,系统不稳定;用太多不见得性能就好,可能会引起其他问题,且最直接地造成成本上升,cost down 是硬件工程师必备的技能。
实践验证
实践是检验真理的唯一标准,电路图设计出来后,还要实际做出实物来调试验证。
如果只是想把功能实现,用来自娱自乐,或者参加电子大赛,那么电路方案只要经过调试验证就差不多了。
如果想把电路方案产品化,那么必须研究同类产品,确保自己的方案是最优的。很有可能自己只是实现了功能,但是却采用了技术复杂、成本昂贵的方案。
文章通过设计一款通过红外对管进行手势识别控制的 LED 灯,说明积累了各种基础电路后,设计电路就像搭积木一样,非常简单。
不过这也是一门讲究经验的学问,老工程师就比较吃香。大家还有什么好的想法或建议,欢迎交流!
最后,关于电路的学习,希望大家,enjoy!喜欢请点赞并转发支持我们,您的转发就是我们继续创作的最佳动力,谢谢大家!