既存の赤外線リモコンの1つのキーの信号を記録して再生する学習リモコンを作成した。
起動すると、D2が点滅するアイドル状態になる。
モード設定用DIPスイッチの1をONにすると記録モードになり、実行スイッチを押すとD3が点灯して赤外線リモコンの信号待ち状態になる。
赤外線リモコン受信モジュールの前でリモコンのボタンを押すと記録される。
正常に記録されるとD4が点灯し、D2が点滅するアイドル状態に戻る。
モード設定用DICスイッチの1をOFFにすると再生モードになって、実行スイッチを押すと学習した信号を赤外線LEDに出力し、D2が点滅するアイドル状態に戻る。
動画ではまだD3〜D6が付いてない。
Note:
記録について
記録モードでは、タイマーで10μs毎に16ビットでカウントアップして、赤外線リモコン受信モジュールの変化するたびにそのカウントを配列に保存&0クリアして、タイミングを記録していた。でも、そうするとPIC16F1938でも1つしか記録できない。
8ビットで記録できるようにタイマーの間隔を40μsにしたけど、それでも問題無かったので8ビット化した。
再生について
記録したタイミングからフォーマットを解析して受信したデータまで求めたけど、再生する際にタイミングがシビアなのか機器が認識しなかった。
なので、タイミングデータだけで再生したら認識されたので、タイミングデータだけから再生することにした。(それでも認識率はあまり高くなかった。次の記事で赤外線LEDをトランジスタ経由で点滅させたら格段に認識率が上がった。)