TV-リモコン 2 [パワーダウン]
[ TVのリモコンの準備 U ]リモコン動作で、パワーダウンの実験をしておきたい、と思って始めたのが今回の実験です。
ボタンが複数になっ場合「休ませたり再起動のコマンドが必要」です。
実験は「SWを押したらLEDが点灯する」という簡単な物ですが、終了後にパワーダウン(Sleep)をさせ、スタンバイ動作にします。次にボタンが押されたら、起動して初めに戻りそのコマンドを実行します。
これらを実行する為には、次の2つの動作が必要です。[1] SLEEP(停止)動作マニアルを見ますと:1 ADC mode:2 Power Down mode(0.1uA 1.8V)などが有りますが、ここではパワーダウンさせます。
具体的には、:1 MCUCRレジスターにパワーダウンモードを設定し、Sleep Enable Bitを設定すると準備完了
:2 SLEEPのコマンドでパワーダウンします。[2] WAKE UP(起きる)動作一度Sleepさせた状態から、再起動させるには次の事をすると出来ます。
1: リセット 2:端子(int0) 3:WDT 4:端子の変化(Pin Chenge Interrupt)を使って、プログラムを作動させます。
ここでは一般的な「端子変化の割り込み」を使いました。
ボタンが押され、端子電圧が変化すると割り込みが発生し、プログラムが処理されます。動作は!1] まず、何処のSWが押されたのが調べる。
2] そのボタンの命令を実行する。
3] 終わったら、初めのSleep命令に戻る。[右上へ]
WAKE UP 実行の準備1] 予め割り込み時のプログラムを作る。
2] GIMSKレジスタのPCIE Bit、ピン割り込み許可をセットする。
3] どのピンを使うかPCMSKレジスタを使ってピン指定をする。
4] SREGレジスタのI Bit(全割り込み許可)をセットする。これらの設定をします。
マニアルによるとSleep Enable Bitは誤動作防止の為、終了後OFFにすることを推奨していた。
[ 回路は超簡単 ]ということで、ブレッドボード上で(on Breadboard)試して見ました。
テスターを電流計にして測ると4.5Vで1.2mA(1.2MHz)流れ、SWを押してLEDが点灯し消えると今度は測定不能なほど電流は低下します。
ICのhex DATAです。プログラムはこれです(動くかどうかの確認用)。
:1000000060C0FECF07C0FCCFFBCFFACFF9CFF8CF4F :04001000F7CFF6CF61 :1000C200BFE9BDBFB0E0BEBFB0E1B7BBB3E0B8BBF4 :1000D200B0E1B5BFBBB7B062BBBFB3E0B5BB1CE913 :1000E20007ED0A95F1F71A95E1F70000000006B353 :1000F20000950370003009F0FACFBFB7B068BFBFF8 :10010200B5B7B062B5BF8895BFB7BF77BFBFE7CFFE :02011200FFCF1D :100014000F931F932F933F93EF93FF93BF93BFB718 :10002400BF93CF93DF93CDB7DEB72197CDBFDEBFAC :100034002196B5B7BF7DB5BF06B30095037008839D :100044000130B9F426E0122F01C0122F08B3009535 :1000540008BB012F0150202F2F9323E013E006E467 :100064000A95F1F71A95E1F72A95D1F72F912223F2 :1000740061F70881023079F4B8B3B061B8BB23E00A :1000840013E006E40A95F1F71A95E1F72A95D1F7FA :1000940008B30F7E08BB06B300950370003009F067 :1000A400FACFCDBFDEBFDF91CF91BF91BFBFBF916C :0E00B400FF91EF913F912F911F910F911895A1 :00000001FF [ 動作させる! ]電源ONで直ぐSleep状態になり停止する。
次にSWを押すと1回又は3回LEDが点灯して直ぐSleep状態になる。まだそのまま押していると離れた時にSW変化とみなしもう一度作動する時が有る。(まだSoftが十分ではない!)一応動くことが分かった。終了処理は後で考えることにする。これで予備実験は出来た様だ!
ここの所「寒に入って寒い!」いろいろな事がなかなか進まない…。(1月21日 )
製作 (2014/1/21)
[MAIN MENU へ戻る]