Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

カウント・ダウン・タイマー 少し改造

「カウント・ダウン・タイマー 省電力化?」の続きだ。
省電力化を徹底するなら、使わないときには電源を切るのが一番確実だ。
だが、回路を考えているときにはなぜかスイッチをつけるという発想が浮かばなかったので、出来上がったものに電源スイッチは無い。
だから現状ではケースを開けて電池を取り外す以外に電源を切る方法は無い。
かといって、これから電源スイッチを追加するのもケースの改造まで含めてなかなか面倒だ。

じゃ、せめてSLEEPさせておこう。
SLEEPならプログラムの変更だけで済むし。
と、最初は簡単に考えた。

ところが、実際にSLEEPさせてみたのはいいが、SLEEPからの復帰の方法が無いことに気づいて、結局以下のように回路を変更した。
pic16f887segledtimer_kai
見ただけではわからないので経緯を書く。

SLEEPからの復帰には何らかの割り込みが必要だ。
一番無難なのはRB0を使ったものだ。
現状ではRB0はLEDの点灯用に使っている。
RB0を3つのタクトスイッチのいずれかと接続して割り込みに用い、そのタクトスイッチにつながっていたピンを代わりにLEDの点灯用とする。
具体的には
「RB0–>LED 11ピン」を「RA3–>LED 11ピン」に変更し、「RA3–>タクトスイッチ」を「RB0–>タクトスイッチ」に変更する。
あとはプログラムで何とか対応する。

現在のところ実装した機能は以下の通り。

トグルでスタート時間をプリセットから選択する(0->30->50->0分)。

タクトスイッチの上2つの同時押しでSLEEPに入り、上のスイッチで復帰する(今回追加)。

タクトスイッチで分と秒の設定をする(長押しで連続して増加)。

省電力のため、はじめのうちの表示はドットの点滅のみとし、残り5分になると時間表示を行う(今回変更)。

予定時間になったら点滅して知らせる。

このエントリーをはてなブックマークに追加

Posted under: MPLAB X, PIC Hardware, PIC その他, PIC16F88


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.