DFPlayerMini
DFPlayerMiniを入手し、簡単なMP3プレーヤーを作ってみました。
DFPlayerMinの機能(概略)
(詳細は、マニュアルを参照してください。)
・シリアルコマンドで、いろいろと制御できる。
・通信は、RS232C、9600bps 8bit パリティなし。
・3Wのアンプが内臓されているので、スピーカをつなぐだけでよい。(ただし、モノラル)
●MP3プレーヤー回路図
●回路の説明
電源としては、100均のUSBchargerを使用しています。(単三タイプのニッケル水素電池を使用して5Vに変換)
トランジスタQ1とQ2で電源のコントロールをしています。この部分が無くても動作が可能ですが、電池の容量が減って5Vの電圧が、次第に
維持できなくなってくると、ハンチングのような状態になって、スピーカから、雑音が出るようになってしまいます。
この回路で電源電圧が下がったとき、停止するようにしています。
コントロールとしては、以下のようにしました。
SW1 next :曲の順送り(同一フォルダ内)
SW2 nextfolder :フォルダの順送り
SW3 volume up :ボリュームアップ
SW4 volume down :ボリュームダウン
●MP3プレーヤー外観(内部)
●SDカードのフォルダの内容(構成)
コントロールでフォルダの数を調べています。
そのため、フォルダ名は、01 02 03 04 05 06 07 08 09 10 11 12 ・・・・としてください。(2桁、たぶん99までOK)
その下にmp3のファイルを置いてください。ファイル名は、日本語でも英語でも、混在でもOK。
例
01
曲xxxx.mp3
曲xxxxxx.mp3
曲xx.mp3
・・・・
02
曲x.mp3
曲xxx.mp3
・・・・
03
曲xxxxx.mp3
曲xxxxxx.mp3
・・・
●プログラムの説明(シリアル送信コマンド)
電源投入時(起動時)
VR レベルの設定(level 6に設定)
7E FF 06 06 00 00 06 EF
↓
フォルダ数問い合わせ
7E FF 06 4F 00 00 06 EF
↓
フォルダ内の曲をリピート(スタートは01フォルダ)
7E FF 06 17 00 00 01 EF
↓
スイッチの状態を監視
*****
SW1が押されたとき
フォルダ内の曲の順送り
7E FF 06 01 00 00 00 EF
SW2が押されたとき
指定されたフォルダ内の曲をリピート
Fnは、現在のフォルダ+1(フォルダの順送りになる)
7E FF 06 17 00 00 Fn EF
SW3が押されたとき
ボリュームアップ
7E FF 06 04 00 00 00 EF
SW4が押されたとき
ボリュームダウン
7E FF 06 05 00 00 00 EF
*****この間をループする