TV-リモコン 3 [システム 完成]
[ TVのリモコンの準備 V ]初めPICでやっていましたがavrに移植しました。
@ Powerのコントロールを設定し、TVが動く様になりました(基本動作の確認)。
A SW関係のSleep動作を関連付けないと、電池での運用は出来ません。これの確認する為のプログラムを作りました。
B 今回はこれを組み合わせて「リモコン動作としてシステム化した」物です。[1] 基本の動作@ SW(ボタン)を押すと、割り込みを発生させ、内部が動作を始める。
A MCUの方は「どのSWが押されたのか?」を調べます。
B そのDATAを赤外線(IFR)LEDへ送って、TVのコマンドとします。
C SWが押されていれば待って、離れるのを確認します。
D 終了したので、次の信号受付までスタンバイ(SLEEP)させます。[2] TVのコマンド(東芝専用)@ 電源(Power)のON-OFF
A 停止(Freeze)のON-OFF
B "d" SWのON-OFFで、デジタル(文字放送)画面にする。NHKではこれでローカルの天気予報が出て来る。
C チャンネル UP、で押す度にチャンネルが増える。
D チャンネル Down、でチャンネル番号が減る。
現在はこの5つをコマンドに使っている。必要ならSWは増やせます。
増やす方法はダイオードを使って、2,4,8,16,32の5個を使っていますが、間の6,10,12,14…とSoft処理を追加して対応させます。目的は!初の目的である「TV用のリモコンが出来上がり」そうです。現在ブレッドボード上で動いています。
後は「どう組み立てるか」です。予定としては万能板に組み立てるつもりです。[右上へ]
SW 関連SOFTの意味は次の通りで、bit2.3.4.5.6を使っている。5個以上のボタンを使うにはダイオードが必要になりますが、チヤンネルUPの他Downも必要と思いSoftに入れてみました。
I/Oポート と コマンド & 32bitデータ SWA 2 000010 :Power 02/fd/48/b7 SWB 4 000100 :Freeze 02/fd/0a/f5 SWC 8 001000 :"d" c2/3d/28/d7 SWD 16 010000 :CH+ 02/fd/d8/27 SWE 32 100000 :CH- 02/fd/f8/07ボタンが多くなると作るのが面倒になるのでこの辺までにします。
ダイオードがあまり増えない最低限度の組み合わせを使うと良いでしょう。
[これは我が家の「東芝テレビ」用です!、メーカーによってコマンドやDATAは違っている][ SWに付いて ]市販のローコストスイッチ(ボタン)はメカスイッチでチャッタリングが多いのですが、アマチュアで使うには十分でしょう。
ゴム系のSWが手に入ると良いのですが、値段の関係でこれで良いと割り切って使いましょう。
しかし、使用頻度が少ないと直ぐ劣化する感じです。各I/OにSWを割り当てましたが、5bitの場合2*3方式にすればダイオード無しでも6個のSWを付けることが出来ます。
[ 回路は簡単です ]回路図は次の通り、前回の延長線上で対応しました。
内部でプルアップされています。
電源は3V又は2.4Vの乾電池です。0.1uF等Cを入れて下さい。
当初トランジスタは入れませんが、回路図の様に入れました。これで1.2mの物が3m近く飛ぶようになりました。ICのhex DATAです。プログラムは5コマンドでRomは66%、プログラムはだいぶ余裕が有ります。(東芝用)。
ヒューズビットは[1E 7A]を書き込みます。
一度書き込むとリセッターが無いと使えなくなります。書き込み器はIC(MCU)を受け付けなくなります、理解した上で実験をして下さい。
:100000009BC0FECFCEC0FCCFFBCFFACFF9CFF8CF4D :04001000F7CFF6CF61 :10013800BFE9BDBFB0E0BEBF0E944901B1E0B7BB97 :10014800BEE3B8BBBEE3B5BBBBB7B062BBBFB5B718 :10015800B061B5BFB5B7B77FB5BF25E01FED0CEBF4 :100168000A95F1F71A95E1F72A95D1F700000000F2 :1001780006B300950E73003009F0FACFBFB7B06828 :10018800BFBFB5B7B062B5BF8895B5B7BF7DB5BFBE :0A019800BFB7B068BFBFE1CFFFCFD3 :0A00920005900D920197E1F7089523 :10029200A0E6B0E0EEE8F2E084E090E00E944900DF :0202A2000895BD :1001A2000F931F932F933F93EF93FF93BF93BFB789 :1001B200BF931DE007E70A95F1F71A95E1F706B339 :1001C20000950E73102F023061F4B2E0B09360001C :1001D200BDEFB0936100B8E4B0936200B7EBB093A7 :1001E2006300143061F4B2E0B0936000BDEFB093ED :1001F2006100BAE0B0936200B5EFB09363001830CB :1002020061F4B2ECB0936000BDE3B0936100B8E278 :10021200B0936200B7EDB0936300103161F4B2E0C5 :10022200B0936000BDEFB0936100B8EDB09362008F :10023200B7E2B0936300103261F4B2E0B0936000B1 :10024200BDEFB0936100B8EFB0936200B7E0B09336 :1002520063002CDF22DF25E01FED0CEB0A95F1F79E :100262001A95E1F72A95D1F70000000016DF06B3D0 :1002720000950E73003079F7BF91BFBFBF91FF9118 :0C028200EF913F912F911F910F91189563 :1000AE00CF93DF93CDB7DEB72397CDBFDEBF2196BB :1000BE00C5DF17E30BED0A95F1F71A95E1F7B0E0FE :1000CE00B8830881043000F510E620E00881E02FA7 :1000DE00F0E0E10FF21F00810A83B0E0B9830981DD :1000EE00083070F40A810078003811F4BEDF01C0C8 :1000FE00AEDF0A81000F0A8309810F5F0983EFCFFC :10010E0008810F5F0883DDCFA2DF22E017EE09E33F :10011E000A95F1F71A95E1F72A95D1F70000229684 :0A012E00CDBFDEBFDF91CF91089531 :10004A002F92BEEA2B2EE1DFBEEA2B2EDEDF2F90A7 :02005A00089507 :1000140010E01215B8F4B8B3B160B8BB0CE00A959F :10002400F1F700000000B8B3BE7FB8BB00E40A9546 :10003400F1F700000000000000000000012F0F5F36 :06004400102FE7CF089524 :100078002F92B9E12B2ECADF14E102E50A95F1F7B8 :0A0088001A95E1F700002F9008958B :10005C002F92B9E12B2ED8DF16E00BE90A95F1F7B8 :0C006C001A95E1F7000000002F900895A5 :10009C00D6DF1CE10DE60A95F1F71A95E1F7D8DFEA :0200AC000895B5 :04028E0002FD48B76E :00000001FF実験の途中
[ 動作させる! ]ブレドボード上ですが、予定通りに動作している。
ブレドボードでは接触が不十分と見え、時折作動しない時が有りました。
まだ改良の余地が有りますが「一応完成!」とします。[ Grade UP ! ]飛びか悪かったので「トランジスターを外付けにした」、これにより実用的な2.5m飛ぶようになりました(真っ直ぐ向けると3m)。これはICだけでは電流が十分流せないのだと思います。
製作 (2014/2/20)
[MAIN MENU へ戻る]