ビープ音
KEYを押した時反応する「ビープ音」を追加してみました。音自体は簡単です、圧電ブザを音声周波数でスイッチングするだけです。
基本は1KHzあたりの周波数かもう少し高い周波数を使うのが一般的です。この辺は好みなのですがとりあえず1KHzで実験してみました。
始めの実験では音が大きく過ぎ、また長過ぎました、これは電圧が5Vとパワーがある為でしょうか。考えていた物よりうるさい状態でしたので、修正して現在の状態にしました。
実際は下記のプログラムのように0.5mSでON-OFFを繰り返します。圧電ブザの場合SWしても直ぐ音が出ず少し遅れて出て、音量最大に達します。SWがOFFになればそこから順次振動が低下するので音量も低下して行きます。つまり音が出ている部分はある意味共振しています。
したがって、時間は単純に音出し(プログラム)中では無く「少し遅れる」性質があり、また音幅はより長くなるようです。低電圧には!
3V程度で圧電ブザーを動作させると音が小さくなります、これは加わる電圧が低くなるためです。
こんな時にはメーカ品を見ると小さなブザーを使っているのに気が付きます。
電圧が低い場合はブザーを使うのが良いようです、これだとエネルギーを使いますが「短時間に終わるので電池には大きな負担とはならない」のかも知れません。
テスタなどを開けてみると小さなブザーが付いています(1.5V電池2本の場合)。2007/FEB/17
----- プログラム -----
;-------------------------------------- ; 圧電ブザー用のプログラム ; (0.5+0.5)*150=0.15 Sec 約1KHz ; 4MHz 5V動作 ; RA1にブザーを付ける。 ;-------------------------------------- BEEP MOVLW D'150' MOVWF TEMP BELP BSF PORTA,BUZZER ;RA1 CALL W500U BCF PORTA,BUZZER CALL W500U DECFSZ TEMP,F GOTO BELP RETURN ;-------------------------------------- ; 3*170=510 uSec 4MHz ; 10MHzではNOPを2回入れる。 ; 1KHzだが音は'170'の変更で可 [2KHz=85] ;-------------------------------------- W500U MOVLW D'170' MOVWF TEMP2 W5LP ; NOP ;10MHz ; NOP ;10MHz DECFSZ TEMP2 ;1 GOTO W5LP ;2 RETURN
もどる [MAIN MENU]