我正在试着做一个简单的程序,可以接收红外线代码,同时发送另一个红外线代码,当我按下一个按钮。
我的问题是:红外线接收器只有在我按下按钮之前才能工作。如果我按下按钮,“第一个if-line”就不再起作用了。
#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);
}
}发布于 2018-03-20 00:38:48
发送和红外线信息后,再次启用红外线接收器:
else if (digitalRead(9) == LOW) {
irsend.sendNEC(0x20DF8679, 32); //LEDIG
Serial.println("LEDIG knapp");
digitalWrite(9, HIGH);
delay(400);
irrecv.enableIRIn();
}https://stackoverflow.com/questions/35874352
复制相似问题