DFPlayer miniにアンプを繋いでみた‼(Arduino)
こんにちは!
SDカードに入れたmp3音楽を簡単に再生できるDFPlayer mini、音量が小さくて困ることはありませんか?
それを解消するための方法をご紹介したいと思います‼
①「部品準備」
・DFPlayer mini (MP3プレイヤー)
電子工作ステーション 290円+送料(200円以上で無料)
※正規品と互換品がございますが、今回は互換品を使っています。互換品はArduinoのみしか対応していないのでご注意ください。
正規品で試されたい方はこちら⇩
電子工作ステーション 1300円+送料無料
秋月電子 1050円+送料
・アンプモジュール(PAM8403)
電子工作ステーション 200円+送料(200円以上で無料)
・Arduino UNO
今回はType-CモデルのArduinoを使っていますが、それ以外でも勿論問題ありません。
電子工作ステーション 1170円(送料無料)(互換ボード)(Type-C)
※UNO以外、Nanoとかでも大丈夫です。
・スピーカー(1個~2個)
電子工作ステーション 420円+送料(200円以上で無料)
音割れを防ぐために大きめのスピーカーをお勧めします。⇩
・ブレットボード(どんな形状でもOK)
電子工作ステーション 110円(500円以上で送料無料)
※今回は170穴のミニボードを使っています。
・ジャンパーワイヤー(オス・オス)
電子工作ステーション 100円(500円以上で送料無料)
・みの虫クリップ (ジャンパーワイヤー:オス)(2個(スピーカー2つの場合は4本))
電子工作ステーション 35円~(500円以上で送料無料)
※スピーカを繋ぐために使います。スピーカを直接はんだ付けして使う場合は不要です。
・抵抗1kΩ(1本)
電子工作ステーション 3円+送料(200円以上で無料)
・Type-Cケーブル(持っていなければ)
電子工作ステーション 330円
・microSDカード(32GBまでサポート)
今回はサンディスクのmicroSDカードを使っています。
(既にお待ちであればそちらを使って頂いても問題ないです。)
|
※1曲の容量は5Mもしないので、1Gもあれば十分かと思いますが、今どき1GBのSDカードは割高になるので注意。
※32GBより大きいSDカードを使うと対応していない可能性があるのでご注意ください。
②「配線」
Arduino Uno | DFPlayer mini | アンプ(PAM8403) | スピーカー |
5V | VCC | VCC | |
11 | RX | ||
10 | TX | ||
SPK_1 | L | ||
GND | GND | GND | |
SPK_2 | B | ||
GND | |||
-ROUT | GND | ||
+ROUT | + | ||
-LOUT | GND | ||
+LOUT | + |
※DFPlayerのみの場合の配線図。
配線するとこんな感じになりましたwww
※予算節約のためスピーカーは一つだけにしました。
③「ライブラリー」
Arduino IDEでDFPlayer miniを使えるようにするにはまず、「DFRobotDFPlayerMini.h」をインストールします。
インストールの仕方⇩
「Arduino IDEを開く」→「ツール」→「ライブラリーを管理」→検索をフィルタ に「DFRobotDFPlayerMini」と入力
そうすると下記の画像のように出てくるので、これをインストールします。
完了したら次はmicroSDカードに音楽を入れましょう‼
④「microSDカードに音楽を入れる」
PCにSDカードを差してフォルダーなどは作らずに、ダイレクトにMP3音楽を入れます。
入れ終わったらPCから抜き、DFPlayer miniにSDカードを差しましょう‼
④「プログラミング」
下記のプログラムはmicroSDカードに入っている音楽を流すプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
//1曲流すプログラム。 #include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // IO10をRX, IO11をTXとしてアサイン SoftwareSerial mySoftwareSerial(10, 11); DFRobotDFPlayerMini myDFPlayer; void printDetail(uint8_t type, int value); void setup() { mySoftwareSerial.begin(9600); Serial.begin(9600); Serial.println(); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); // DFPlayerを初期化します。USBピンを使ってなければ、デバイスはSD(TF)カードが選択されます。 if (!myDFPlayer.begin(mySoftwareSerial)) { // 2秒以内に初期化できなかった場合はエラーメッセージを表示 Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while (true) { delay(0); // Code to compatible with ESP8266 watch dog. } } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.volume(20); // ボリュームをセット。(ボリュームは0から30の値で指定可能) myDFPlayer.play(1); // 先頭のmp3ファイルを再生 } void loop(){ } void printDetail(uint8_t type, int value) { } |
ビルドが上手くいいき、配線も間違っていなければDFPlayer miniのランプが光、音楽が流れます‼
ちなみに互換品は赤色、正規品は青色に光ります‼
※電子工作ステーションさんで売られている物は、MP3-TF-16Pは内蔵LEDが青色、
MP3-TF-16P V3.0は赤色となっているそうで、ロットによってどっちが送られて来るか分からないそうです。
⑤「結果」
無事、音は流れ大きくなりました‼
しかし、一つ問題が….
なんか、ジッジッジッというノイズらしき音が少し目立ってしまいました‼
正規品と互換品関係なく、同じノイズが流れたので、そこは関係なさそうです。
また、アンプが原因かと期待し、アンプモジュール(PAM8403)をアンプモジュール(PAM8406)に変えて試すも変化なく。
現時点では謎が解けず….
誰か分かる方コメントいただけると助かります…
原因が分かり次第追記したいと思います。
とりあえず、多少ノイズが気になりますが、大音量で流すことが成功しました‼
以上、ご閲覧ありがとうございました^^
DFPlayerの再生時にジリジリというノイズが出るのは、いくつか原因があります。
1)Arduino (TX) — 1kΩ—> (RX) DFPlayer とし、シリアルの電圧差を減らす。この方法は、発売元やいろいろなユーザーが報告しています。
2)カードスロットのシールドケース中央から、電源のマイナス側(電解コンデンサがあれば、その負極)に太いジャンパー線で繋げる。SDカード読み込み時に電流が大きく変動するので、グラウンド電位が暴れるためノイズが乗りやすので、バイパスしてそれを抑える効果があり、かなり静かになります。
とても参考になります。
ありがとうございます^^