PIC16F84Aで作るAQUOSのリモコンの製作 我が家のテレビはシャープ社製のアクオスなのですが自力で赤外線信号を解析してリモコンが出来ないものかという取り組みです。
PIC16F84Aで作るリモコン解析装置の製作 そのための第一歩としてリモコン解析装置を作ることにします。 赤外線は受信モジュールが安価に売られているのでそれを利用し、PICもPIC16F84Aを使用します。 解析結果の表示はパソコンのハイパーターミナルを利用しパソコンの画面に表示をさせます。 解析の結果をパソコン上で管理することが出来て便利だと思います。 パソコンとの通信はRS232CでUSB変換ケーブルを使用します。秋月電子で扱っている安価な物で結構です。 いろいろネットで調べてみるとリモコンの信号の種類(フォーマット)が数種類あることがわかりました。 シャープ、パナソニックなどは家電協フォーマットと呼ばれる方式のようです。 NEC、東芝、日立などはNECフォーマット、SONYは独自の方式を採用しているようです。 せっかく作るのですから出来ればこの3種類全てが解析出来るプログラムが出来上がるとうれしいですね。 家電協方式とNEC方式はよく似ていますがSONYだけはちょっと違うようなので少し難関がありそうです。 以前にホームセンターで購入した万能リモコンでいろいろなメーカーのデータに設定できるのですが それでも検証する物がないので困ってしまいますが役には立ちそうです。 とりあえずネットで探せるリモコンに関する様々な内容をお勉強して出来たものがこれです。 とても簡単な回路です。 プログラムも本来はあっさりとした物なのですがいろいろな方式に対応させるために複雑になってしまいました。 プログラムを作るに当たってのフォーマットの内容は秋月電子の http://akizukidenshi.com/catalog/g/gK-04174/ にあるフォーマット解説などが役にたちました。ほかにも詳しく説明されているサイトがたくさんありました。 さてさてこんな感じな仕上がりです。 [KDN]とあるのは家電協方式という意味でここではアクオスの電源、選局↑↓、音量↑↓を表しています。 [NEC]方式では東芝のブラウン管テレビの電源、音量↑↓を、[SONY]は万能リモコンをSONY用に設定しての表示です。 H:はリーダー部のオンの時間です。T(0.4mS)X9=3.6mSという意味ですが気温によって8になります。 リモコンの問題なのかこちらの問題なのかは不明です。 次のL:はオフの時間でT(0.4mS)X4=1.6mSです。 その後がデータとなり恐らくメーカー、機種、機能となっているのでしょう。 55とは「01010101」ということです。次の5Aは「01011010」です。 55 5A F1 48 68 8Bは 01010101 01011010 11110001 01001000 01101000 10001011 となります。 これを左から順番で送信していることになります。そして最後にストップ用ビットを出して数10mS休止をしてまた繰り返されます。 パソコン側の表示ソフトはウィンドウズ同梱のハイパーターミナルでも良いのですが いろいろなフリーソフトがありますので好きなソフトを使えば良いと思います。 ここに映っているのはSerister Version 1.2.5というソフトです。 ここからダウンロードできます。 通信の設定内容は速度9600、データビット8、パリティなし、ストップビット1、フロー制御ハードウエア、です。 接続するポートはコントロールパネル>システム>ハードウェア>デバイスマネージャーのポート(COMとLPT)で確認出来ます。 写真の物は電源部分の7805やスイッチ、電源表示LEDなどが追加してあります。 操作方法ですがまずパソコンと接続し電源を入れるとタイトルが表示されます。そしてボタンを押します。 するとLEDが点灯しリモコン信号を待ちます。そこでリモコンを操作するとその結果がパソコンに表示されLEDが消灯します。 家電協、NEC、SONYの切替はトグルスイッチで行います。うまく表示されるところが正解の場所です。 蛍光灯の光が強すぎると誤作動しますので注意が必要です。 ボタン電池CR2032では動作しませんでした。単3電池2個の場合は電圧が2.8Vでも正常に動作しました。 実は実際にリモコンの送信装置を作ってテストは済んでおります。 家電協方式でパナソニックとアクオス、NEC方式で東芝とバッファロー(BSチューナー)が送信成功しています。 SONYも成功しています。 PIC16F84Aで作るリモコン解析装置の回路図、ASM、HEXの詰め合わせ ダウンロード ※家電協方式、NEC方式、SONY方式にに加えて三菱方式を追加した資料は下の方にありますので御利用ください。 この装置で解析させた主なアクオスのデータ [KDN] H:09 L:04 DATA: 55 5A F1 48 68 8B 電源 [KDN] H:09 L:04 DATA: 55 5A F1 48 88 85 選局 UP [KDN] H:09 L:04 DATA: 55 5A F1 48 48 89 選局 DOWN [KDN] H:09 L:04 DATA: 55 5A F1 48 28 8F 音量 UP [KDN] H:09 L:04 DATA: 55 5A F1 48 A8 87 音量 DOWN [KDN] H:09 L:04 DATA: 55 5A F1 48 C8 81 入力切替 [KDN] H:09 L:04 DATA: 55 5A F1 48 91 41 地上D [KDN] H:09 L:04 DATA: 55 5A F1 48 51 4D BS [KDN] H:09 L:04 DATA: 55 5A F1 48 72 4C ch1 [KDN] H:09 L:04 DATA: 55 5A F1 48 F2 44 ch2 [KDN] H:09 L:04 DATA: 55 5A F1 48 0A 43 ch3 [KDN] H:09 L:04 DATA: 55 5A F1 48 8A 4B ch4 [KDN] H:09 L:04 DATA: 55 5A F1 48 4A 47 ch5 [KDN] H:09 L:04 DATA: 55 5A F1 48 CA 4F ch6 [KDN] H:09 L:04 DATA: 55 5A F1 48 2A 41 ch7 [KDN] H:09 L:04 DATA: 55 5A F1 48 AA 49 ch8 [KDN] H:09 L:04 DATA: 55 5A F1 48 6A 45 ch9 [KDN] H:09 L:04 DATA: 55 5A F1 48 EA 4D ch10 [KDN] H:09 L:04 DATA: 55 5A F1 48 1A 42 ch11 [KDN] H:09 L:04 DATA: 55 5A F1 48 9A 4A ch12 [KDN] H:09 L:04 DATA: 55 5A F1 48 06 4F 番組表 [KDN] H:09 L:04 DATA: 55 5A F1 48 27 80 戻る PIC16F84Aで作るAQUOS リモコン (AQUOSだけじゃなくPANASONIC TOSHIBA SONY MITSUBISHIもたぶん大丈夫) さて、いよいよリモコンの製作です。 前の解析装置で家電協、NEC、SONYと3種類が解析出来ましたので リモコンも3種類に対応する設計にしました。 リモコンの設定はプログラムの内容を変更して行いますのでMPLAB-IDEの扱いが出来て PICへの書込みが出来る環境のある人に限ってしまいますのでご了承ください。 下はプログラム方法です。 [KDN] H:09 L:04 DATA: 55 5A F1 48 68 8B 00 00 これは解析装置で得られたアクオスの「電源」のデータです。 これをリモコンのプログラムのMAIN0〜MAIN7の任意の場所に書込みます。 [KDN] H:09 L:04 DATA: 55 5A F1 48 68 8B 00 00 MAIN0 ;<<CH_A>> MOVLW KDN ;←★ CALL _SELECT_ ;フォーマット選択部 MOVLW 0x09 ;H←★ CALL _LEADER_H ;リーダーH部 MOVLW 0x04 ;L←★ CALL _LEADER_L ;リーダーL部 MOVLW 0x55←★ CALL _DATA_ ;データ部 MOVLW 0x5A←★ CALL _DATA_ ;データ部 MOVLW 0xF1←★ CALL _DATA_ ;データ部 MOVLW 0x48←★ CALL _DATA_ ;データ部 MOVLW 0x68←★ CALL _DATA_ ;データ部 MOVLW 0x8B←★ CALL _DATA_ ;データ部 CALL _TRAILER_ ;トレーラー部 GOTO MAIN_X 見づらいですが縦にデータを書き写していく要領です。 NECの方式も同様です。下は東芝の「電源」データです。 [NEC] H:10 L:08 DATA: 02 FD 48 B7 00 00 00 00 MAIN0 ;<<CH_A>> MOVLW NEC ;←★ CALL _SELECT_ ;フォーマット選択部 MOVLW 0x10 ;H←★ CALL _LEADER_H ;リーダーH部 MOVLW 0x08 ;L←★ CALL _LEADER_L ;リーダーL部 MOVLW 0x02←★ CALL _DATA_ ;データ部 MOVLW 0xFD←★ CALL _DATA_ ;データ部 MOVLW 0x48←★ CALL _DATA_ ;データ部 MOVLW 0xB7←★ CALL _DATA_ ;データ部 ; MOVLW 0x00←☆ ; CALL _DATA_ ;データ部 ; MOVLW 0x00←☆ ; CALL _DATA_ ;データ部 CALL _TRAILER_ ;トレーラー部 GOTO MAIN_X と、こんな感じです。 SONYはちょっと他と違います。SONYのデータは12ビットなので4ビットを3つと考えます。 解析装置に8BIT/4BITの切替があります。これはデータの表示を変更する物です。 例えば8BITで「A9」と表示された物を4BITで表すと「0A 09」となります。 SONYの「電源」のデータは4BITで「0A 09 00 00 00 」と表示されます。 12BITですので「09」の後の「00」もデータが無いのではなく「00」というデータなのです。 これは解析装置のプログラムの初期の設定の変更で無データを「00」ではなく「FF」に変更して表すことが出来るのでそれを試すと「0A 09 00 FF FF」となるのでわかります。 SONYのデータは [SONY] H:04 L:01 DATA: 0C 09 00 00 00 00 00 00 MAIN0 ;<<CH_A>> MOVLW SONY ;←★ CALL _SELECT_ ;フォーマット選択部 MOVLW 0x04 ;H←★ CALL _LEADER_H ;リーダーH部 MOVLW 0x01 ;L←★ CALL _LEADER_L ;リーダーL部 MOVLW 0x0A←★ CALL _DATA_ ;データ部 MOVLW 0x09←★ CALL _DATA_ ;データ部 MOVLW 0x00←★ CALL _DATA_ ;データ部 ; MOVLW 0x00←☆ ; CALL _DATA_ ;データ部 ; MOVLW 0x00←☆ ; CALL _DATA_ ;データ部 ; MOVLW 0x00←☆ ; CALL _DATA_ ;データ部 CALL _TRAILER_ ;トレーラー部 GOTO MAIN_X となります。プログラム冒頭のKDN、 NEC、 SONYもプログラム内容の一部なので 間違えることなく書いてください。 MAIN0にKDN(家電協)、MAIN1にNEC、MAIN2にSONYなどと混在しても問題なく使えます。 下記のプログラム関連のダウンロードの中に見やすい物を同梱しておきます。 回路はこんな感じです。飛距離は落ちますが簡易版の回路でも行けます。 下に回路図、ASM、HEXと設定の書込み例の詰め合わせを用意しました。 プログラムはアクオスで RB0 電源 RB1 選局UP RB2 選局DOWN RB3 音量UP RB4 音量DOWN RB5 入力切替 RB6 地上D RB7 BS と設定してあります。 ダウンロード 押しボタンの数が多いのはRA2とRA3もスイッチにしているからです。 変更の方法は宿題とします。わからないときは連絡ください。内緒でお話がしたい人はこちらまで picdetukuttemimasita@yahoo.co.jp トップページへ戻る