PIC16F84電子遊戯(106) |
最終更新日:2003年12月27日 |
|
ミニタイマーを作ろう |
USB電源シリーズの第2弾の登場です。今回は9分タイマーを作ります。
以前に作った99分タイマーをひと桁にしたものです。
デスクトップのサイドにおいてかわいがって下さい。カップヌードルの仕上がり時間の計測には最適ではないでしょうか。 |
ミニタイマーを作ろうの回路図 |
いきなりの回路図です。難しいことはありません。前回と同様に出来るだけ小さいケースに入れることを心がけましょう。回路は極めてシンプルです。 |
|
(ミニタイマーの回路図) |
今回のポイントをひとつ説明しておきます。
回路はUSBからの電源を使用するので当然5V仕様ですが、タイマーアップを知らせる3端子オルゴールICが3V仕様ですのでここに工夫が必要になります。
タイマーアップしたらLEDを点灯するようにしてそのLEDのVfを利用してオルゴールICを駆動しています。LEDが点灯すると約2Vの電圧が発生するのでそれを使用します。
ちなみに今回の回路は音が大変小さかったです。皆さんで工夫されることを期待します。
まあディスクトップサイドで聞く分には充分かとは思いますが・・・・
(3端子オルゴールICは手持ち品を使用しています。現在入手可能かは不明です。) |
ミニタイマーを作ろうの基本仕様 |
基本仕様を示します。簡単な内容にとどめています。
1)9分のタイマーです。
2)1分ごとに時間を設定出来ます。設定はアップのみです。
3)タイマー動作中は2秒おきにドットが点滅します。動作は一時停止も可能です。
4)タイマーアップ時にはLEDが点灯しミュージックが流れます。 |
ミニタイマーを作ろうのポート割付 |
ポート名 |
入出力 |
機能 |
RA0 |
OUT |
タイマーアップ |
RA1 |
OUT |
NC |
RA2 |
IN |
SW1(スタート・ストップ) |
RA3 |
IN |
SW2(分設定) |
RA4 |
OUT |
NC |
RB0 |
OUT |
7セグメント(a) |
RB1 |
OUT |
7セグメント(b) |
RB2 |
OUT |
7セグメント(c) |
RB3 |
OUT |
7セグメント(d) |
RB4 |
OUT |
7セグメント(e) |
RB5 |
OUT |
7セグメント(f) |
RB6 |
OUT |
7セグメント(g) |
RB7 |
OUT |
7セグメント(p) |
|
ミニタイマーを作ろうの7セグメントの割付 |
今回はPICから直接7セグメントLEDを駆動していますのでLEDとの接続は自由度があります。表示用データのみを変えれば簡単です。今回の表示用データを示しておきます。 |
|
ドットについてはB7のビット操作にて点滅をしています。 |
ミニタイマーを作ろうのタイマーカウント |
基本的には99分タイマーのページ(timer1.htm)を参照して下さい。但しタイマーカウントに相違点がありますのでそこを簡単に説明しておきます。 |
99分タイマーには秒表示があったので分表示が「0」になってもまだ時間が残っていることがわかりました。今回は分だけの表示なので「0分**秒」となっていても「0」としか表示しませんのでどれほどの時間が残っているのかよくわかりません。
今回は分表示が「0」になった時点をタイムアップしたと考えてこのときにタイマーアップ出力をしたほうが自然です。
そのまま99分タイマーのソフトを使うとまだ「59秒」残っているのにタイマーアップしたように見えてしまいます。そこで「0」になったときにタイマーアップとするためにタイマー設定したときは常に秒を59秒ぶん進ませています。タイマーアップも「00秒」で判断するのではなく「59秒」で判断するようにしました。
たとえば「1」と設定すると内部は「1分59秒」と設定されて「0分59秒」でタイマーアップとなります。これできちんと「1分」がカウント出来ました。 |
ミニタイマーを作ろうの大完成 |
それでは大完成した姿を見て下さい。 |
|
(かなりコンパクトになりました) |
|
(カウント中の表示です。ピンボケですいません) |
ミニタイマーを作ろうの全ソースと全HEXコード |
毎度おなじみのソースリストとHEXコードです。
一緒に圧縮してありますのでダウンロードしてからじっくり眺めて下さい。
ソースリストとHEXコードはこちらです。 |
皆さんいかがでしたでしょうか。USB電源シリーズはこんな簡単な製作を続けて行きたいと考えております。 |
これからも益々面白くなる「PIC16F84電子遊戯」をよろしくお願いいたします。 |
|
不明点などあればメールお願いいたします。nonchansoft@nifty.com |
|
|