[PR]子育てママさんへ:3年毎に15万円うけとれる保険?


Remocon with PIC

コンピュータ制御学習リモコン
PICer を使って作成した学習リモコンの紹介です。

概要

コンピュータから赤外線を制御するハードウェア(赤外線コントロール モジュール)とそれを制御するソフトウェアからなります。 ハードウェアは赤外線の送信部と受信部、およびRS-232Cの通信部 からなります。ソフトウェアは Windows95 側と PIC 側の2つから構成 されています。Windows95 側はユーザ・インターフェースと複雑なスケ ジュール管理を行い、PIC 側は実際の赤外線送受信を行います(こちらを ファームウェアといいます)。 Windows95 上から、さまざまな電子機器を複雑に操作することができます。 もちろんお手持ちのリモコンを学習する機能も内臓しています。

ブロック図


赤外線信号解析

現在、赤外線信号は電子機器の誤動作を防ぐために、ほぼ規格化されて います。ただし、まだ独自仕様が多いのも事実です。 規格では「リーダ部」、「カスタムコード(会社コード)」、「データ」、 「トレーラ(ストップビット)」からなります。 ちょうどモールス信号のようになっており、信号の長短によって 0, 1 を区別します。なお、信号は通常38KHzで変調されています。 リーダ部分は他の赤外線(太陽光など)を誤認しないためのもので、会社 コードはユニークなものになっています(会社数が多いため実際には 重複しています)。ビットの時間単位は 0.35 - 0.50ms と規定では 幅を持たせてあります。データ数も5バイト以上の可変になっていますが、 5バイトのものが多いようです。 現在まで赤外線信号を解析したところによれば、大きく次の4種類に 分類されます。ほぼすべてのリモコンを網羅していると思います。

赤外線信号の分類

STD系(標準規格)Reader,40Bit Data(負論理),Stop Bit
VCR系 Reader,32Bit Data(負論理),Stop Bit
TV,AV系 Reader,12Bit Data(正論理) 間隔を置いて三回繰り返し
CableTV系未解析

STD系の例(Tは時間単位, 約0.47ms)

Reader 8T 4T ~~~~~~~~____ Data 7 6 8 9 2 8 D 7 2 8 T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T ~_~___~___~___~_~___~___~_~___~_~_~_~___~_~_~___~_~_~___~_~___~_~_~_~___~___~_~___~_~___~___~___~_~_~___~_~___~_~_~_ T 3T 3T 3T T 3T 3T T 3T T T T 3T T T 3T T T 3T T 3T T T T 3T 3T T 3T T 3T 3T 3T T T 3T T 3T T T T Stop T_

VCR系の例(Tは時間単位, 約0.57ms)

Reader 16T 8T ~~~~~~~~~~~~~~~~________ Data 7 6 8 9 2 8 D 7 T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T T ~_~___~___~___~_~___~___~_~___~_~_~_~___~_~_~___~_~_~___~_~___~_~_~_~___~___~_~___~_~___~___~___ T 3T 3T 3T T 3T 3T T 3T T T T 3T T T 3T T T 3T T 3T T T T 3T 3T T 3T T 3T 3T 3T Stop T_

TV,AV系の例(Tは時間単位, 約0.49ms)

Reader 4T T ~~~~_ Data A 8 1 2T T 2T T 2T T T T T T T 2T ~~_~_~~_~_~~_~_~_~_~_~_~_~~_ T T T T T T T T T T T T

ハードウェア

回路図をご覧いただければわかりますが、部品点数が非常に少なくシンプルです。 コントローラには PIC16C84 10MHz を使用します。PIC16F84 でも可能ですが、 コンフィグレーション・ワードが一部異なっていますのでご注意ください。 赤外線LED駆動用に単三電池2本使用(パルス電流680mA)します。 その他はRS-232Cより電源を供給(5V,7mA)します。
赤外線受光部はSONYのモジュールを使用しました。このモジュールは復調された 信号を負論理で出力します。そのため、トランジスタによる反転回路を追加 しています。他の赤外線モジュールでも代用できるでしょう。 赤外線送信部は一般的な赤外線LEDを使いました。できれば指向性のないもの がいいでしょう。様々な電子機器を一度に制御することを考えると無指向性の 方が便利だからです。

RS232C 通信条件

通信速度9600bps
パリティなし
ビット数8
ストップビット1

RS232C 通信ケーブル


回路図


ソフトウェア

Windows95/NT4.0 用ソフトウェア

Windows95/NT4.0 では VisualBasic 4.0 を使用して作成しました。 なんといっても手軽に作成できるのがメリットです。

メニュー説明

メニュー機能
File
  • Save:学習したデータをファイル(remocon.dat)に保存
  • COM:COMポートの選択(デフォルトはCOM2)
  • Quit:終了
Set
  • VCR,AUX,TV,CBL種別ごとにボタンデータを学習
  • ボタン相当のメニューを選択後、お手持ちのリモコンボタンを 赤外線受光部に向けて押して下さい。 正常に認識すると読みとったデータを表示します。 VCR には VCR系, AUX,TV には TV,AV系, CBL には STD系 を割り当てています。
Help
  • About:remoconについて

制御コマンド

ハードウェアの制御には1バイトからなるコマンドを送信することで行います。 赤外線送信を行う場合にはコマンドに続けて数バイトのデータを送信します。 赤外線受信を行う場合にはコマンドを送ると赤外線受信モードになり、 赤外線が受信されると、数バイトのデータを送り返してきます。
分類コマンドデータ
VCR系赤外線送信0x04バイト(送信)
VCR系赤外線受信0x104バイト(受信)
AUX系赤外線送信0x12バイト(送信)
AUX系赤外線受信0x112バイト(受信)
STD系赤外線送信0x25バイト(送信)
STD系赤外線受信0x125バイト(受信)

PIC16C84 用ソフトウェア(ファームウェア)

PIC16C84 のソフトウェアは PICer 用に作成しました。PICer でアセンブルして そのまま PIC に書き込むことができます。 ソフトウェアは細かくモジュール化してあり、 「赤外線送信(38KHz変調を含む)」、「赤外線受信解析」、「RS232C 通信」の いずれかに関わっています。RS232C 通信に関しては Microchip のドキュメント AN555 を参考にさせていただきました。CPU の 10MHz クロックから 9600bps のタイミングを生成していますので、他のクロックでは修正が必要です。また PIC16F84 ではコンフィグレーション・ワードのパワーオンリセット・ビットが PIC16C84 と逆になっていますので、修正が必要です。

あとがき

現在はコンピュータ側でリモコン本体をシミュレートするだけにとどまっていますが、 カレンダーと組み合わせて本格的なスケジュール管理まで行えればと考えています。 コンピュータの便利なユーザインターフェースを使えば、面倒なビデオの録画予約も 簡単になります。ビデオ側の予約機能を使うのではなく、コンピュータ側にスケジュール 管理させてしまい、ビデオに対しては録画命令と停止命令を赤外線を通して指令 するようにします。もともとスケジュール管理はコンピュータの方が得意です。 また、ファームウェアにも改善の余地があります。例えば学習機能では自動的に 赤外線の系統( STD系, VCR系, TV,AV系 CableTV系 )までも判断させたり、 赤外線リピート機能(音量調節などに利用されます)を追加したりすれば、 より便利になります。 みなさまのご意見、ご感想をお聞かせください。
(C)1997 All rights reserved by Einstein.
[PR]三井住友海上きらめき生命:医療保険のご案内と資料請求はこちらから