PWM波を発生する周期関数を使ってスピーカから音を出します。
タイマとして使いたいので、経過時間が指定値を超えたら音の発生を有効にします。
ソースコードやプロジェクトファイルのダウンロードはこちら →beep.zip
ブロック図 | ![]() | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
プログラム | proc { time = currTime(); // 経過時間が amp = time > (60*min + sec); // 設定を超えると amp=1 となる beep = w_pwm( 0.5, 1/fB, 0, 1 ) // 周波数 fB のビープ音を * w_pwm( 0.2, 1/fI, 0, amp ); // 毎秒 fI 回発生させる Dout( 0, 0.5, beep ); // デジタル出力 } | |||||||||||||||||||||
説明 |
PWM波発生関数を2つ使って、ビープ音を間歇的に発生させます。 2つのPWMのうち一方の振幅を信号 amp で与えます。amp の初期値は 0 ですが、 パラメータ min と sec で指定した時間を超えると 1 になり、ビープ音を繰り返し発生します。 以下の関数、信号、パラメータを使っています。
| |||||||||||||||||||||
設定例 | 運転開始10秒後にビープ音を発生させます。
|
作成:2015年1月29日