OBONO’s Diary

へっぽこプログラマの戯言

Arduboy 赤外線リモコン

今から二年前、赤外線リモコン信号の送受信に興味を持ち、いろいろ試して遊んだ際に、家にあった照明やらテレビやらのリモコンの信号を一通り解析していたんだよね。その時に集めたデータを使って、いつか面白いことやりたいな…とずーっと思っていた。

その半年後、自宅で常時稼働中のラズパイからエアコンを HTTP リクエストで制御する――というのをやろうとしたのだが、自分の組んだ回路がイマイチなのか、距離的にもともと厳しかったのか、どうしてもエアコンまで信号が届かない。仕方が無いので、代替案として ESP-WROOM-02 と送信回路をエアコンの真下に置くことで、どうにかそれっぽいことを実現した。

エアコンを制御できるようになったのはそれとして、他のリモコン操作できる機器を一台のデバイスから制御するのを実現するのに一番手っ取り早い方法は何かな~と考え続けて一年半。最終的に辿り着いた答えは、拡張カートリッジを挿せるように改造した Arduboy を利用する方法。
自分の中では Arduboy はオワコンだったのだが、一方で、せっかく改造したのに FlashCart を挿しただけで終わらせてしまうのは何とも忍びないという思いもあったので、意を決して拡張回路を組んでみた。

あとは、Arduino による赤外線リモコンの制御で広く利用されている IRremote ライブラリを使えばサクッと実現できる…と思いきや、

  • アイリスオーヤマ製照明、プラマイゼロ製扇風機の信号プロトコルは、ライブラリでは非対応
  • パナソニック製品照明の信号が、48 ビットではなく 40 ビットで、これまたライブラリでは非対応
  • ソニー規格の信号で 20 ビットのものが認識率が悪い (これは最新のバージョンでは解決してる)

といった課題があったため、ライブラリの中身を読み解きながら追加実装をする羽目に。あーメンドクセ。
いろいろあったけど、最終的にやりたい事は一通り実現できたので、とりあえずソースコード諸々を GitHub に公開しておいた。興味がある奇特な方は参考されたし。


久々に Arduboy を触ったせいか、自分の中の Arduboy 熱がまた再燃しつつある。ちょっと前に IchigoJam でモールス信号を扱うプログラムが公開されたので、それに触発されてモールス信号に絡んだ何かを作るかもしれない。
ただ、既に Morse Course Sandbox なんてのも公開されているので、そこまでモチベーションは高くないし、このまま立ち消えになるかもね。