Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC12F1822 + IR RC Module 扇風機のリモコン信号の受信

どうやら、首振り部分の機械的な構造は落ち着いて機能しているようなので、付属のリモコンについて考え始めた。
といっても「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ボタンを押したときに出る信号は下のようで、
yuasa_fan_ir_on
これは、リモコンのカバーを開けて、赤外線LEDの端子に直接オシロスコープ(LHT00SU1)を当てて取った信号の様子だ。
受信側の赤外線リモコン受信モジュールの出力端子にはサブ・キャリアの成分が除かれた信号が出力される。
yuasa_fan_ir_on_received
これを上のコードで取り込むと、IRbitの値は 0b010000011011 すなわち、0x041B となる。
左右が反転し、右端の0は無視される。

LHT00SU1 + PulseView by Zadig of sigrok

このエントリーをはてなブックマークに追加

Posted under: PIC12F1822, 扇風機の首振り機能復活プロジェクト


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.