Arduino 驱动红外(IR)接收模块

以下是使用Arduino Uno R3驱动红外(IR)接收模块的详细说明、接线图和代码示例。

img

所需材料

  • Arduino Uno R3
  • 红外接收模块(例如红外接收头,例如1838B)
  • 面包板和连接线

接线步骤

  1. 连接红外接收模块
    • 将红外接收模块的OUT引脚连接到Arduino Uno的数字引脚(例如D2)。
    • 将红外接收模块的GND引脚连接到Arduino Uno的GND引脚。
    • 将红外接收模块的VCC引脚连接到Arduino Uno的5V引脚。

连接图示

Arduino Uno R3        红外接收模块(例如1838B)
----------------      ------------------------
5V  ---------------->  VCC
GND ---------------->  GND
D2  ---------------->  OUT

示例代码

const int irReceiverPin = 2;  // 红外接收模块的输出引脚连接到D2

void setup() {
  pinMode(irReceiverPin, INPUT);  // 设置红外接收模块的输出引脚为输入
  Serial.begin(9600);             // 启动串口通信
}

void loop() {
  // 读取红外接收模块状态
  int irState = digitalRead(irReceiverPin);

  // 输出红外接收模块状态
  if (irState == HIGH) {
    Serial.println("IR signal detected");
  } else {
    Serial.println("No IR signal detected");
  }

  delay(1000);  // 延迟1秒
}

代码详解

  1. 定义引脚

    • irReceiverPin:连接到红外接收模块的输出引脚(例如D2)。
  2. 初始化

    • setup()函数中,设置irReceiverPin引脚为输入,以便读取红外接收模块的状态。
    • 启动串口通信以便输出红外接收模块的检测结果。
    • Serial.begin(9600):启动串口通信,波特率为9600。
  3. 读取红外接收模块的状态

    • 使用digitalRead(irReceiverPin)读取红外接收模块的输出引脚状态。
    • 如果检测到红外信号(传感器输出为HIGH),则输出"IR signal detected";否则输出"No IR signal detected"。
  4. 延迟

    • delay(1000):延迟1秒,以便每隔1秒读取一次红外接收模块的状态。

总结

以上示例展示了如何使用Arduino Uno R3驱动红外接收模块(例如1838B),并通过读取输出引脚的状态来检测是否接收到红外信号。红外接收模块常用于遥控器接收、红外遥控等应用中,可以实现对红外信号的接收和解码。

posted @ 2024-07-05 10:59  jeikerxiao  阅读(147)  评论(0编辑  收藏  举报