M5StickC+赤外線受信モジュールによる赤外線リモコンのデータ解析ツールです。
赤外線リモコン信号の受信と再生、PCへのデータ送信が出来ます。
自分専用の解析ツールにすぎないので信頼性は低いです。
プロジェクトはVisualStudio Code/PlatformIO(Arduino)用です。
本リポジトリはM5StickC用の開発環境が整っている状態を想定しています。
赤外線リモコン信号を受信するためには赤外線リモコン受信モジュールが必要です。
動作電圧3~5V、赤外線950nm、サブキャリア周波数38kHzのモジュールを想定しています。
G26ピンのプルアップ機能を使用していますが、心許ない場合は信号線(図中の青線)に抵抗を付けるなどしてM5StickCが壊れないようにしてください。
以下の図はあくまで「結線例」ですのでモジュールに合わせて配線や部品の追加を行ってください。

[M5]ボタンで受信を開始します。
"please"が表示されたらリモコンが放つ赤外線を受信モジュールに向けた状態でボタンを1回押してください。
受信バッファは(On/Off合わせて)1000個分しかないのでリピート(リモコンのボタンを長押し)は送らないでください。
さしあたりTVなどであれば1000個で十分だと思いますが、拡張したい場合はmain.cpp中のirBufMaxNumを変更してください。
ダイキン社製エアコン用のリモコンでは約650個のデータになりました。
どのメーカーでもエアコン系のリモコンは付加情報や特殊な信号が多いようなのでうまく動作しない可能性が高いです。
本体右側面のボタンを押すと受信したデータを使用して赤外線LEDを発光させます。
M5StickCの赤外線LEDの光は弱くまた指向性が強い(照射範囲が狭い)ため、受信側機器の赤外線受光窓に近づけないと認識してくれない可能性が高いです。
また、本来は赤外線発光時のデューティー比を1/3にするべきですが本アプリでは1/2としているため、許容範囲が狭い受信機では受け付けてくれない可能性があります。
受信したデータをPCに送信出来ます。
1.M5StickCとPCをUSB(シリアル通信)で繋ぐ
2.TeraTermなどを起動して115200bps、パリティー無し、データ8bit、ストップ1bitで接続
3.M5StickCの左ボタン(電源ボタン)を押す(長く押さない)
(例)
datas 199
3525,1711,467,401,473,1270…
datas 199は以降のデータ数です。
データは「赤外線発光時間」と「発光停止時間」のペアが繰り返されています。
3525は3525マイクロ秒間、赤外線を38kHzで明滅させている時間で、次の1711は赤外線を発光させない時間です。
赤外線リモコンデータの基本的な仕様についてはelm-ChaNさんのサイトなどが参考になります。
MIT License
2023.1.29 初版