Kazalo:

MP3 predvajalnik z Arduinom: 6 korakov
MP3 predvajalnik z Arduinom: 6 korakov

Video: MP3 predvajalnik z Arduinom: 6 korakov

Video: MP3 predvajalnik z Arduinom: 6 korakov
Video: Eazy-E - Real Muthaphuckkin G's (Music Video) 2024, November
Anonim
Image
Image
Podatkovni list
Podatkovni list

V tem sklopu smo uporabili mp3 predvajalnik z Arduino Uno, mini ojačevalnik zvoka PAM8403 z nastavitvijo glasnosti, mp3 modul DFPlayer Mini in par 3-vatnih zvočnikov.

Ta shema ne služi le predvajalniku glasbe, ampak med drugim omogoča tudi glasovne funkcije za napravo za parkiranje ali robota. Ta sklop bo omogočil namestitev posnetega glasu v aparate. Ta glas bo naraven in ne sintetiziran. Za večino ljudi so to prednostne funkcije v primerjavi s standardnimi alternativami.

Za ta sklop uporabljamo posebej Arduino Uno, lahko pa se povežete tudi z ESP8266 ali ESP32. Očitno bo potrebna prilagoditev na zatičih.

1. korak: podatkovni list

2. korak: modul DFPlayer

Modul DFPlayer
Modul DFPlayer

Modul DFPlayer uporablja serijsko komunikacijo RX TX, VCC, GND. Ima izhod na dva zvočnika in avdio vhod.

3. korak: Mini ojačevalnik PAM8403

Mini ojačevalnik PAM8403
Mini ojačevalnik PAM8403

4. korak: Montaža

Montaža
Montaža

5. korak: Knjižnice

Knjižnice
Knjižnice

Za komunikacijo z modulom mp3 dodajte naslednjo knjižnico "DFRobotDFPlayerMini".

Preprosto odprite "Skica >> Vključi knjižnice >> Upravljanje knjižnic …"

6. korak: izvorna koda

Začeli bomo z opredelitvijo knjižnic in konstant, ki jih bomo uporabljali s svojo kodo.

Začnite z ustvarjanjem enega predmeta, serijske programske opreme in drugega, ki je myDFPlayer.

Spremenljivka buf, ki je vrste String, bo služila za shranjevanje podatkov, ki prihajajo iz Arduino Serial, kar bodo ukazi za modul MP3. Spremenljivka "pause" bo uporabljena za označevanje, ali se glasba predvaja ali je zaustavljena (pause = true in označuje, da je zaustavljena, sicer se predvaja).

#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia a serial or software software nos pinos 10 e 11 SoftwareSerial mySoftwareSerial (10, 11); // RX, TX // Objektivno odzivnik za komunikacijo z MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // različni odzivi za armazenar os comandos enviados para controler o player String buf; // različni odziv na armazenar o estado do player (0: tocando; 1: pausado) boolean pausa = false; // variaável responsável por armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0; // (0 = Normal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Classic, 5 = Bass) "// različni odzivi po armazenarju o skupni glasbi ne predstavljajo kartice SD. Int maxSongs = 0;

Nastaviti

V tem koraku dajemo možnosti natisov, ki vam nakazujejo, da montira vezje, na primer z ocenami napačnih pogojev.

void setup () {// Comunicacao serijski com o modulo mySoftwareSerial.begin (9600); // Inicializa a serial do 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 modulo DFPlayer … (3 ~ 5 sekund)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1. Cheque kot conexoes do DFPlayer Mini"); Serial.println ("2. Insira um cartao SD"); medtem ko (res); } Serial.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Definicies iniciais myDFPlayer.setTimeOut (500); // Časovna omejitev serijske 500 ms myDFPlayer.volume (10); // zvezek 10 od 0 do 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 ();

Meni z možnostmi

Celoten sklop upravljate prek serijskega monitorja. Tako bo shema vsakič natisnila meni Možnosti, ki ga imate, z ukazi, navodili.

void menu_opcoes () {Serial.println (); Serial.println ("Comandos:"); Serial.print ("[1-"); Serial.print (maxSongs); Serial.println ("] Para selecionar o arquivo MP3"); Serial.println ("[s] parar reproducao"); Serial.println ("[p] pausa/continua a musica"); Serial.println ("[e] seleciona equalizacao"); Serial.println ("[+ ali -] aumenta ou diminui o volume"); Serial.println (); }

Zanka

void loop () {// Aguarda a entrada de dados pela serial while (Serial.available ()> 0) {// recupera os dados de entrada buf = Serial.readStringUntil ('\ n'); // Reproducao (índice da música) if ((buf.toInt ()> = 1) && (buf.toInt () <= maxSongs)) {Serial.print ("Reproduzindo musica:"); Serial.println (buf.toInt ()); myDFPlayer.play (buf.toInt ()); // dá play na música menu_opcoes (); } // Pausa/Nadaljuj musico if (buf == "p") {if (pausa) {Serial.println ("Continua musica …"); myDFPlayer.start (); } else {Serial.println ("Musica pausada …"); myDFPlayer.pause (); } pausa =! pausa; menu_opcoes (); } // Parada if (buf == "s") {myDFPlayer.stop (); Serial.println ("Musica parada!"); menu_opcoes (); } // Izberite equalizacao if (buf == "e") {equalizacao ++; if (equalizacao == 6) {equalizacao = 0; } myDFPlayer. EQ (izenačitev); Serial.print ("Equalizacao:"); Serijski.tisk (equalizacao); Serial.println ("(0 = Normal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Classic, 5 = Bass)"); menu_opcoes (); } // Glasnost Aumenta if (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("Atualni obseg:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // Zmanjšaj glasnost if (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("Atualni obseg:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // while} // zanka

Priporočena: