电子说
简介
红外遥控器是一种基于视线的无线通信设备,可与红外接收器协同工作。您可以在几乎所有主要电子设备中找到红外遥控器和相应的红外接收器,如电视,空调,电视盒,音频播放器等等。
这个主要问题设置是每个设备都有自己的红外遥控器,你拥有的设备数量越多,遥控器堆就越大。
如果你有一个遥控器怎么办?控制,如果不是所有大部分电器,可以控制?这个概念被称为通用遥控器,它已经在市场上存在。
为制造商和业余爱好者带来相同的概念,使用Arduino的DIY通用遥控器在此开发项目。使用Arduino构建自己的通用遥控器的原因可以简单到用自己动手构建实际应用程序的满意度,或者可以绕过市场上已有的通用遥控器的成本。
使用Arduino的Universal Remote背后的原理
实现基于Arduino的通用遥控器的主要原则是非常简单。首先,使用电视等任何设备的现有遥控器,IR信号被解码。
这些决定的信号然后在最终应用中用于发射相应的红外线使用IR发射器LED的信号。
使用Arduino解码IR信号
第一个逻辑步骤是解码来自现有遥控器的所有红外信号。我有索尼电视和Voltas AC。使用这两个遥控器,我已经解码了电源,音量增大,音量减小,上一个,下一个,电视和电源,温度上升,温度下降,摆动,风扇,涡轮增压的基本按钮。
在继续这个之前,我建议你完成这个名为“ Arduino IR Receiver Tutorial ”的简单项目,在那里我讨论了设置的所有重要方面带有Arduino的IR接收器并对信号进行解码。
电路
目前,用于解码电视的电路图和AC Remote键如下所示,我使用了Arduino Nano和TSOP1740 IR接收器。
代码
下面给出了解码IR信号的代码。
所有解码后的信号都会出现在串口窗口。记下所有已解码的值。
注意:此项目中使用名为“IRremote”的特殊库。您可以使用Arduino IDE的库管理器直接安装它,并通过shirriff搜索IRremote或下载此 GitHub页面的zip文件。
使用Arduino的通用遥控器电路
现在我们已经解码了原始遥控器的所有必要信号,现在我们可以继续实现通用遥控器的实际构建使用Arduino。电路图如下所示。
组件
Arduino Nano
红外LED
按钮x 8
CR2032电池x 2
CR2032电池座x 2
RGB LED x 1
10KΩ电阻x 2
连接线
Perf板
母头条(适用于Arduino Nano)
电路设计
首先,IR Led连接到数字IO引脚3.然后按钮连接如下:
按钮 Arduino数字IO引脚
权力4
模式5
向上6
向下7
左8
右9
选择10
此外,还有一个唤醒按钮连接到数字IO引脚2.数字IO引脚使用10KΩ电阻下拉,而所有其他按钮引脚内部上拉。所有按钮的另一端(唤醒按钮除外)都连接到GND。 Wakeup按钮的另一端连接到VCC。
RGB LED用于指示所选的设备。这里使用的RGB LED有一个共阳极端子,通过10KΩ电阻连接到VCC。 LED的R,G和B端分别连接到引脚11,12和13.
整个系统由几个串联的CR2032 3V锂电池供电。
代码
以下是使用Arduino的应用程序Universal Remote的代码。从以前收集的值中,将相应的值放在代码中为TC和AC提供的相应数组中。
这些数组名为tv_onoff [],tv_volup [],tv_voldown [],tv_prev [],tv_next [],tv_source []用于电视相关数据,ac_onoff [],ac_tempup [],ac_tempdown [],ac_swing [],ac_fan [],ac_turbo []用于AC。
注意:一个名为“LowPower”的附加库用于在预设时间后让Arduino进入休眠状态以节省电池电量。从此 GitHub页面下载此库。
工作
插入解码后的值并将代码上传到Arduino Nano后,即可开始将该应用程序用作通用遥控器。首先,按模式按钮选择设备。我为电视分配了红色LED,为AC分配了绿色LED。
因此,按模式按钮可以选择在电视和AC之间,Led充当视觉指示器。设置模式后,您可以将遥控器用于该特定设备。如果在10秒内未按任何键,LowPower库将启动并使Arduino进入休眠状态。
使用唤醒按钮唤醒Arduino。
结论
这里设计了一个简单但非常有用的DIY项目,名为使用Arduino Nano的通用遥控器。使用此应用程序,您可以借助一个遥控器控制多个电子设备。
全部0条评论
快来发表一下你的评论吧 !