ArduinoでMP3ファイルを再生する Cytron MP3シールドの使い方

Cytron Shiled-MP3 (MP3シールド)を使うと、マイクロSDカードに記録されている、MP3ファイルを簡単にArduinoで再生させることができます。
Shield-MP3-640
ご購入は、下記のサイトをご覧ください。
www.elefine.jp/SHOP/SHIELD-MP3.html

MP3再生ライブラリーのインストール

まず、専用のMP3再生ライブラリーをインストールします。

ライブラリーを下記からダウンロードします。GitHubを利用しています。
https://github.com/CytronTechnologies/Cytron_MP3Shield

ファイル一覧の右上にある “Download ZIP” ボタンをクリックすると、まとめてZIPファイルにしてダウンロードすることができます。ShiedMP3_01

ダウンロードして、展開すると下記のようなファイル(フォルダー)ができます。ShiedMP3_02

extras フォルダー内を見ます。ShiedMP3_03

extrasフォルダー内のSdFatフォルダーをArduino IDEがインストールされているフォルダー内の libraries フォルダーにコピーします。ShiedMP3_04

↓ Arduino IDE(開発環境)がインストールされているフォルダーShiedMP3_05

さらに Cytron_MP3Shield-master.ZIP ファイルを展開したフォルダーへ戻ります。ShiedMP3_06

src フォルダーを同じところへコピーします。ShiedMP3_07

コピーしてできたフォルダーを MP3Player という名前に変更します。
src – コピー → MP3Player
ShiedMP3_08

そのMP3PlayerフォルダーをSdFatフォルダーと同様にArduino IDEがインストールされているフォルダー内の libraries フォルダーに移動します。
このsrcフォルダーの名前を変えて、libraries へ入れる点がCytronのチュートリアルの記述と異なります(チュートリアルにあるMP3Playerフォルダーがない)。

うまくインストールされると、Arduino IDEのメニュー
スケッチ → ライブラリをインクルード でMP3Player SdFat が表示されます。

ShiedMP3_09

マイクロSDカードの準備

何も記録されてないマイクロSDカードを用意します。
そのマイクロSDカードのルートディレクトリー(フォルダーに入れない)にCytron_MP3Shield-master.ZIP ファイルを展開した中にある sta013.cfg というファイルをコピーします。

場所 Cytron_MP3Shield-master\extras\Configuration file

extrasフォルダー

ShiedMP3_03

Configuration file フォルダーShiedMP3_10

sta013.cfg  このファイルをマイクロSDカードへコピーします。ShiedMP3_11

MP3ファイルのコピー

このMP3シールドでは、260kbpsまでのビットレートのMP3ファイルを再生することができます。ただし、mainループで他の処理をするためには、200kbp以下に抑えてください。通常聴く分には、128kbpsで十分でしょう。

まずは、サンプルプログラムに手を加えずに再生ができるようにMP3ファイルをサンプルプログラムの記述と同じファイル名にします。Windows PCなどでマイクロSDカード上にFavourites フォルダーを作成し、その中へ任意のMP3ファイルをコピーします。そのファイル名を Taio Cruz – Hangover ft. Flo Rida.mp3 に変更します。
そのマイクロSDカードをMP3シールドのスロットに差し込みます。

ArduinoにMP3シールドを接続

ICSPのピンにもソケットがありますので、それも差し込まれるようにArduinoに差し込みます。

ShiedMP3_13

ジャンパーピンが、SSはD3、ASDはD2にそれぞれセットされていることを確認してください。初期状態では、この設定になっています。

ShiedMP3_12

サンプルスケッチの転送

ダウンロードしたZIPファイルにサンプルスケッチが含まれています。
まずは、1トラック(1曲)再生の下記のサンプルで試すとよいでしょう。
Cytron_MP3Shield-master\examples\PlayATrack

PlayATrack.ino をダブルクリックするとArduino IDEが起動し、読み込まれます。

上述のライブラリーがきちんとインストールされていると、問題なくコンパイルできます。

MP3ファイルの再生

転送し終わると、MP3ファイルが再生されます。音が大きすぎる場合があるので耳につけずにヘッドフォンを接続してください。音の大きさに注意しながら、耳につけてください。

サンプルスケッチでは、シリアル通信で再生している曲の表示、音量調節、再生の停止ができるようになっています。
Arduino IDEのシリアルモニタでその確認ができます。

ShiedMP3_14

再生中のファイル名が表示されます。ShiedMP3_15

a を入力して、「送信」ボタンを押すと、音量が下がります。
ShiedMP3_16

これらの処理は、サンプルスケッチの下記の部分で行っています。
これを見て、お分かりのように “d” で音量を上げる、”s”で再生停止です。

if(isNum)
{
if(mp3.isPlaying()) mp3.Stop();
mp3.PlayTrack(Folder,inputString.toInt());
Serial.println(“Currently playing…”);
Serial.print(“Track “+String(mp3.getTrackNo()));
Serial.println(“: “+mp3.getName());
}
else
{
if(inputString.equals(“a”))
mp3.setVolume(–vol);
else if(inputString.equals(“d”))
mp3.setVolume(++vol);
else if(inputString.equals(“s”))
mp3.Stop();
}

独自のプログラム作成

サンプルスケッチ、CytronのMP3ライブラリーチュートリアルを参照して、各自独自のプログラムを作成してください。