22232| 21
|
[项目] 用PAJ7620U2手势识别传感器做一个万能手势遥控板 |
场景一: 在家里看电视,吹空调似乎离不开遥控器; 但是有时候我们的手并不方便去按遥控板,比如吃零食(我最爱的薯片,辣条哈哈哈)的时候,手上沾了很多油,此时去按遥控板并不方便,可能你会说你从来不吃垃圾食品,哈哈,但是你总会吃水果吧,吃水果的时候手上全是黏黏的果汁,此时也不方便去按遥控板;哈哈,实不相瞒,我吃货一枚,又特爱边吃零食边看电视,嗯,得想个办法解决一下这个问题。 场景二: 在家看电视的时候,家里的弟弟妹妹老喜欢霸占着家里的遥控板,整天循环放着《小猪佩奇》,实在是有点可恶,让我看不了想看的电视剧,于是我就在想能不能自己做一个万能遥控板,可以控制家里的电视机呢? 说干就干,查了一翻资料,看到了DFRobot的手势传感器,灵感一来,就搞了一个万能手势遥控板,解决了上面俩个场景的需求。 这个遥控器可以做到通过手势对电器设备进行控制,并且包含了自定义功能,所以理论上是可控制可以用红外遥控器控制的一切电器;再也不用担心家里的遥控板被弟弟妹妹霸占了,哈哈。我们直接来看效果,很震撼有木有有木有有木有!!! 想要制作这个厉害玩意儿,需要这些材料(一样一份就够啦): 1. PAJ7620U2手势识别传感器 SEN0315 2. Beetle控制器 DFR0282 3. 数字红外接收模块 DFR0094 4. 数字红外信号发射模块 DFR0095 5. 3.7V可充电锂电池 FIT0120 6. 锂电池充电器 DFR0208 7. OLED-2864显示屏 DFR0650 8.单芯优质杜邦线 FIT0030 上面所有宝贝在DF商城都可以购买https://www.dfrobot.com.cn/index.php 原料收集完成后便开始制作啦 遥控器工作原理: 利用手势传感器可识别多种手势的特点,在每次识别特定的手势的时候让红外发送模块发送特定的编码(PS:需要操控进入学习设置模式,存储相应的遥控器编码到beetle的EEPROM)去操控电器。 Part 1 :硬件兵马未动,粮草先行;工欲善其事必先利其器....差点忍不住啦,回归正题,第一步笔者完成的是硬件连接。下面是硬件连接原理图: 上面大多设备都有成熟的连接头,不用手动去焊,真实手残党的福音啊,我之所以这么激动毕竟手残党十八年了;但是这次为了追求遥控器的“激薄”,我早已下定决心全部焊接来减少接头占用的空间; 多么壮志凌云啊,然而结果是焊的实属太丑了,就不放图误导大家了哈哈。 Part 2:软件和程序 代码显然是不可缺少的,用的是ArduinoIDE1.8.9作主软件;如果你还没有Arduino可以到(https://www.arduino.cc/en/Main/Software)下载的,按照提示安装就可以了,草鸡简单呢; 感觉很简单,其实调程序的苦,只有自己知道啊啊啊啊啊!所以为了想要跟着做一个的小伙伴,我把程序源代码和需要安装的库都放下面安装包了,唾手可得,很贴心有木有。 重大福利来啦来啦来啦,代码就在下面的压缩包Gesture sensor.zip里。 将安装好库文件和上传.ino到硬件就可以开始表演啦; 现在对挥手传感器进行挥手操作,就可以看到窗口信息可以显示操作的手势啦。如下图所示: 当然如果没有连接电脑没关系,OLED屏幕也可以显示对应的动作,不过持续显示时间有点短; 图中code的值就是发射的红外编码,用来遥控设备;gesture为对应的手势描述; 款传感器设定了9个姿势,分别是: Up 向上挥手(沿发射器前方) Down 向下挥手 Right 向右挥手 Left 向左挥手 Forward 从远处靠近传感器挥手 Backward 从近处远离传感器挥手 Clockwise顺时针挥手 AntiClockwise逆时针挥手 Wave 快速挥手(一定要快) 如果动作识别到,会有蓝色灯闪亮,具体的操作还是要结合窗口的结果实践,相信聪明的你很快你就可以学会啦。 PS:如果发现动作发现没有被识别,是因为代码采用了十秒休眠模式,即如果十秒没进行任何操作,将锁定;执行“Forward”手势即可恢复工作状态 有人肯定会问那么我们红外接收是用来干什么的呢?? 不同电视机代码不一样还可以操作吗?? 只能用来控制电视吗?? 可以做到万能遥控器的功能吗?? 是的,没错,这款遥控器是可以控制所有利用红外接收原理的电器设备的。哈哈,是不是不光不用担心弟弟妹妹霸占电视机遥控板,而且还能把家里所有的有遥控功能的电器都为我所掌控。有了它,家里小霸王就是我了哈哈哈。 只要在工作状态做出Wave动作后,便开始进入万能模式设定状态;屏幕会显示这样的信息: 说明此时遥控器正在接守向上手势信号,你只需要拿原遥控器对准挥手遥控器,定义上手势对应的按键即可;定义成功后屏幕上会有红外编码显示,紧接着定义下一个姿势,以此类推;一共八个按键定义完成后就生效啦。到这里遥控器手势就有了新的按键对应,例如之前我的向上手势是光标上移,现在我就换成了音量+; Part 3:外壳设计 有一个重头戏来啦,因为之前花费了不少精力,所以外形设计就必要。在最初的设计构思阶段;后来偶然的机会来皮筏艇上找到了灵感,因为这款遥控器操作比较自由,并且可以自定义功能去控制很多设备,就像皮筏艇在汪洋中一般,原谅我强行解释一波哈哈哈哈哈哈哈。 说干就干,开始了草图绘制,最终在众多方案中选择了这个造型。 紧接着开始了尺寸设定,因为我理想中的是特别薄,极具科技感的,所以我想出了“激薄”的理念,因为不是专业的结构设计,只是大致设定了尺寸,最核心的就是薄,大部分地方都只有9mm厚,是不是很惊讶,毕竟还是个万能遥控器耶,居然只有9mm;经过建模操作后,使用自家的3D打印机打出来效果还是可以接受的。实物图如下: 当然到这里很多有的宝宝会问这个模型有没有源文件,当然是会有的;下面的模型压缩包里,分别有模型的3dm格式和stl格式,如果要对尺寸修改呢就要下载3dm格式,如果直接3D打印用STL即可,模型STL共两个文件,分别是上下两部分,都需要打印哦,打印好之后,用热熔胶给每个部件粘上即可。我用的是Rhino建模,一款好用的入门草模软件,有兴趣可以安装试一下。 模型安装包模型安装.zip 把上面三部分合体,铛铛铛,效果图如下: 演示效果视频如下: |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed