【发布时间】:2016-03-08 17:45:46
【问题描述】:
我正在尝试制作一个简单的程序,当我按下按钮时,它可以接收 IR 代码并同时发送另一个 IR 代码。
我的问题是:IR 接收器仅在我按下按钮之前工作。如果我按下按钮,“第一个 if 行”就不再起作用了。
#include <IRremote.h>
IRsend irsend;
int RECV_PIN = 2; //Transmitter pin (input)
IRrecv irrecv(RECV_PIN); //TP-stuff
decode_results results; //TP-stuff
void setup() {
pinMode(9, INPUT); //knapp 6, LEDIG
pinMode(3, OUTPUT); //IRSEND
pinMode(2, INPUT); //tramsmititer pin
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver //TP
}
void loop() {
if (irrecv.decode(&results)) { //Transmitter IR
Serial.println(results.value, HEX); //Transmitter IR
irrecv.resume(); // Receive the next value //Transmitter IR
} else if (digitalRead(9) == LOW) {
irsend.sendNEC(0x20DF8679, 32); //LEDIG
Serial.println("LEDIG knapp");
digitalWrite(9, HIGH);
delay(400);
}
}
【问题讨论】:
-
有人知道如何解决吗?