Съдържание:

MP3 плейър с Arduino: 6 стъпки
MP3 плейър с Arduino: 6 стъпки

Видео: MP3 плейър с Arduino: 6 стъпки

Видео: MP3 плейър с Arduino: 6 стъпки
Видео: Arduino Start #6. Модуль MP3 и ARDUINO 2024, Ноември
Anonim
Image
Image
Информационен лист
Информационен лист

В този монтаж използвахме mp3 плейър с Arduino Uno, мини PAM8403 звуков усилвател с регулиране на силата на звука, mp3 модул DFPlayer Mini и чифт 3-ватови високоговорители.

Тази схема служи не само за музикалния плейър, но също така позволява и гласови функции за устройство за бариера за паркиране или робот, наред с други. Този монтаж ще позволи поставянето на записан глас в апаратите. Този глас ще бъде естествен и не синтезиран. За повечето хора това са предпочитани функции в сравнение със стандартните алтернативи.

За този монтаж използваме специално Arduino Uno, но можете да се свържете и с ESP8266 или ESP32. Очевидно ще е необходима настройка на щифтовете.

Стъпка 1: Информационен лист

Стъпка 2: DFPlayer модул

Модул DFPlayer
Модул DFPlayer

Модулът DFPlayer използва серийната комуникация RX TX, VCC, GND. Има изход към два високоговорителя и аудио вход.

Стъпка 3: Мини усилвател PAM8403

Мини усилвател PAM8403
Мини усилвател PAM8403

Стъпка 4: Монтаж

Монтаж
Монтаж

Стъпка 5: Библиотеки

Библиотеки
Библиотеки

Добавете следната библиотека „DFRobotDFPlayerMini“за комуникация с mp3 модула.

Просто влезте в „Скица >> Включване на библиотеки >> Управление на библиотеки…“

Стъпка 6: Изходен код

Ще започнем с дефиниране на библиотеките и константите, които ще използваме с нашия код.

Започнете, като създадете един обект, серийния софтуер и друг, който е myDFPlayer.

Променливата buf, която е от тип String, ще служи за съхраняване на данните, идващи от Arduino Serial, които ще бъдат командите за MP3 модула. Променливата "пауза" ще се използва, за да посочи дали музиката се възпроизвежда или е на пауза (пауза = вярно и показва, че е поставена на пауза, в противен случай тя свири).

#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia сериен или софтуерен номер на pinos 10 и 11 SoftwareSerial mySoftwareSerial (10, 11); // RX, TX // Обект на отговор за комуникация с MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // разнообразен отговор на армазарна система за управление на командите за контролер или плейър String buf; // променлив отговор на армазерен или игрален (0: tocando; 1: pausado) булева пауза = невярно; // variável responsável por armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0; // (0 = Нормално, 1 = Поп, 2 = Рок, 3 = Джаз, 4 = Класика, 5 = Бас) "// променлив отговор по отношение на арматурата за общо музикално представяне без SD карта. Int maxSongs = 0;

Настройвам

В тази стъпка поставяме опции за отпечатъци, за да ви дадем индикации, че монтира веригата, например с оценки на фалшиви условия.

void setup () {// Comunicacao сериен com o по модул mySoftwareSerial.begin (9600); // Инициализиране на сериен до Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println ("DFRobot DFPlayer Mini"); Serial.println ("Inicializando по модул DFPlayer … (3 ~ 5 секунди)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1. Cheque като conexoes правят DFPlayer Mini"); Serial.println ("2. Insira um cartao SD"); while (вярно); } Serial.println (); Serial.println ("Inicializado на Modulo DFPlayer Mini!"); // Инициализирани определения myDFPlayer.setTimeOut (500); // Серийно изчакване 500 ms myDFPlayer.volume (10); // том 10 от 0 до 30 myDFPlayer. EQ (0); // Equalizacao normal // recupera o numero de Músicas encontradas no SD. maxSongs = myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD); Serial.println (); Serial.print ("Numero de arquivos no cartao SD:"); Serial.println (maxSongs); // Mostra o menu de comandos menu_opcoes ();

Меню с опции

Вие управлявате целия този монтаж чрез сериен монитор. Така че всеки път схемата ще отпечатва менюто с опции, което имате, с команди, упътвания.

void menu_opcoes () {Serial.println (); Serial.println ("Командос:"); Serial.print ("[1-"); Serial.print (maxSongs); Serial.println ("] Para selecionar or arquivo MP3"); Serial.println ("[s] parar reproducao"); Serial.println ("[p] pausa/continua a musica"); Serial.println ("[e] seleciona equalizacao"); Serial.println ("[+ или -] aumenta ou diminui o volume"); Serial.println (); }

Цикъл

void loop () {// Aguarda a entrada de dados pela serial while (Serial.available ()> 0) {// recupera os dados de entrada buf = Serial.readStringUntil ('\ n'); // Възпроизвеждане (índice da música) if ((buf.toInt ()> = 1) && (buf.toInt () <= maxSongs)) {Serial.print ("Reproduzindo musica:"); Serial.println (buf.toInt ()); myDFPlayer.play (buf.toInt ()); // пускане на музика menu_opcoes (); } // Пауза/Продължаване на musica if (buf == "p") {if (pausa) {Serial.println ("Continua musica …"); myDFPlayer.start (); } else {Serial.println ("Musica pausada …"); myDFPlayer.pause (); } пауза =! пауза; menu_opcoes (); } // Парада if (buf == "s") {myDFPlayer.stop (); Serial.println ("Musica parada!"); menu_opcoes (); } // Избор на equalizacao if (buf == "e") {equalizacao ++; if (equalizacao == 6) {equalizacao = 0; } myDFPlayer. EQ (изравняване); Serial.print ("Equalizacao:"); Serial.print (equalizacao); Serial.println ("(0 = Нормално, 1 = Поп, 2 = Рок, 3 = Джаз, 4 = Класика, 5 = Бас)"); menu_opcoes (); } // Сила на звука if (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("Актуален том:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // Намаляване на силата на звука if (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("Актуален том:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // while} // цикъл

Препоръчано: