问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何在Arduino上使用红外遥控器

创作时间:
作者:
@小白创作中心

如何在Arduino上使用红外遥控器

引用
1
来源
1.
https://arduino.nxez.com/2024/06/12/how-to-use-an-ir-remote-on-an-arduino.html

红外遥控技术在日常生活中应用广泛,从电视、空调到各种智能设备,几乎随处可见。本文将详细介绍如何使用Arduino Uno开发板和红外遥控器实现对LED灯的控制,包括红外遥控原理、硬件连接、代码编写及测试方法。

红外遥控原理

红外遥控主要由红外发射和红外接收两部分组成。红外发射和接收的信号其实都是一连串的二进制脉冲码,高低电平按照一定的时间规律变换来传递相应的信息。为了使其在无线传输过程中免受其他信号的干扰,通常都将信号调制在特定的载波频率上(38K红外载波信号),通过红外发射二极管发射出去,而红外接收端则要将信号进行解调处理,还原成二进制脉冲码进行处理。

红外遥控器发射的38K红外载波信号由遥控器里的编码芯片对其进行编码。当按下遥控器按键时,遥控器发出红外载波信号,红外接收器接收到信号,程序对载波信号进行解码,通过数据码的不同来判断按下的是哪个键。

红外遥控库安装

Arduino �要使用红外遥控,需要 IRremote 库文件。文件可以在 Arduino IDE 的库中下载。

在IDE中点击「工具」—「管理库」,查找「IRremote」进行安装。

材料准备

  • Arduino Uno 主板
  • 红外接收器模块
  • 红外遥控器
  • 杜邦线若干

电路连接

红外线接收模块的 + 引脚连接到 Arduino 的 5V 引脚。
红外线接收模块的 – 引脚连接到 Arduino 的 GND 引脚。
红外线接收模块的 S 引脚连接到 Arduino 的数字引脚 11。

编写代码

  1. 打开Arduino IDE软件。
  2. 创建一个新的空白项目。
  3. 在项目中导入IRremote库。点击菜单栏中的“工具”,然后选择“库管理器”。在库管理器中搜索“IRremote”,然后点击“安装”按钮进行安装。
  4. 在项目中编写以下代码:
#include <IRremote.h>
int RECV_PIN = 11;
int LED_PIN = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
 Serial.begin(9600);
 irrecv.enableIRIn(); // 启动红外接收器
 pinMode(LED_PIN, OUTPUT);
 digitalWrite(LED_PIN, HIGH);
}
void loop() {
 if (irrecv.decode(&results)) {
 Serial.println(results.value, HEX);
 if (results.value == 0xFFE01F) // 开灯的红外码值
 {
 digitalWrite(LED_PIN, LOW);
 } else if (results.value == 0xFFA857) // 关灯的红外码值
 {
 digitalWrite(LED_PIN, HIGH);
 }
 irrecv.resume(); // 接收下一个红外信号
 }
 delay(100);
}
  1. 将 Arduino 主板连接到计算机,并上传代码到 Arduino 主板。

测试

  1. 打开串口监视器。
  2. 按下红外遥控器上的不同按键,观察串口监视器中显示的红外码值。
  3. 当按下遥控器上的开灯按键时,Arduino 上的 LED 灯应该亮起。
  4. 当按下遥控器上的关灯按键时,Arduino 上的 LED 灯应该熄灭。

你还可以:
查看系列教程中的其他文章
购买本教程所用到的 Pico 套件
15,466

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号