視覚障害者用音楽再生機を作る(曲再生制御プログラミング)

DFPlayer制御用のライブラリーがありますのでライブラリマネージャーで検索してダウンロードします。複数ありますが開発元作成らしい"DFRobotDFPlayerMini for DFRobot"を使用しました。

初期化はサンプルなどをみるとbeginが成功しなければ無限ループしてCPUのWatchDogでリトライするコードが多かったのですが上手く動かないっぽいので単純に長めの時間待ちにしました。

曲再生制御

今回の再生機は複数のCDを簡単に切り替えられることが目標ですのでSD内にフォルダー分けしてそれぞれに1枚のCDを収めてDFPlayerのフォルダー内の曲再生ファンクション(0x0f)を使用します。

電源投入後は先頭の曲を再生を行い、その曲の再生が終了したら次の曲の再生を始めます。次の曲は曲番号をインクリメントして再生を試みますが存在しなければ1曲目とします(動作としてはCDリピートとなります)。指定曲の有無は再生コマンドを発行した後DFPlayerがBusyとなるかどうかで判断してます。このBusyが立つタイミングがフォルダー内の曲数などで長くなるようで20曲ぐらいであれば400msecで誤動作しないようです。

ちなみにフォルダーは"01"~"99"、ファイル名は先頭3桁を数値にして"001"~"999"とする必要があります。ファイル名の先頭を曲番号3桁にするにはフリーソフトのmp3tagで「変換」→「タグ-ファイル名」で$num(%track%,3) %title%とすればトラック番号を先頭に3桁つけたファイル名に一括して変更できます。