GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
PWMでスピーカを駆動させるサンプルを作ってみました。頻繁にポップノイズが出ているので、長時間使用するとスピーカを傷める可能性があります。お試しの際は、安い(壊れても良い!)スピーカをご使用ください。そして、音量注意。
ソフト要因かハード要因かは不明ですが、ちゃんとしたローパスフィルターを挟めば良くなる?
GR-PEACH_Audio_WAV_PwmOuthttps://developer.mbed.org/users/dkato/code/GR-PEACH_Audio_WAV_PwmOut/
私が公開しているプログラムをそのまま使う場合は、ルートフォルダ内のwavファイルを順番に再生するようにしてあります。 os.mbed.com/.../main.cpp tendotsさんのプログラムでは、「play()」内で常に「yonda.wav」が指定されているので、「yonda.wav」しか再生されないコードのように見えます。 os.mbed.com/.../main.cpp
また、「play()」ですが、ファイルのオープンは不要です。以下のように「AudioPlayer.play()」の引数に再生したいファイルのパスを設定するだけで再生します。
void play(){// FILE *fp;// fp = fopen("/storage/yonda.wav", "r"); AudioPlayer.play("/storage/yonda.wav");// fclose(fp);// fp = NULL;}
センサの入力で、1回は再生するのであれば、以下のbreakが不要なのだと思います。 if(button_val != 0x0000){ play(); wait(0.3); // break; ★この行が不要 }
もし、センサの入力では1回も再生していないのであれば、printfの表示がどうなっているかでbutton_valの値を確認してみてください。
また、printfは改行コード"¥n"が入力されるまで表示されないので、「printf("if \r\n");」などのように記載してみてください。