我有Arduino Mega和一个IR发射LED,我想发送数据“十六进制数据”,我选择使用这个LED,我尝试了IRRemote Library和我已成功使用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
答案 0 :(得分:4)
我已经查看了你所参考的 IRRemote.cpp 库,在头文件中你可以看到每个Arduino板都有一个独特的PWM
引脚,用于传输红外数据所以使用PWM 9
确保它可以使用Arduino Mega