Arduino 驱动红外(IR)接收模块
以下是使用Arduino Uno R3驱动红外(IR)接收模块的详细说明、接线图和代码示例。
所需材料
- Arduino Uno R3
- 红外接收模块(例如红外接收头,例如1838B)
- 面包板和连接线
接线步骤
- 连接红外接收模块:
- 将红外接收模块的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秒
}
代码详解
-
定义引脚:
irReceiverPin
:连接到红外接收模块的输出引脚(例如D2)。
-
初始化:
- 在
setup()
函数中,设置irReceiverPin
引脚为输入,以便读取红外接收模块的状态。 - 启动串口通信以便输出红外接收模块的检测结果。
Serial.begin(9600)
:启动串口通信,波特率为9600。
- 在
-
读取红外接收模块的状态:
- 使用
digitalRead(irReceiverPin)
读取红外接收模块的输出引脚状态。 - 如果检测到红外信号(传感器输出为HIGH),则输出"IR signal detected";否则输出"No IR signal detected"。
- 使用
-
延迟:
delay(1000)
:延迟1秒,以便每隔1秒读取一次红外接收模块的状态。
总结
以上示例展示了如何使用Arduino Uno R3驱动红外接收模块(例如1838B),并通过读取输出引脚的状态来检测是否接收到红外信号。红外接收模块常用于遥控器接收、红外遥控等应用中,可以实现对红外信号的接收和解码。