はんだ付け不要キット第3弾「DFPlayerで音楽プレイヤーを作ろう‼」
こんにちは♪
今回は電子工作ステーションさんの大人気シリーズ、はんだ付け不要キット第3作品目のご紹介、及びマニュアルとなります‼
はんだ付けをしなくていいキットがあれば便利だな~という想いから電子工作ステーションさんと共同開発をし、
その3作品目がついに登場🔥
今回のテーマは、電子工作界では超有名の「DFPlayer mini」を使って音楽プレイヤーを作れちゃうキットとなります‼
ブレッドボードを使い、簡単に作れる音楽プレイヤーとなりますので、初心者は勿論、学習用向けとしてもおすすめです‼
それでは、作り方の方に入りたいと思います‼
①「 部品準備」
・【はんだ付け不要キット第3弾】DFPlayerで音楽プレイヤーを作ろう‼
・通信ケーブル(Type-C) (お持ちでない場合)
・電解コンデンサ(100μF) ※必須ではございません。
電流が足りず動作が不安定な場合に改善できます。
・モバイルバッテリー(必要であれば)
・マイクロSDカード (お持ちでない場合)
②「部品確認」
商品が届いたら不足品が無いかチェックしましょう!
| 品名 | 個数 |
| Arduino Nano(互換ボード) | 1 |
| DFPlayer mini(互換品) | 1 |
| スピーカー(オス) | 1 |
| ブレッドボード(400穴) | 1 |
| タクトスイッチ | 1 |
| 抵抗(1K) | 2 |
| ジャンパーピン(7mm) | 1 |
| ジャンパーピン(10mm) | 2 |
| ジャンパーピン(12mm) | 1 |
| ジャンパーピン(14mm) | 2 |
| ジャンパーピン(20mm) | 2 |
| ジャンパーピン(25mm) | 2 |
| ジャンパーピン(50mm) | 1 |
③「組み立て(回路)」
次に、ブレッドボードを使って組み立てていきます。
ブレッドボードは、はんだ付けなしで電子部品を差し込むだけで回路を組める、電子回路の試作や実験などに便利なプラスチック製の板です。
その仕組みは、内部に埋め込まれた細長い金属のクリップによる電気的な接続にあります。
詳しい仕組みなどは、こちらのサイトを参考にして頂けると分かりやすいです。
DFPlayer miniのピンの役割は下記の様になります。
DFPlayer Miniを切り欠き(丸い凹み)を上にして置いたときのピン配置です。
| ピン番号 | ピン名 | 役割(何に繋ぐか) |
主な用途・補足
|
| 1 | VCC | 電源のプラス |
3.3V 〜 5V(5V推奨)
|
| 2 | RX | データ受信 |
ArduinoのTXから1kΩの抵抗を挟んで接続
|
| 3 | TX | データ送信 |
ArduinoのRXへ接続
|
| 4 | DAC_R | オーディオ出力 右 |
アンプやイヤホン、ヘッドホンへ
|
| 5 | DAC_L | オーディオ出力 左 |
アンプやイヤホン、ヘッドホンへ
|
| 6 | SPK1 | スピーカー出力 1 |
3W以下のスピーカーを直接接続(極性なし)
|
| 7 | GND | 電源のマイナス |
マイコン(Arduino)側のGNDへ接続
|
| 8 | SPK2 | スピーカー出力 2 |
3W以下のスピーカーを直接接続(極性なし)
|
| 9 | IO_1 | スイッチ操作用 1 |
短押し:前の曲 / 長押し:音量下げる(単体動作時)
|
| 10 | GND | 電源のマイナス |
スピーカー・音響側のGND(ノイズ対策用)
|
| 11 | IO_2 | スイッチ操作用 2 |
短押し:次の曲 / 長押し:音量上げる(単体動作時)
|
| 12 | ADKEY1 | 拡張スイッチ用 1 |
抵抗を挟んで複数のボタンを接続可能
|
| 13 | ADKEY2 | 拡張スイッチ用 2 |
抵抗を挟んで複数のボタンを接続可能
|
| 14 | USB+ | USB端子のD+ |
PCと直接USB通信・データ書き換えを行う場合
|
| 15 | USB- | USB端子のD- |
PCと直接USB通信・データ書き換えを行う場合
|
| 16 | BUSY | 動作状態の出力 |
再生中はLOW、停止時はHIGHを出力(曲の終了検知用)
|
接続はこのようになります。
| Arduino Nano | 中間取り付け部品 | DFPlayer Mini |
| 5V | VDD(1) | |
| GND | GND(7) | |
| D5 | 抵抗 | TX(3) |
| D6 | 抵抗 | RX(2) |
| D10 | BUSY(16) | |
| D2 | タクトスイッチ | GND(10) |
| スピーカー | SPK1 | |
| スピーカー | SPK2 |
手順1
ジャンパーピンを下記の様に配置していきます。
④「開発環境、ライブラリーの準備」
今回はArduino Nanoを使いますので、Arduino IDEというソフトでプログラミングをしていきたいと思います。
Arduino IDEをまだダウンロードされていない方は、前回の記事の「④「開発環境、ライブラリーの準備」」をご覧ください。
次に、ライブラリーをArduino IDEに入れます。
※ライブラリとは、プログラミングにおける「便利な道具箱」です。
これを使うことで、複雑な機能をゼロから書く手間が省け、より簡単に、そして効率的にプログラミングができます。
Arduino IDEの上の方にある「ツール」をクリックし、「ライブラリーを管理…」をクリックします。
そうするとライブマネージャーが開きますので、「DFRobotDFPlayerMini」と検索します。
このライブラリーを使うことで、簡単にDFPlayer miniを動かせるようになります‼
⑤「SDカードに音楽を入れる」
➅「プログラミング」
|
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 41 42 43 44 |
#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(5, 6); // TX,RX DFRobotDFPlayerMini myDFPlayer; const int buttonPin = 2; // スイッチのピン const int busyPin = 10; // DFPlayerのBUSYピンを接続 int lastButtonState = HIGH; void setup() { mySoftwareSerial.begin(9600); Serial.begin(115200); pinMode(buttonPin, INPUT_PULLUP); pinMode(busyPin, INPUT); // BUSYピンの状態を読み取る if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println("DFPlayerの初期化に失敗しました"); while(true); } myDFPlayer.volume(10); // 音量設定 (0~30) myDFPlayer.play(1); // 1曲目を再生 delay(500); // 再生が始まるまで少し待つ } void loop() { int buttonState = digitalRead(buttonPin); int busyState = digitalRead(busyPin); // 1. ボタンが押されたら次の曲へ if (buttonState == LOW && lastButtonState == HIGH) { myDFPlayer.next(); delay(500); // チャタリング防止と次の曲が始まるまでの猶予 } lastButtonState = buttonState; // 2. 曲が終わったら自動で次の曲へ // (BUSYピンがHIGH = 再生停止中) if (busyState == HIGH) { myDFPlayer.next(); delay(500); // 連続でnext()が呼ばれるのを防ぐ } } |
⑦「結果」
※起動させてもぷつぷつと音が鳴るだけの場合は電力不足が考えられます。
DFPlayerのVCCとGNDのすぐ近くに、大きめの電解コンデンサ(100uF〜1000uF程度)を挟むと、電力不足が補われて安定します。
現在制作中。



