2013年1月14日月曜日

12.3 2代目キッチンタイマー

今回も実用品。液晶の文字表示モジュールで3Vで動くものを見つけたので、以前作ったキッチンタイマーを作り直すことにした。

以前のものの機能のうち、キッチンタイマー・メトロノーム・テスターの3つの機能を再現した。
キッチンタイマーはパスタやラーメンを茹でる時に活躍しているし、メトロノームは足のトレーニングの階段登りで使っている。テスターは本物のテスターのほうが精度は良いが、ちょっと電池の残量を見る時などは便利である。

液晶モジュールは秋月からSC1602BBWB-XA-LB-Gを購入した。16文字*2行のもの。3Vで動くので単4電池2本で動かすことにする。
マイコンは使い慣れたPIC18F2431とする。他は制御用のスイッチが5つと、圧電スピーカが1つ。デバグ用のLEDが2つと予備の赤外線LEDが1つ。
回路図はフリーのEagleで作成した。以前はエクセルでお絵かきしていたが、Eagleを使うとさすがに書きやすい。SC1602はパーツが登録されていなかったので、ライブラリを自作した。
キッチンタイマーは90分まで設定できる。設定は10分・1分・10秒・1秒の桁を選び、+/-のボタンで設定する。時間が来ると「ピピピッ、ピピピッ」という音が鳴る。
メトロノームはテンポとコーラス数(長さ)を設定する。階段登りはテンポ93で12コーラスやっていた。1コーラスで階段を4往復するので合計で48往復になる。
動き始めると、1拍毎に「キッコッコッコッ」と音がするのでこれを聴きながら階段を上り下りする。4小節毎に「キッコッコッコ-」と4拍目の音が長くなる。
テスターは電池の電圧と抵抗値を測定できる。今回は電源は電池直接で安定化していないので、電圧測定のために、ダイオードの順方向電圧(0.558V)をADCで測定し、基準電圧としている。
抵抗はレンジ切り替えはないので、大ざっぱな値しか得られないが、カラーコードを見て値を確認するときのヘルプにはなる。
PIC18F2431はプログラムは8Kwords、データは768bytesのメモリを持っているが、どちらもギリギリまで使うことになり、あちこち切り詰めながら作り上げた。