電子工作:ハードほぼ完成

なんとか動くようになりますた。

http://hayamin.com/upload/080118_221651.jpg

このハードは赤外線信号の受信モジュールと、送信モジュールの2つから構成されていて、それぞれがパラレルポートと接続されている。

送受信ともに、ほとんどのデータ処理はパソコン上で行われるようになっている。受信モジュールは、秋月で買ってきた赤外光受光モジュールの出力をそのままパラレルポートに入力して、パソコン側で信号を解析するソフトウェアを書いた。
送信モジュールは、パルス位置変調に関するパラメタ(パルス幅、データ長など)と、送信するデータをパソコンからPICに転送して、PICはその信号をパルス幅変調して赤外LEDに出力する。

火曜に動いた段階では、パルス位置変調のフォーマットはNECフォーマット決め打ちで、PICのほうにハードコーディングしてあったのだけれど、パルス位置変調の情報はパラメータ化するのが割と簡単だったので、より柔軟性をもたせるためにPICのプログラムを書き直した。これによって、新たなフォーマットでも、パルス幅変調でリーダーコードとデータコードを持つフォーマットであれば、パソコン側から転送するデータを変更するだけで対応できるようになった。

おまけとして、送信するデータコード(NECフォーマットの場合データは正味1バイト)を7セグメントLEDに表示するようにしてみた。7セグメントLEDのためだけにあんまりたくさんIOポートを使いたくないので、PIC16F84Aでデコーダを作って、数ms単位で2つの7セグメントLEDを切り替えながら表示している。