当前位置:首页Arduino > 正文

Arduino上使用IR远程发送器和接收器

作者:野牛程序员:2023-08-10 16:59:23Arduino阅读 3319

在Arduino上同时使用红外发射器(IR Transmitter)和红外接收器(IR Receiver)可以实现红外通信,例如遥控器、红外数据传输等。下面是使用红外发射器和接收器的基本步骤:

材料准备:

  1. Arduino板

  2. 红外发射器模块(例如,KY-005)

  3. 红外接收器模块(例如,KY-022)

  4. 红外遥控器(用于测试发送和接收)

  5. 杜邦线

步骤:

  1. 连接硬件:

    • 将红外发射器的信号引脚连接到Arduino的一个数字引脚(例如D3)。

    • 将红外接收器的OUT引脚连接到Arduino的一个数字引脚(例如D2)。

    • 将红外接收器的GND引脚连接到Arduino的地(GND)引脚。

    • 将红外接收器的VCC引脚连接到Arduino的5V引脚。

  2. 下载并安装IRremote库:在Arduino IDE中,打开"工具" > "管理库",搜索并安装"IRremote"库。

  3. 发送红外信号:下面是一个示例代码,用于通过红外发射器发送红外信号:

#include <IRremote.h>

const int IR_LED_PIN = 3;  // 红外发射器连接的引脚
IRsend irsend;

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Sending IR signal");
  irsend.sendNEC(0xFFA25D, 32);  // 发送一个红外信号(使用NEC协议)
  delay(1000);  // 等待1秒
}
  1. 接收红外信号:下面是一个示例代码,用于通过红外接收器接收红外信号并显示其值:

#include <IRremote.h>

const int RECV_PIN = 2;  // 红外接收器连接的引脚

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();  // 启用红外接收
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);  // 打印接收到的红外信号的值(16进制)
    irrecv.resume();  // 继续等待下一个信号
  }
}
  1. 上传代码:分别将发送和接收的代码上传到Arduino板上。

  2. 测试:

    • 确保发送器和接收器之间的距离不要太远,通常在几厘米到几十厘米之间。

    • 使用红外遥控器按下一个按钮,你应该在串口监视器中看到接收到的红外信号的值。

这个过程演示了如何在Arduino上使用红外发射器和接收器进行基本的红外通信。可以根据需要扩展这个示例,实现更复杂的功能,比如使用不同的红外协议、识别不同的红外遥控器按钮等。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击