Arduino等で簡単にmp3を再生するモジュールとして、DFPlayerがある。小型でmicroSDに保存したmp3ファイルを簡単に再生できるモジュールである。
HiLetgo® 2個セット TFカード Uディスクミニ MP3プレーヤー オーディオ 音声 モジュールボード Arduino DFPlayに対応
マイコンに接続せず、単体でもボタンやスピーカー、電源を繋ぐだけでも使用する事ができる。マイコンから制御する場合、シリアル通信で制御するが、DFRobotからライブラリが提供されているので簡単に制御できる。
再生は簡単に出来るのだが、音楽の再生が終了したかの判定がAPIでは上手く行かない。
幸い、DFPlayerにはBusyピンがあり、再生中はLOW、停止中はHIGHのシグナルを出力する。このピンを読む事で、再生状態が分かる。
図の様に、Busyピンと適当なデジタルピンと接続し、digitalReadでピンの状態を読めば、再生中であればLOW、再生終了時にはHIGHとなる。処理もdigitalReadだけで済むのでお手軽である。
MacでファイルをmicroSDにコピーした場合に特定のmp3ファイルの再生が上手く行かない場合、microSDをMS-DOSフォーマットでフォーマットしてからファイルをコピーしてみると上手く行く可能性がある。