Sommario:

Come utilizzare il modulo MP3 DFMini Player con Arduino: 4 passaggi
Come utilizzare il modulo MP3 DFMini Player con Arduino: 4 passaggi

Video: Come utilizzare il modulo MP3 DFMini Player con Arduino: 4 passaggi

Video: Come utilizzare il modulo MP3 DFMini Player con Arduino: 4 passaggi
Video: A compete guide to mp3 Module using Arduino & ESP32 board | DFPlayer Mini | Arduino Projects 2024, Novembre
Anonim
Come utilizzare il modulo MP3 DFMini Player con Arduino
Come utilizzare il modulo MP3 DFMini Player con Arduino

Diversi progetti richiedono la riproduzione del suono per aggiungere qualche tipo di funzionalità. Tra questi progetti, segnaliamo: l'accessibilità per i non vedenti, lettori musicali MP3 e l'esecuzione di suoni vocali da parte di robot, per esempio.

In tutti questi sistemi, abbiamo bisogno di un dispositivo di riproduzione del suono MP3 per connetterci ad Arduino. Pertanto, in questo articolo impareremo i seguenti punti: Circuito di funzionamento di base del DFMini Player MP3;Organizzazione e configurazione dei file audio sulla scheda di memoria;Controllo musicale con Arduino.

Forniture

PCBWay PCB personalizzato;

Modulo DFPlayer Mini MP3 - UTSOURCE;

Resistenza 10kR - UTSOURCE;

Pulsante interruttore - UTSOURCE;

Tagliere - UTSOURCE;

Arduino UNO - UTSOURCE;

Pin intestazione - UTSOURCE;

Passaggio 1: cos'è il modulo DF Mini Player MP3?

Che cos'è il modulo DF Mini Player MP3?
Che cos'è il modulo DF Mini Player MP3?
Che cos'è il modulo DF Mini Player MP3?
Che cos'è il modulo DF Mini Player MP3?

Il modulo DFMini Player è un piccolo riproduttore musicale, lowcost e di bassa potenza che ha lo scopo di riprodurre i suoni memorizzati su una memory card.

In base a questo il modulo può essere controllato tramite la modalità standalone, cioè in questa modalità ci sarà solo il modulo DFMini, una batteria per alimentare, l'altoparlante, i pulsanti per controllarlo e la SD Card con i brani. Un altro modo per controllarlo è usare un Arduino o un altro dispositivo di controllo.

L'Arduino, ad esempio, invierà i comandi tramite comunicazione seriale con il DFMini Player Module. Il modulo DFMini Player è mostrato in Figura 1.

Per controllarlo, è importante utilizzare il circuito standalone di base. Questo circuito è mostrato in Figura 2.

I due pulsanti mostrati nel circuito in alto servono per cambiare i brani musicali e controllare il volume del suono. Il pulsante collegato al pin IO1 serve per passare al brano precedente e abbassare il volume. Con un tocco veloce il sistema torna al brano precedente, tuttavia, se si preme il pulsante per più di 1 secondo, il sistema ridurrà il volume del brano.

Il pulsante collegato al pin IO2 serve per passare alla traccia successiva e aumentare il volume. Con un tocco veloce il sistema avanza al brano successivo, tuttavia, se si preme il pulsante per più di 1 secondo, il sistema aumenterà il volume del brano.

Passo 2:

Immagine
Immagine

In questo metodo autonomo, i brani devono essere salvati sulla scheda di memoria, come mostrato nella Figura 3.

In questo modo, ogni volta che si premono i pulsanti, il sistema riprodurrà ogni brano in ordine crescente o decrescente. Tuttavia, quando si utilizza Arduino o un altro dispositivo di controllo, è necessario modificare il modo di organizzare i file musicali sulla scheda SD.

Ora spiegherò come controllare il DFMini Player usando Arduino attraverso la comunicazione seriale.

Passaggio 3: controllo del lettore DFMini con Arduino

Controllo del lettore DFMini con Arduino
Controllo del lettore DFMini con Arduino
Controllo del lettore DFMini con Arduino
Controllo del lettore DFMini con Arduino

In questo passaggio, il controllo del volume, il controllo della gamma, i comandi di equalizzazione e altre funzionalità verranno inviati da Arduino.

L'Arduino deve comunicare via seriale con il DFMini Player e inviare i comandi di controllo.

Lo schema elettronico del circuito di controllo è mostrato in Figura 4.

Innanzitutto, dobbiamo assemblare il circuito mostrato nella figura sottostante. Dopo aver assemblato questo circuito, è necessario aggiungere i brani sulla scheda di memoria. In questo passaggio, le canzoni dovrebbero essere rinominate come 01, 02, 03, per esempio.

Non puoi lasciare le canzoni con i loro nomi, poiché ci sarà un problema quando Arduino invia il comando per eseguire la traccia specifica. Pertanto, è necessario configurare come mostrato di seguito.

Passaggio 4:

Dopo aver nominato i file, scrivi il seguente codice sul tuo Arduino.

//Attende l'immissione dei dati tramite serialwhile (Serial.available() > 0) { command = Serial.read(); if ((comando >= '1') && (comando <= '9')) { Serial.print("Riproduzione musicale"); Serial.println(comando); comando = comando - 48; myDFPlayer.play(comando); menu_opcoes(); } //Riproduzione //Stop if (comando == 's') { myDFPlayer.stop(); Serial.println("Musica interrotta!"); menu_opcoes(); } //Pausa/Continua a musica if (comando == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Continua…"); mioDFPlayer.start(); } if (pausa == 1) { Serial.println("Musica in pausa!"); myDFPlayer.pause(); } menu_opcoes(); }

//Aumenta il volume

if (comando == '+') { mioDFPlayer.volumeUp(); Serial.print("Volume attuale:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (comando == '') { myDFPlayer.next(); Serial.println("successivo:"); Serial.print("Traccia corrente:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Diminuisce il volume if (comando == '-') { myDFPlayer.volumeDown(); Serial.print("Volume corrente:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } } void menu_opcoes() { Serial.println(); Serial.println(F("=========================================== ================================================== =====================================")); Serial.println(F("Comandi:")); Serial.println(F(" [1-3] Per selezionare il file MP3")); Serial.println(F("[s] interrompe la riproduzione")); Serial.println(F(" [p] metti in pausa/continua la musica")); Serial.println(F("[+ o -] aumenta o diminuisce il volume")); Serial.println(F(" avanti o indietro nella traccia")); Serial.println(); Serial.println(F("=========================================== ================================================== ====================================")); }

Il codice presentato sopra è abbastanza semplice e ti aiuterà a selezionare la canzone in base al suo numero, fermare, mettere in pausa, controllare il volume e passare le tracce.

Il controllo musicale consiste nell'invio dei dati dalla seriale IDE di Arduino alla nostra scheda Arduino. Inizialmente il sistema effettua la configurazione nel setup e verifica se la SD Card è inserita nel modulo.

Se non è inserito, il sistema presenta un messaggio per avvisare l'utente.

Inoltre, il sistema visualizza i messaggi con le opzioni di configurazione del sistema.

void setup(){ //Comunicacao serial com o modulo mySoftwareSerial.begin(9600); //Inizializzazione di un seriale con Arduino Serial.begin(115200); //Verifica se o modulo esta responseendo e se o //cartao SD foi encontrado Serial.println(); Serial.println(F("DFRobot DFPlayer Mini")); Serial.println(F("Inizializzazione modulo DFPlayer… Attendere!")); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println(F("Non inizializzato:")); Serial.println(F("1. Controllare le connessioni di DFPlayer Mini")); Serial.println(F("2. Inserisci una scheda SD")); mentre (vero); } Serial.println(); Serial.println(F("Modulo DFPlayer Mini inizializzato!")); //Definicoes iniciais myDFPlayer.setTimeOut(500); //Timeout seriale 500ms myDFPlayer.volume(5); //Volume 5 myDFPlayer. EQ(0); //Equalizacao normale menu_opcoes(); }

Se la memory card è inserita, il flusso di codice entrerà nella funzione loop.

void loop(){ //Attende l'immissione dei dati tramite seriale while (Serial.available() > 0) { command = Serial.read(); if ((comando >= '1') && (comando <= '3')) { Serial.print("Riproduzione musicale"); Serial.println(comando); comando = comando - 48; myDFPlayer.play(comando); menu_opcoes(); } //Riproduzione //Stop if (comando == 's') { myDFPlayer.stop(); Serial.println("Musica interrotta!"); menu_opcoes(); } //Pausa/Continua a musica if (comando == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Continua…"); mioDFPlayer.start(); } if (pausa == 1) { Serial.println("Musica in pausa!"); myDFPlayer.pause(); } menu_opcoes(); }

//Aumenta il volume

if (comando == '+') { mioDFPlayer.volumeUp(); Serial.print("Volume attuale:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (comando == '') { myDFPlayer.next(); Serial.println("successivo:"); Serial.print("Traccia corrente:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Diminuisce il volume if (comando == '-') { myDFPlayer.volumeDown(); Serial.print("Volume corrente:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } }

L'utente può inviare i seguenti caratteri di controllo:

Numeri da 1 a 3: Seleziona il brano da riprodurre;

  • Lettera s: ferma la canzone; Lettera p: metti in pausa la canzone;
  • Invia il segno +: aumenta il volume del brano;
  • Invia il segnale -: Diminuisce il volume della canzone;
  • Invia il segnale <: Seleziona la canzone precedente;
  • Invia il segnale >: Seleziona la canzone successiva;

Da questi segnali, lettere e numeri, Arduino li riceverà via seriale e controllerà la musica da riprodurre.

Ogni condizione è presentata di seguito e internamente, con i rispettivi comandi.

if ((comando >= '1') && (comando <= '3')){ Serial.print("Riproduzione musicale"); Serial.println(comando); comando = comando - 48; myDFPlayer.play(comando); menu_opcoes(); } //Riproduzione //Stop if (comando == 's') { myDFPlayer.stop(); Serial.println("Musica interrotta!"); menu_opcoes(); } //Pausa/Continua a musica if (comando == 'p') { pausa = !pausa; if (pausa == 0) { Serial.println("Continua…"); mioDFPlayer.start(); } if (pausa == 1) { Serial.println("Musica in pausa!"); myDFPlayer.pause(); } menu_opcoes(); }

//Aumenta il volume

if (comando == '+') { mioDFPlayer.volumeUp(); Serial.print("Volume attuale:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (comando == '') { myDFPlayer.next(); Serial.println("successivo:"); Serial.print("Traccia corrente:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Diminuisce il volume if (comando == '-') { myDFPlayer.volumeDown(); Serial.print("Volume corrente:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } }

Quindi, se hai applicato tutti i passaggi presentati, sei stato in grado di imparare:

  • Circuito di funzionamento di base del DFMini Player MP3;
  • Organizzazione e configurazione di file audio sulla scheda di memoria;
  • Controllo musicale con Arduino. Da questo codice, puoi sviluppare altri progetti che necessitano di utilizzare il suono come funzionalità del sistema.

Ringraziamenti

Per finire, ti ringraziamo per la tua lettura e per il supporto di PCBWAY. COM per aver supportato Silício Lab nella produzione di questo articolo per te.

Il Silícios Lab ringrazia UTSOURCE per offrire i componenti elettronici per costruire questo progetto.

Consigliato: