PIC12F1822 + IR RC Module 扇風機のリモコン信号の受信
2015年6月14日
2019年4月14日
どうやら、首振り部分の機械的な構造は落ち着いて機能しているようなので、付属のリモコンについて考え始めた。
といっても「PIC16F1823 + Servo Motor + IR RC Module で壊れた扇風機の首振り -リモコン信号の受信テスト-」の続きだ。
扇風機に付属のリモコンでステッピング・モータのコントロールをしたい。
とりあえず、リモコンの信号をPIC12F1822で認識させてみる。
こんな単純なコードになった。
信号のHighの間の時間を計って1ビット毎に取り込む。
Highの継続時間が長ければ1、短ければ0だ。
読み取ったビットの値を記憶させる変数IRbitはもともと0で埋まっているので、1のときだけORを取って該当するビットを1にする。
1にする位置はiでカウントし、1をiの値の分だけ左へビットシフトしたものを用意する。
リモコンの信号は「PIC16F1823 + Servo Motor + IR RC Module で壊れた扇風機の首振り -リモコン信号の受信テスト-」でやったようにちょっと特殊な信号だ。
例えばONボタンを押したときに出る信号は下のようで、
これは、リモコンのカバーを開けて、赤外線LEDの端子に直接オシロスコープ(LHT00SU1※)を当てて取った信号の様子だ。
受信側の赤外線リモコン受信モジュールの出力端子にはサブ・キャリアの成分が除かれた信号が出力される。
これを上のコードで取り込むと、IRbitの値は 0b010000011011 すなわち、0x041B となる。
左右が反転し、右端の0は無視される。
※「LHT00SU1 + PulseView by Zadig of sigrok」
Tweet