arduino 红外遥控器按下开门按键,舵机旋转120度保持红灯闪烁,按下关门按键,舵机旋转至原始位置灯光熄灭的代码
时间: 2023-07-03 19:18:46 浏览: 217
Arduino:使用红外遥控器打开/关闭设备-项目开发
好的,这是你的问题:arduino 红外遥控器按下开门按键,舵机旋转120度保持红灯闪烁,按下关门按键,舵机旋转至原始位置灯光熄灭的代码。以下是示例代码:
```c++
#include <IRremote.h> //红外遥控模块库
#include <Servo.h> //舵机库
const int RECV_PIN = 11; //红外接收器连接的引脚
const int SERVO_PIN = 9; //舵机连接的引脚
IRrecv irrecv(RECV_PIN);
decode_results results;
Servo myservo; //创建舵机对象
int pos = 0; //舵机初始位置
void setup() {
myservo.attach(SERVO_PIN); //舵机连接到引脚9
irrecv.enableIRIn(); //启用红外遥控接收器
pinMode(LED_BUILTIN, OUTPUT); //将板载LED引脚设为输出模式
}
void loop() {
if (irrecv.decode(&results)) { //如果接收到红外信号
if (results.value == 0xFF30CF) { //开门按键的红外编码
digitalWrite(LED_BUILTIN, HIGH); //点亮板载LED
myservo.write(120); //舵机旋转120度
} else if (results.value == 0xFF18E7) { //关门按键的红外编码
digitalWrite(LED_BUILTIN, LOW); //熄灭板载LED
myservo.write(pos); //舵机旋转至原始位置
}
irrecv.resume(); //继续接收红外信号
}
}
```
在代码中,我们使用了 IRremote 库和 Servo 库。首先,我们定义了红外接收器连接的引脚和舵机连接的引脚。然后,在 setup() 函数中,我们启用了红外接收器和将板载 LED 引脚设为输出模式。在 loop() 函数中,我们使用 if 语句判断接收到的红外编码是否为开门按键或关门按键。如果是开门按键,就点亮板载 LED 并让舵机旋转至 120 度;如果是关门按键,就熄灭板载 LED 并让舵机旋转至原始位置。最后,我们使用 irrecv.resume() 继续接收红外信号。
阅读全文