友情提示:380元/半年,儿童学编程,就上码丁实验室。
在本篇文章中,我们主要介绍了如何使用Arduino开发板制作一个手势遥控器。本项目采用了APDS-9960 RGB和手势传感器扩展板。通过将手滑过传感器,您可以控制不同的电子设备,例如电脑、微控制器、机器人等。 采用APDS-9960极大方便了连接,并且它采用I2C接口进行通信。您可以将其用作电视的遥控器,像我们一样,但也可以将其用于控制其他使用红外线(IR)的设备。在本文中,我们会依次介绍项目制作的过程,包括电子电路设计、代码、3D打印部件以及组装。
手势遥控器的电路原理图

主要组件
● SparkFun APDS-9960 – RGB和手势传感器
● 红外(IR)LED 950nm
● 红外接收器二极管 – TSOP38238
● 倾斜开关(可选)
● 锂聚合物电池 – 3.7v 1000mAh(3.5cmx5cm)
● USB迷你B电缆
● Arduino Pro Mini 328 – 3.3V / 8MHz

其他次要组件
● 220欧姆电阻
● 晶体管 – NPN BC337
● SparkFun FTDI扩展板
● 面包板
● 跳线
● 原型PCB(3厘米x 7厘米)
硬件
● M2钣金十字螺丝x 8
● 烙铁
● 3D打印机
将这些组件添加到面包板后,我们获得了完整的组件列表,并根据接线说明连接电路。
手势遥控器有四个主要部分:APDS-9960传感器实际上是四个不同的传感器!它可以用作环境光线传感器、RGB传感器、接近传感器,当然也可以用作非接触式手势传感器。
我们还使用红外LED将红外代码传输到电视机。Arduino pro mini 3.3v微控制器控制红外发光二极管和传感器,并且使用3.7伏锂聚合物电池为整个电路供电。

代码
本文使用的代码基于Ken Shirriff针对IR LED的IR遥控库和Sparkfun手势传感器库。


我们合并了这两个基本代码示例,一方面发送IR原始代码,另一方面感测不同的手势。该代码可在Github Repo上获得。确保安装上面的两个库以保证其正常工作。

设置功能
正如你在代码中看到的,我们用不同的手势设置了6个不同的功能:
● 向左或向右挥动,让你在不同的频道之间切换
● 上下挥动控制音量
● 将手靠近传感器可使电视机静音
● 以及将手从传感器上移开即可打开和关闭电视机