このページは、わたしの備忘録として作成しました。
(1) ラーメンタイマーをつくる
今回は、PIC12F509を使って「ラーメンタイマー」をつくります。あらたに用意するのは、セラミック圧電ブザーが1個です。
圧電ブザーは、発振回路を内蔵している自励式と、外部の発振回路を使用する他励式がありますが、今回は発振回路なしの他励式の圧電ブザーをつかいます。圧電ブザーは逆圧電効果で音をだしますが、機械的な振動を与えると起電力が生じます。この正圧電効果を利用して、圧電ブザーを軽くたたくと、ラーメンタイマーがうごきだすようにします(圧電ブザーを落としたり強い衝撃をくわえると、高圧のサージが瞬間的に発生しますので、そのような使い方をされるばあいは、サージ保護回路をつけてください)。
ラーメンタイマーの回路図
![]() |
PIC12F509は2Vから動作しますので、今回は電源は3Vのコイン型電池1個または単三電池2本としました。
ラーメンタイマーの動作はつぎのようになります。
電源をいれると、圧電ブザーが軽くたたかれるまで、待ちます。
圧電ブザーが振動を感知すると、3分間のカウントダウンを開始します。
最初の1分間は、LEDがゆっくりと点滅します。
つぎの1分間は、すこし速くLEDが点滅します。
最後の1分間は、のこり時間が少なくなるにつれて、LEDの点滅の間隔が短くなります。
3分たつと、LEDが消灯し、おなじみのチャルメラのメロディーが流れます。
チャルメラのメロディーが鳴り終わると、パワーダウンモード(スリープモード)に入ります。手動で電源スイッチを切ります。
もういちどラーメンタイマーを動かすには、電源スイッチを入れなおします。
今回は、圧電ブザーによるチャルメラのメロディーの演奏やLEDの駆動もすべてソフトウェアによるPWM制御でおこなっています。ですから、LEDは、じわーっと明滅するようになっています。メロディーは、各音の周波数からパルス幅をきめ、その時間ポートの出力をHi、Loにします。これを周波数回くりかえば、1秒間音が鳴ります。くりかえす回数が、各音の長さになります。プログラムのほとんどが、このHiとLoの、つまりメロディーのデータのかたまりのようなものです。
ダウンロード
509lamen.hex
オルゴールをつくってからラーメンタイマーをつくる予定だったのですが、順序が逆になってしまいました。次回は、オルゴールをつくる予定です。
2005年7月30日作成