【问题标题】:Arduino IR receiver doesn't work after pressed a button按下按钮后 Arduino IR 接收器不工作
【发布时间】: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);

  }
}

【问题讨论】:

  • 有人知道如何解决吗?

标签: arduino infrared


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多