じゃがいもログ

脊髄性筋萎縮症(SMA)1型の息子と生活中

ソニーBDレコーダー用リモコンのエミュレート

以前、Panasonic製テレビのリモコンをArudinoで作りましたが、今度はソニー製BDレコーダー用のリモコン化にも挑戦しました。
jagaimolog.hatenablog.jp

Panasonicリモコンの時と同様に、IR受信センサーを使って、本物リモコンの信号を読み取り、同じ信号を赤外線LEDで発信するようにします。信号の特定はすぐにできたのですが、何度試してもBDレコーダーが反応しない。ネット上をいろいろ調べていたところ、ここを読んでいて、あることが書かれていることにふと気づきました。ソニー製リモコンは、同じ信号を3回続けて出すようになっているとのこと。また、使用しているArduino用IR Remoteライブラリの最新コードを見ると、45msごとに3回送信する、と書かれています。

ということで、IR Remoteライブラリのコードを参考にしつつ、信号発信部分のコードを以下のようにしたら、さっくりBDレコーダー側で信号を認識してくれました。

for (int i = 0; i < 3; i++) {
   unsigned long startMillis = millis();
   irsend.sendSony(signalData, BITSIZE); 
   delay((startMillis + 45000 / 1000) - millis());
}

ソニー製リモコンの信号の仕様については、こちらも参考になりました。
https://www.sbprojects.net/knowledge/ir/sirc.php