Sommario:
- Forniture
- Passaggio 1: cos'è il modulo DF Mini Player MP3?
- Passo 2:
- Passaggio 3: controllo del lettore DFMini con Arduino
- Passaggio 4:
Video: Come utilizzare il modulo MP3 DFMini Player con Arduino: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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?
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:
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
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:
Come utilizzare il modulo RFID-RC522 con Arduino: 5 passaggi
Come utilizzare il modulo RFID-RC522 con Arduino: In questo Instructable, darò una panoramica sul principio di funzionamento fondamentale del modulo RFID accoppiato con i suoi tag e chip. Fornirò anche un breve esempio di un progetto che ho realizzato utilizzando questo modulo RFID con un LED RGB. Come al solito con i miei Ins
Come utilizzare il motore passo-passo come encoder rotativo e display OLED per passaggi: 6 passaggi
Come utilizzare il motore passo-passo come encoder rotativo e display OLED per i passaggi: In questo tutorial impareremo come tenere traccia dei passaggi del motore passo-passo sul display OLED. Guarda un video dimostrativo. Il merito del tutorial originale va all'utente di YouTube "sky4fly"
Come utilizzare il modulo pulsanti con SkiiiD: 9 passaggi
Come utilizzare il modulo pulsanti con SkiiiD: questo progetto è un'istruzione su come utilizzare Buzzer HW-508 (applicabile per KY-006) con Arduino tramite skiiiDB Prima di iniziare, di seguito è riportato un tutorial di base su come utilizzare skiiiD https:// www.instructables.com/id/Getting-Started-With-SkiiiD-Editor
Come utilizzare il terminale Mac e come utilizzare le funzioni chiave: 4 passaggi
Come utilizzare il terminale Mac e come utilizzare le funzioni chiave: ti mostreremo come aprire il terminale MAC. Ti mostreremo anche alcune funzionalità all'interno del Terminale, come ifconfig, il cambio di directory, l'accesso ai file e arp. Ifconfig ti permetterà di controllare il tuo indirizzo IP e il tuo annuncio MAC
Come utilizzare il modulo sensore IR TCRT5000 con Arduino UNO: 7 passaggi (con immagini)
Come utilizzare il modulo sensore IR TCRT5000 con Arduino UNO: In questo tutorial, ti insegneremo alcune nozioni di base sull'utilizzo del modulo sensore IR TCRT5000. Questi elementi di base ti mostrano i valori analogici e digitali sul monitor seriale. Descrizione: questo sensore riflettente IR utilizza un TCRT5000 per rilevare il colore e