2016年03月19日

DFPlayer miniが届いた

27x27mmの超小型MP3プレイヤーを買ったので試してみた。Aliexpressのこのショップで$2.34で送料($1.5くらい)が別途かかります。ここから4つ買いましたが完璧に動きました。ちなみに、elecrowでも値段3倍位で同じものが売っていて、とりあえずリスク軽減のために基板製造ついでに1個買ったのですが、偽物なのか粗悪で壊れているのか分かりませんが全く動きませんでした。高くてゴミっていったい・・・。とりあえず、Elecrowの健全な成長のためにもクレーム中です。

さて、Nゲージには絶望的な大きさですが、HOゲージ以上なら余裕で入りそうな大きさになっているのが分かります。

DFPlayerMini01.jpg

動かし方は結構簡単で、ライブラリが用意されているので、それをインストールして、関数を叩くだけで操作できます。モジュールとはソフトシリアルで繋ぐことができるので、ソフトから変なパルス操作も不要で操作もしやすいです。


#include "SoftwareSerial.h"
#include "DFPlayer_Mini_Mp3.h"

SoftwareSerial mySerial(10, 11); // RX, TX

void setup () {
delay(2000); //← MP3モジュールの起動に時間がかかるようなのでちょっと待つ処理
Serial.begin (9600);//デバッグ用
mySerial.begin (9600);//MP3モジュール操作用ソフトシリアル
mp3_set_serial (mySerial); //set softwareSerial for DFPlayer-mini mp3 module
delay(10); //wait 1ms for mp3 module to set volume
mp3_set_volume (30);
}

void loop () {
mp3_play (1);
delay (30000);
mp3_play (2);
delay (6000);
mp3_play (3);
delay (6000);
mp3_play (4);
delay (6000);
}


DFPlayerMini02.jpg

microSDカードに対応していて、ファイルは0001.mp3のように4桁の半角英数字のファイル名にしないといけません。これを、mp3というフォルダの下に入れておけば、番号を指定すると再生できます。
一度、動かす指令を出せばArduino側は自由に他の処理が行えます。つまり、デコーダで使う場合には余計な処理がかからないのでPWMやDCCパケット処理ができるというわけです。

MP3ファイルだけでなくWAVファイルも対応していますが、SDカードの読み出し速度の関係もありMP3の方が望ましいと思います。シリアルで指令を出してから再生開始までの速度もMP3の方が早かったです。

関数は以下のものがライブラリで提供されています。


mp3_play (); //start play
mp3_play (5); //play "mp3/0005.mp3"
mp3_next (); //play next
mp3_prev (); //play previous
mp3_set_volume (uint16_t volume); //0~30
mp3_set_EQ (); //0~5
mp3_pause ();
mp3_stop ();
void mp3_get_state (); //send get state command
void mp3_get_volume ();
void mp3_get_u_sum ();
void mp3_get_tf_sum ();
void mp3_get_flash_sum ();
void mp3_get_tf_current ();
void mp3_get_u_current ();
void mp3_get_flash_current ();
void mp3_single_loop (boolean state); //set single loop
void mp3_DAC (boolean state);
void mp3_random_play ();


再生が終わったかどうかは、BUSYピンをデジタル入力で読み出せばわかります。
ということで、DCCデコーダで使うには、5V, GND, BUSY(Dxx), TX(Dxx)の4つを配線すればOKです。なお、TXについてはレベルシフトしないといけないので、抵抗で分圧してMP3モジュールに渡しましょう。

MP3ConversionR1.PNG


単純な再生、停止、音量調整・ループ再生しかできないので、市販のサウンドデコーダのように高機能なことは出来ませんが、ちょっと音を出すくらいは全く問題ありません。使い方を工夫すれば、強力なアイテムになると思います。ピンヘッダで、車両に組み込むには使いにくいので、変換基板のようなものを作ろうと思います。

MP3Module_AW.png

フリーの音楽と、京急サウンドを再生してみた例:
posted by yaasan at 07:26 | Comment(2) | 工作
この記事へのコメント
ライブラリがあるのはありがたいですね。
サイズがMicroSDのスロットの幅になればNでもいけるのにちょっと残念ですね。
(個人的にはあったらあったでショックですが・・・・)

Posted by 名古屋電鉄 at 2016年03月19日 10:37
このモジュールは単に鳴らすだけしか出来ないので、競合にはならないと思います。
どちらかというと、ひたすら安く低機能でいいから音を鳴らしたい用途に、という感じでしょうか。車両組み込みだけでなく、レイアウトに組み込むのも想定してます。
Posted by やあさん at 2016年03月20日 06:12
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。