今回のサウンドプラレール計画の目玉である音声再生は、MP3再生モジュールのDFPlayerを使用しました。互換品が売られており、Amazonで400円程度で購入しました。マイクロSDカードよりちょっと大きくて切手サイズくらいのデバイスです。
マイクロSDカードにmp3ファイルを入れてセットすると、プログラム制御で再生することができます。mp3ファイルを入れるときのルールは下記のような感じです。
・ルートに mp3 というフォルダを作ってその中に入れる
・ファイル名は 0001.mp3, 0002.mp3, 0003.mp3, … という具合に連番にする
・先頭が4桁の数字ならその後ろに文字列を入れても良い(例:0001start.mp3)
音ネタとなるサウンドですが、手持ちで適切なものがなかったので、YouTubeでEH200の起動音入りの動画を公開している方にお願いして許可をいただき、使わせてもらいました。動画からmp3をダウンロードして、必要な部分を切り出して 0001.mp3 というファイル名で保存しました。
必要な部分を切り出すには Online MP3 Cutter というWebサイトを使いました。
http://mp3cut.net
mp3ファイルをアップロードして必要な部分を残して切り取り、ダウンロードします。
Arduinoのソースコードは下記のようになります。DFPlayerとの通信は簡略化してD0とD1、つまりTXとRXを使いました。ボリューム(音量)は0から30の間で指定します。
mp3_play(1); を実行すると、mp3/0001.mp3 の再生が始まります。mp3_stop(); を呼び出すまで再生は続けられますが、ここでは10秒間たったら先頭から再生し直すようにしてみました。
#include
#include
void setup() {
Serial.begin(9600);
mp3_set_serial (Serial); //set Serial for DFPlayer-mini mp3 module
mp3_set_volume (25); // value 0~30
}
void loop() {
mp3_play(1);
delay(10000);
}
Arduino NANO との接続は下記のようにします。
デフォルトの状態ですと、Arduino の TX/RX をそのまま DFPlayer Mini の制御に使うようになっています。Arduino IDE のシリアル画面を表示しているとゴミデータが表示されますが、動作には問題はないようです。
上記のプログラムを走らせて鳴らしてみたところ、問題なく再生されました。
