作者:LR梁锐,整理:晓宇
微信公众号:芯片之家(ID:chiphome-dy)
在某电商平台闲逛,发现有这样一款LED灯,通过感应手势进行控制。
控制过程见以下三张gif动图。
1、亮灯状态下,快速扫过即灭灯。
2、灭灯状态下,快速扫过即亮灯。
3、开关键(识别感应区)下停顿2秒,切换一次光色。支持白光、暖光、自然光共三种光色。
靠什么感应的?答案是红外线。
开关键(识别感应区)其实就是一组红外对管,一个管发射,一个管接收。
侧面还有实体开关,用来切换功能模式。以及一个USB口,用来给灯供电。
整体功能梳理
梳理一下这款灯的功能,倒不复杂。
总结如下:
1、红外对管实现手势感应,可以开灯、关灯,并支持三种光色切换。
2、供电使用USB电源5V,从USB口接入。
3、有实体按键,分三挡,对应三种模式:
①“OFF关闭模式”,强制关灯。
②“ON常亮模式”,强制开灯。
③“AUTO感应模式”,启用红外对管手势感应进行控制。
思考
作为一名电子工程师,尤其是电子爱好者,会禁不住去想:“这个产品的功能是怎样实现的?”
然后快速在脑海中尝试设想出一个解决方案。
其实在掌握了基础的电子电路后,设计电路就是搭积木而已。
不仅电路解决方案是呼之欲出,各种奇思妙想,更是犹如滔滔江水连绵不绝,又如黄河泛滥一发不可收拾~
开始设计
这次的设计,用到两个基础电路,可以看下这两个图:
1、三色调光LED电路
某电商平台卖爆了的LED台灯,老梁带你分析三色调光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!喜欢请点赞并转发支持我们,您的转发就是我们继续创作的最佳动力,谢谢大家!
推荐阅读
▼