按下按钮后,Arduino IR接收器不起作用

时间:2016-03-08 17:45:46

标签: arduino infrared

我正在尝试创建一个可以接收IR代码的简单程序,同时在按下按钮时发送另一个IR代码。

我的问题是:红外线接收器只能在我按下按钮之前工作。如果按下按钮,“第一个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);

  }
}

1 个答案:

答案 0 :(得分:0)

发送和IR消息后再次启用IR接收器:

else if (digitalRead(9) == LOW) {
    irsend.sendNEC(0x20DF8679, 32); //LEDIG
    Serial.println("LEDIG knapp");
    digitalWrite(9, HIGH);
    delay(400);
    irrecv.enableIRIn();
}