|
|
使用Uno 接一个红外遥控接收和发送,思路是接收一个代码后,发出另外一串代码。
问题是每次开机,正确的遥控码接收并发出后,再也不能接收红外遥控码,复位后又可以执行一次;
如果复位后,按其他遥控键都可以接收,程序正常。
请问是不是发送那出来什么问题?
红外发射接在 Pin 3。
#include <IRremote.h>
#include <myCode.h> //TV IRcode
IRsend irsend;
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(3, OUTPUT);
}
void loop() {
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
switch (results.value)
{
case (0xFF30CF) : //1
{
irsend.sendNEC(JD_1, 32); //
delay(100); // 等待0.1秒
irsend.sendNEC(JD_5, 32); //
delay(100); // 等待0.1秒
irsend.sendNEC(JD_0, 32); //
delay(100); // 等待0.1秒
Serial.println("1 received!");
}
default :
;
}
irrecv.resume(); // Receive the next value
}
delay(1000);
} |
|