MP3ボイスモジュール(JQ8400-FL)
MP3ボイスモジュール・電源:DC3.3~5V
・MP3チップ:JQ8400-FL
・ファイルシステム:FAT16/FAT32
・オーディオフォーマット:MP3、WAV
・サンプルレート(KHz):8/11.025/12/16/22.05/24/32/44.1/48
UART 通信プロトコル
・全二重シリアル通信プロトコル
・ボーレート 9600、8 ビット データ、パリティなし、1 ストップ ビット
MP3モジュール操作コマンド
| 開始コード | コマンド | データ長 | データ1 | ~ | データn | チェックサム |
|---|---|---|---|---|---|---|
| 0XAA | 0x01~0x26 | n | 可視コード~データnまでの和の下位1バイト |
| コマンド | 動作 |
|---|---|
| 0x01 | 状況照会 (Status Inquiry)ステータス 00:停止、01:再生中、02:一時停止 |
| 0x02 | Play : 現在のオーディオの最初から再生 |
| 0x03 | 一時停止 (Pause) |
| 0x04 | Stop |
| 0x05 | 最後の曲 (Last song) |
| 0x06 | 次の曲 (Next song) |
| 0x07 | 曲指定 (Specify song) 指定曲番(1 ~ 65535)の曲を再生 |
| 0x08 | ドライブとディレクトリを指定 (Specify drive and directory) |
| 0x09 | 現在のドライブの問い合わせ (Specify drive and directory) |
| 0x0A | 現在再生中のストレージ(ドライブ番号)の問い合わせ |
| 0x0B | 指定したドライブに切り替える |
| 0x0C | 音声ファイル総数の問い合わせ |
| 0x0D | 現在のファイル番号の問い合わせ |
| 0x0E | 最後のディレクトリ : ディレクトリの最初のオーディオを再生 |
| 0x0F | 次のディレクトリ :ディレクトリの最初のオーディオを再生 |
| 0x10 | 現在の操作を終了。 現在の操作が挿入再生の場合は、元の状態に戻る |
| 0x11 | 現在のディレクトリ内の最初のオーディオの序数を返す |
| 0x12 | ディレクトリ内のオーディオ総数の問い合わせ |
| 0x13 | ボリュームコントロール |
| 0x14 | 音量を1段階上げる |
| 0x15 | 音量を 1 段階下げる |
| 0x16 | 挿入プレイ:指定された再生が終了すると、前のブレーク ポイントに戻って再生 |
| 0x17 | 再生ディレクトリの指定 |
| 0x18 | ループバックモードを設定 |
| 0x19 | ループの繰り返し回数を設定 |
| 0x1A | EQ設定 |
| 0x1B | 複合再生:ファイル名を使用した結合再生は、より便利で正確 |
| 0x1C | 結合再生の停止 |
| 0x1D | チャネルの設定 |
| 0x1E | 短いファイル名の問い合わせ |
| 0x1F | オーディオを選択するが、再生はしない |
| 0x20 | 繰り返し読み制御 |
| 0x21 | 繰り返し読みを止める |
| 0x22 | 早戻しの期間(秒)を指定する |
| 0x23 | 早送りの時間(秒)を指定する |
| 0x24 | 現在のオーディオの長さ(時間)の問い合わせ |
| 0x25 | 再生時間をオンにする |
| 0x26 | 再生時間の停止 |
ArduinoUNOとの接続

シリアルポートの TTL レベルは 3.3V
5V MCU と接続する場合は、1K オームの抵抗を使用
BUSY信号も3.3VなのでArduinoUNOで使用する場合にはアナログ入力でBUSYを判定
ショートファイル名の取得/トラック番号との対応付け
指定曲番(トラック番号)はフラッシュメモリーにコピーした順番(コピーシーケンス)になります。ファイル名は一切関係ないので使いにくい事この上ありません。
指定曲番(トラック番号)のショートファイル名(半角英大文字+数字の8文字+拡張子3文字)のファイル名を取得できるので
指定曲番(トラック番号)とショートファイル名の対応を取る事は出来ます。

ソースコード
以上の スケッチを公開しています。