5

我有Arduino Mega和一个 IR 发射 LED,我想使用这个 LED 发送我选择的数据“十六进制数据”,我尝试了IRRemote 库,我已经成功使用了这个IRrecv类,但是使用时IRsend我没有得到任何信号并尝试通过移动摄像头查看
LED,IR 发射器引脚为PWM 3,并将其连接到3.3V一次和一次连接到5V

#include <IRremote.h>

IRsend irsend;

void setup()
{
  Serial.begin(9600);
}

void loop() {
  if (Serial.read() != -1) {
    for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa90, 12); // Sony TV power code
      delay(40);
    }
  }
}

对于接收器:

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}

任何帮助表示赞赏:) Hiso

4

1 回答 1

4

我查看了您引用的IRRemote.cpp库,在头文件中您可以看到每个 Arduino 板都有一个独特的PWM引脚,用于传输红外数据,因此使用PWM 9它可以确保在 Arduino Mega 上工作

于 2013-09-27T10:54:50.013 回答