Arduino上で赤外線リモコンなどの信号送受信をコントロールするIRremoteというライブラリが公開されている。
先人の記事を参考にして、テレビのリモコンの赤外信号を受信→シリアルモニタに受信した信号の情報を表示するスケッチを書いたが、どんなリモコンのボタンでも0xFFFFFFFFで返ってきてしまう。
この問題はライブラリのIRremote2.xから3.xに変わり仕様が変更となったことが原因のようだ。
IRRemote4.2を使用して、赤外線受信したシグナルを、Arduinoのシリアルモニタに表示するスケッチを書いてみたら問題なく受信ができた。
arduino.c
include <IRremote.h>
int receiverPin = 2; //赤外線受信するPinを2番に設定
IRrecv receiver(receiverPin);
decode_results results;
void setup() {
Serial.begin(9600);
IrReceiver.begin(receiverPin,ENABLE_LED_FEEDBACK);
void loop() {
if(IrReceiver.decode() ) {
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
IrReceiver.printIRResultShort(&Serial);
IrReceiver.resume();
}
}
【参考】
https://www.reddit.com/r/arduino/comments/11sub8n/irremote_only_returns_ffffffff_value/?rdt=42930