arduino红外遥控电风扇
时间: 2023-12-20 20:05:17 浏览: 302
红外遥控风扇
使用Arduino和红外遥控器可以很容易地控制电风扇的开关。以下是实现此操作的步骤:
1.连接硬件组件:
- 将双通道SPDT继电器的VCC引脚连接到Arduino的5V引脚,GND引脚连接到Arduino的GND引脚。
- 将继电器的IN1引脚连接到Arduino的数字引脚2,IN2引脚连接到数字引脚3。
- 将红外接收器的VCC引脚连接到Arduino的5V引脚,GND引脚连接到Arduino的GND引脚,OUT引脚连接到数字引脚11。
- 将Hi-Link HLK-PM01的AC输入连接到电源插座,DC输出连接到电风扇的电源输入。
2.下载并安装IRremote库:
- 打开Arduino IDE,选择“工具”>“管理库”。
- 搜索“IRremote”,然后选择最新版本并单击“安装”。
3.编写代码:
- 导入IRremote库并定义红外接收器引脚。
- 定义继电器引脚。
- 在setup()函数中初始化串口和红外接收器。
- 在loop()函数中使用irrecv.decode()函数检测红外遥控器的信号,并使用if语句判断接收到的信号是否与预定义的信号匹配。
- 如果匹配,则使用digitalWrite()函数控制继电器开关电风扇。
以下是示例代码:
```arduino
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
int relay1 = 2;
int relay2 = 3;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
irrecv.resume();
if (results.value == 0xFF6897) // 红外遥控器的开关键码
{
digitalWrite(relay1, HIGH); // 打开电风扇
digitalWrite(relay2, LOW);
}
else if (results.value == 0xFF9867) // 红外遥控器的开关键码
{
digitalWrite(relay1, LOW); // 关闭电风扇
digitalWrite(relay2, HIGH);
}
}
}
```
阅读全文