Arduino 通过红外遥控器控制LED – 趣讨教

您所在的位置:网站首页 用遥控器控制的灯 Arduino 通过红外遥控器控制LED – 趣讨教

Arduino 通过红外遥控器控制LED – 趣讨教

2024-07-11 01:50| 来源: 网络整理| 查看: 265

释放双眼,带上耳机,听听看~!

在此项目中,您将使用红外(IR)接收器和Arduino通过遥控器控制3个LED。这对于重新使用旧的遥控器或在功能上给遥控器的某些按钮很有用。

Arduino 通过红外遥控器控制LED

该项目分为两个部分:

您将解码遥控器发送的红外信号 您将使用该信息通过Arduino执行任务(控制3个LED)

目录

所需零件

要遵循此项目,您需要以下部分:

Arduino 通过红外遥控器控制LED Arduino UNO 1x面包板 1个遥控器(某宝上面买的两块钱的即可) 1个红外接收器(我将使用TSOP4838) 3个LED 3个220欧姆电阻 杜邦线 红外线(IR)接收器介绍

红外接收器是下图所示的组件。这是TSOP4838。

Arduino 通过红外遥控器控制LED

红外接收器引脚:

第一针:Vout 第二针:GND 第三针:Vcc

当您按遥控器时,它将发送红外调制信号。这些信号包含您的接收器收集的信息。

Arduino 通过红外遥控器控制LED

每个按钮发送特定的信息。因此,我们可以将该信息分配给特定的按钮。

解码红外信号

在项目的此部分中,您需要解码与每个按钮关联的IR信号。

原理图

相应地将IR接收器连接到以下示意图。

Arduino 通过红外遥控器控制LED 代码

要控制IR接收器,您需要  在Arduino IDE中安装IRremote库。

安装IRremote库 看文章最后面下载红外库。您的下载中应该有一个.zip文件夹 解压缩.zip文件夹,您应该得到 IRremote-master 文件夹 重命名您的文件夹 IRremote-master 到 IRremote 将 IRremote 文件夹移至Arduino IDE安装库文件夹 最后,重新打开您的Arduino IDE

将以下代码复制到Arduino IDE,然后将其上传到Arduino开发板。确保选择了正确的板卡和COM端口。

/*  * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv  * An IR detector/demodulator must be connected to the input RECV_PIN.  * Version 0.1 July, 2009  * Copyright 2009 Ken Shirriff  * http://arcfn.com  */

#include 

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver }

void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value } delay(100); }

以9600的波特率打开串行监视器。

Arduino 通过红外遥控器控制LED

在此项目中,您要控制3个LED。选择6个按钮执行以下任务:

LED1 –亮 LED1 –熄灭 LED2 –亮 LED2 –熄灭 LED3 –亮 LED3 –熄灭

例如,按遥控器上的数字1。您应该在串行监视器上看到一个代码。多次按相同的按钮,以确保该按钮具有正确的代码。如果您看到诸如FFFFFFFF之类的东西忽略它,那就是错误的信号。

对其他按钮执行相同的操作。

写下与每个按钮关联的代码,因为稍后您将需要该信息。

Arduino 通过红外遥控器控制LED 建立最终电路

在这一部分中,您将用三个LED构建电路,这三个LED将使用遥控器进行控制。

原理图

请按照以下示意图组装所有零件。

Arduino 通过红外遥控器控制LED 代码

现在,获取您在上一步中捕获的代码。您需要将代码从十六进制转换为十进制。

为此,您可以使用以下网站:  www.binaryhexconverter.com/hex-to-decimal-converter

这是我的其中一个代码的转换示例:

Arduino 通过红外遥控器控制LED

对所有十六进制值重复该过程,然后保存 十进制 值。这些是您需要在下面的代码中替换的代码。

将以下程序下载或复制到Arduino IDE。 在案例行提供的程序中编写您自己的十进制值 ,并将其上载到Arduino板。确保选择了正确的板卡和COM端口。

程序:

示范

最后,您可以使用遥控器上的按钮分别控制每个LED。

Arduino 通过红外遥控器控制LED

红外库IRremote下载:

点击下载红外库



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3