学習リモコン
RS232C接続(9pinのシリアルポート)で使う学習リモコンです。
名刺ぐらいのサイズです。
となりに置いてあるのは大きさ比較用の単三電池です。
上部に空いている小さい穴がリモコンの受光部です。
これだけで水平のままで3m以上先のリモコンを受信できました。
横にでているのは赤外線LED×4
RS232C接続で、基本的にアダプタ駆動です。
(電池使用の場合は外付けで)
赤外LEDでけっこう大きな電流を取るのでこのようにしています。
リモコンを使ってプレゼンや、簡単なスライドショーなどができるシンプルな自作ソフト。
パワーポイントなどが遠隔で操作できます。
ボタンを押してリモコンを押せば学習。
そのリモコンの信号が割り当てられます。
基本的にターミナルソフトがあれば専用ソフトがなくても操作ができます。
そのためOSへの依存せずに様々な環境で使えます。
接続速度115200bps、データ長8bit
パリティなし、ストップビット1bit、フロー制御なし
R 赤外線信号学習
S 赤外線送信
G 最後に入力された信号を再送信(受信後でも利用可)
B SLEEPモード(ポートオープンのタイミングで復帰)
N 学習の際に信号、またはエラーメッセージ以外を吐かなくする
Y ↑の解除
A 信号タイミング、長さの解析(普段は使う必要なし、下の解析ソフトとも関係ない機能です)
RとAを押した場合、赤外線受信待ちループに入りますが、その間に何かを押された場合は
ループを抜けて初期状態に戻ります。その際のタイプした文字は捨てられます。
信号の解析(というか表示)をする自作ソフト。
これを見ると、会社ごとに統一性が少なく、好き勝手な信号を出してることがわかります。
このハードがシリアルに吐くコードのフォーマットは
AXXXAYYY
というように4文字ごとにON時間の長さ、OFF時間の長さの繰り返しとなっています。
Aで始まり、Pで終わる16進数を後ろに10個分スライドさせた変則的な16進数になっています。
(A→0、F→5、P→15)
それぞれの数値を25.6u秒かけた時間が答えになります。
このソフトの下にあるμ秒というのは、一番左にあるON、またはOFF信号の長さを表しています。
この例では8msも長いスタートビットを出していて、標準規格やTVに多い信号から
大きく外れています。
e電子工房さんのページによるとVCR系に近いということがわかります。
これは僕の部屋にある94年製のVictor製TVです。
携帯電話アクセス用のページ。
温度や、風力などを変えることはほぼないと思うので、
一番シンプルな形にしてみました。
さすがに危ないので認証はかけています。
Report spawn /bin/sh -c /usr/local/bin/minicom -o -z z Welcome to minicom 2.1 OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n Compiled on Jan 24 2004, 19:34:30. Press CTRL-A Z for help on special keys Enter IR Code. END Type Q key. AAPAABBJAABMAAHOAABMAAHNAABMAAHOAABMAAHOAABMAADAAABLAAHOAABMAAHOAABMAAID AABGAADBAAACAAAEAABFAADAAABMAADAAABMAADAAABLAAIGAABEAADHAABFAADBAAADAAADAABF AADBAABKAADEAABIAAIGAABEAAIFAABEAADIAABEAADIAABEAADIAABEAAIGAABEAAIEAABFAAIFAABF AADHAABFAADHAABFAAIEAABFAAIFAABFAAIFAABFAADHAABFAADGAABFAADHAABFAAIFAABFAADHAABF AAIFAABFAADHAABEAAIGAABEAADIAABEAADIAABEAAIFAABEAADIAABEAAIGAABEAADIAABEAAIFAABE AADIAABEAAIGAABEAAIGAABEABCCAABD Sent. Shift sleep mode. cooler |
Runボタンを押すとperlで書いてあるcgiを実行して、このような画面がでます。
いちおうデバッグの意味もこめて、出力はすべて表示しています。
cgiからはExpectを使っているシェルスクリプトを呼んでいて、
実行された場合はメールが届くようになっています。
最後にSleepモードに移行して、終了します。
この構成ではサーバーのCOMポートに学習リモコンがつけてあります。
ターミナルソフトにminicomを使っていますが、
デフォルトではこういう使い方だとカーソルを動かす権限がありません(英語で)と言われて
実行ができません。
minicomのソースコードを書き換えてコンパイルしなおして使っています。
回路図です。
岡田 仁史さん製作のフリーソフトBSchを使用しています。
パスコン、電源部、特にシリアル周りのコンデンサは見やすくするために書いていません。
特に赤外線センサのパスコンは忘れないようしてください。
使っている部品は
PIC 16F648A ×1 280円
RS232CインターフェースIC ADM3202AN ×1 200円
(MAX232互換品ならOK)
赤外線リモコン受信モジュール GP1UD281XK ×1 150円
CRVP1738やTSOP1738でもかまいません
あとは
赤外線LED×4
トランジスタ 2SC1815×4
抵抗 330Ω×4、 51Ω×4
レギュレーター、コンデンサなど細かい部品のみです。
うまくいけばケース代なしで1000円で収まります。
同様のPC接続学習リモコンが1万円弱するのを考えると格安です。
特にローコストを考えるなら、トランジスタは一切省いて、200Ω程度の抵抗で
吸い込みでLEDに電流を流します。
PICは吐き出しより吸い込みのほうが電流を多く扱えます。
330Ωで吸い込み×2で30mAを流した場合でも
部屋の端から端まで届いていました。ただしきっちり受光部に方向を合わせないとダメでした。
回路は回路図にあるとおりありきたりな構成です。
RS232CのCTSがADM3202を通ってRB0につながっているところだけが珍しいかも。
ただポートオープンによる電圧の立下りを検出して、SLEEPから復帰するためのものです。
赤外線の学習はベタデータで行っています。
そのためメモリを多めに使います。
一定周期で、カウントを続けて、赤外線センサからの出力が変わった時点で
カウントを終了し、その値を保存していきます。
それを信号が終わるまで繰り返します。
外付けのRAMなどはないので、内部メモリだけで保存をします。
そのため16F84などの内部メモリが少ないPICでは、同様の方法では
メモリが足らなくて学習ができません。
カウント値の保存は12ビット(1.5バイト)で行っています。
12ビットであふれるような信号は存在しなかったという理由で
メモリ確保のためにこうしています。
(12ビットにあふれたらカウント終了としています)
16F648Aは256バイトのメモリがありますが、
それでもきわどい容量を使います。
PC側でリアルタイムに保存をすればメモリに困ることはないのですが、その方法では
汎用のターミナルソフトでの使用や、これを利用したアプリケーションの開発が難しくなってしまうために
この方法を選択しました。
PDAなどで利用することもあるかもしれないので。
トランジスタを4つも使っているのは、今後LEDを直列に拡張するときのためなので
4.5V以上の入力がとれるなら3直列までいけます。
PIC以外の部品は電源は3V以上であれば動きます。
20MHzで駆動させている16F648Aはスペックシート上では4.5V以上を要求します。
ですが、僕の実験では4Vぐらいでも普通に動作していました。
アダプタ駆動ではない場合の参考にして下さい。
外付けのEEPROMをつければスタンドアローンで
学習リモコンにできますが、
今回は目的が違うので、できるだけ安く、シンプルにまとめました。
動作テストに問題がないようだったので
HEXファイルと、プレゼン用のソフト、波形解析ソフトを公開します。
企業が出してる製品に競合するので公開を自粛します。
希望される方はメールにて対応します。
リモコンの動作実績は
Victor製TV
SANYOの照明
SONYのCSチューナー
CreativeのUSBオーディオ
三菱のエアコン
三菱のチューナー付き液晶モニタ
DACUS(ベトナム製のメーカー不明な14インチTV)
NECのMPEG2キャプチャユニット
NECの液晶プロジェクタ
です。
使えなかったリモコンは今のところ
SONY製のデジタルビデオカメラ用リモコン(信号が長すぎるため)
のみです。
現状では信号の繰り返しがあったとしても一切判断しません。
そのためリモコンのボタンを長押しした場合でも学習不可となります。
できるだけ受光部のすぐ近くで、短くボタンを押して学習させて下さい。
プログラムメモリには多少余裕があるので、
もしかしたらさらに機能を足すかもしれません。
とりあえず現状では
信号が長すぎなければなんでも使えるようです。
参考にさせて頂いたページ
この場を借りてお礼を申し上げます。
RUU's HomePage
http://www.mars.dti.ne.jp/~ogura/index.html
e電子工房
http://einst.hp.infoseek.co.jp/
電子工作の実験室
http://www.picfun.com
趣味の電子回路工作
http://www.hobby-elec.org/
なひたふ新聞
http://www.nahitech.com/nahitafu/index.html
ミキミッキーのおうち
http://hakoten.com/pic/
SPECTRUMの館
http://speana-1.hp.infoseek.co.jp/
(順不同)
いちおうですが注意事項:製作などは自己責任でおこなってください。
このページに記載されている情報をもとに製作された結果、
何らかの事故により損害をうけたとしても、"やまもっち”は一切関知しません。