第3回 音を鳴らせてみよう

このページは、わたしの備忘録として作成しました。

[Home] [目次] [前頁] [次頁]


(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

オルゴールをつくってからラーメンタイマーをつくる予定だったのですが、順序が逆になってしまいました。次回は、オルゴールをつくる予定です。

[Home] [目次] [前頁] [次頁]


2005年7月30日作成