Indholdsfortegnelse:

Sådan bruges DFMini -afspillerens MP3 -modul med Arduino: 4 trin
Sådan bruges DFMini -afspillerens MP3 -modul med Arduino: 4 trin

Video: Sådan bruges DFMini -afspillerens MP3 -modul med Arduino: 4 trin

Video: Sådan bruges DFMini -afspillerens MP3 -modul med Arduino: 4 trin
Video: Sådan bruges en overfræser 2024, November
Anonim
Sådan bruges DFMini -afspillerens MP3 -modul med Arduino
Sådan bruges DFMini -afspillerens MP3 -modul med Arduino

Flere projekter kræver lydgengivelse for at tilføje en form for funktionalitet. Blandt disse projekter fremhæver vi: tilgængelighed for svagtseende, MP3 -musikafspillere og eksekvering af stemmelyde fra f.eks. Robotter.

I alle disse systemer har vi brug for en MP3 -lydgengivelsesenhed for at oprette forbindelse til Arduino. Derfor lærer vi i denne artikel følgende punkter: Grundlæggende betjeningskredsløb for DFMini -afspilleren MP3; Organisering og konfiguration af lydfiler på hukommelseskortet; Musikalsk kontrol med Arduino.

Forbrugsvarer

PCBWay Custom PCB;

DFPlayer Mini MP3 -modul - UTSOURCE;

10kR Modstand - UTSOURCE;

Skift knap - UTSOURCE;

Brødbræt - UTSOURCE;

Arduino UNO - UTSOURCE;

Header Pin - UTSOURCE;

Trin 1: Hvad er DF Mini Player MP3 -modulet

Hvad er DF Mini Player MP3 -modulet
Hvad er DF Mini Player MP3 -modulet
Hvad er DF Mini Player MP3 -modulet
Hvad er DF Mini Player MP3 -modulet

DFMini Player -modulet er en lille musikafspiller, lavpris og lav effekt, der har til formål at gengive lyde, der er gemt på et hukommelseskort.

Baseret på dette kan modulet styres via standalone mode, det vil sige i denne tilstand vil der kun være DFMini -modulet, et batteri til strøm, højttaleren, knapper til at styre det og SD -kortet med sangene. En anden måde at styre det på er at bruge en Arduino eller en anden kontrolenhed.

Arduino sender f.eks. Kommandoer via seriel kommunikation med DFMini Player -modulet. DFMini Player -modulet er vist i figur 1.

For at kontrollere det er det vigtigt at bruge det grundlæggende selvstændige kredsløb. Dette kredsløb er vist i figur 2.

De to knapper vist i kredsløbet ovenfor bruges til at ændre musiknumre og styre lydstyrken. Knappen, der er forbundet til pin IO1, bruges til at gå til det forrige nummer og reducere lydstyrken. Med et hurtigt tryk vender systemet tilbage til den forrige sang, men hvis du trykker på knappen i mere end 1 sekund, reducerer systemet lydstyrken på sangen.

Knappen tilsluttet pin IO2 bruges til at gå til det næste nummer og øge lydstyrken. Med et hurtigt tryk går systemet videre til den næste sang, men hvis du trykker på knappen i mere end 1 sekund, øger systemet lydstyrken på sangen.

Trin 2:

Billede
Billede

I denne selvstændige metode skal sangene gemmes på hukommelseskortet, som vist i figur 3.

På denne måde, hver gang der trykkes på knapperne, afspiller systemet hver sang i stigende eller faldende rækkefølge, men når vi bruger Arduino eller en anden kontrolenhed, skal vi ændre måden at organisere musikfilerne på SD -kortet på.

Nu forklarer jeg, hvordan du styrer DFMini -afspilleren ved hjælp af Arduino gennem seriel kommunikation.

Trin 3: Styring af DFMini -afspilleren med Arduino

Styring af DFMini -afspilleren med Arduino
Styring af DFMini -afspilleren med Arduino
Styring af DFMini -afspilleren med Arduino
Styring af DFMini -afspilleren med Arduino

I dette trin sendes lydstyrkekontrol, områdekontrol, udligningskommandoer og andre funktioner af Arduino.

Arduino skal kommunikere via serien med DFMini -afspilleren og sende kontrolkommandoerne.

Det elektroniske skema for styrekredsløbet er vist i figur 4.

Først skal vi samle det kredsløb, der er vist i figuren nedenfor. Efter samlingen af dette kredsløb skal du tilføje sangene på dit hukommelseskort. I dette trin skal sangene f.eks. Omdøbes til 01, 02, 03.

Du kan ikke efterlade sangene med deres navne, da der vil være et problem, når Arduino sender kommandoen til at udføre det specifikke spor. Derfor skal du konfigurere som vist nedenfor.

Trin 4:

Når du har navngivet filerne, skal du skrive følgende kode på din Arduino.

// Venter på dataindtastning via seriel (Serial.available ()> 0) {command = Serial.read (); if ((kommando> = '1') && (kommando <= '9')) {Serial.print ("Musikgengivelse"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduktion // Stop hvis (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musik stoppet!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; hvis (pausa == 0) {Serial.println ("Fortsæt …"); myDFPlayer.start (); } hvis (pausa == 1) {Serial.println ("Musik sat på pause!"); myDFPlayer.pause (); } menu_opcoes (); }

// Øger lydstyrken

hvis (kommando == '+') {myDFPlayer.volumeUp (); Serial.print ("Nuværende volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } hvis (kommando == '') {myDFPlayer.next (); Serial.println ("næste:"); Serial.print ("Nuværende nummer:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sænker lydstyrken, hvis (kommando == '-') {myDFPlayer.volumeDown (); Serial.print ("Nuværende volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} ugyldig menu_opcoes () {Serial.println (); Serial.println (F ("============================================= ===================================================== ======================================= ")); Serial.println (F ("Kommandoer:")); Serial.println (F ("[1-3] For at vælge MP3-filen")); Serial.println (F ("[s] stopper reproduktion")); Serial.println (F ("[p] pause/fortsæt musik")); Serial.println (F ("[+ eller -] øger eller reducerer lydstyrken")); Serial.println (F (" spor frem eller tilbage")); Serial.println (); Serial.println (F ("============================================= ===================================================== ====================================== ")); }

Koden præsenteret ovenfor er ganske enkel og hjælper dig med at vælge sangen efter dens nummer, stoppe, pause, styre lydstyrken og passere sporene.

Den musikalske kontrol består af at sende data fra Arduino IDE -serien til vores Arduino -kort. I første omgang foretager systemet konfigurationen i opsætningen og kontrollerer, om SD -kortet er indsat i modulet.

Hvis det ikke er indsat, viser systemet en meddelelse for at advare brugeren.

Derudover viser systemet meddelelser med systemkonfigurationsmuligheder.

void setup () {// Comunicacao seriel com eller modul 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 (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Initialiserer DFPlayer -modul … Vent!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Ikke initialiseret:")); Serial.println (F ("1. Kontroller DFPlayer Mini -forbindelserne")); Serial.println (F ("2. Indsæt et SD -kort")); mens (sandt); } Serial.println (); Serial.println (F ("DFPlayer Mini -modul initialiseret!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Timeout seriel 500ms myDFPlayer.volume (5); // bind 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Hvis hukommelseskortet er isat, går kodeflowet ind i loop -funktionen.

void loop () {// Venter på dataindtastning via seriel mens (Serial.available ()> 0) {command = Serial.read (); if ((kommando> = '1') && (kommando <= '3')) {Serial.print ("Musikgengivelse"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduktion // Stop hvis (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musik stoppet!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; hvis (pausa == 0) {Serial.println ("Fortsæt …"); myDFPlayer.start (); } hvis (pausa == 1) {Serial.println ("Musik sat på pause!"); myDFPlayer.pause (); } menu_opcoes (); }

// Øger lydstyrken

hvis (kommando == '+') {myDFPlayer.volumeUp (); Serial.print ("Nuværende volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } hvis (kommando == '') {myDFPlayer.next (); Serial.println ("næste:"); Serial.print ("Nuværende nummer:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sænker lydstyrken, hvis (kommando == '-') {myDFPlayer.volumeDown (); Serial.print ("Nuværende volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Brugeren kan sende følgende kontroltegn:

Nummer 1 til 3: Vælg den sang, der skal afspilles;

  • Bogstaver s: Stop sangen; Bogstavet p: Sangen sættes på pause;
  • Send + -tegnet: Forøg sangens lydstyrke;
  • Send signalet - Reducer sangens lydstyrke;
  • Send signalet <: Vælg den forrige sang;
  • Send signal>: Vælg den næste sang;

Fra disse signaler, bogstaver og tal vil Arduino modtage dem via føljetonen og styre musikken, der skal afspilles.

Hver tilstand er præsenteret nedenfor og internt med sine respektive kommandoer.

if ((kommando> = '1') && (kommando <= '3')) {Serial.print ("Musikgengivelse"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduktion // Stop hvis (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musik stoppet!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; hvis (pausa == 0) {Serial.println ("Fortsæt …"); myDFPlayer.start (); } hvis (pausa == 1) {Serial.println ("Musik sat på pause!"); myDFPlayer.pause (); } menu_opcoes (); }

// Øger lydstyrken

hvis (kommando == '+') {myDFPlayer.volumeUp (); Serial.print ("Nuværende volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } hvis (kommando == '') {myDFPlayer.next (); Serial.println ("næste:"); Serial.print ("Nuværende nummer:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sænker lydstyrken, hvis (kommando == '-') {myDFPlayer.volumeDown (); Serial.print ("Nuværende volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Så hvis du anvendte alle de viste trin, kunne du lære:

  • Grundlæggende betjeningskredsløb for DFMini -afspilleren MP3;
  • Organisering og konfiguration af lydfiler på hukommelseskortet;
  • Musikalsk kontrol med Arduino. Fra denne kode kan du udvikle andre projekter, der skal bruge lyd som systemfunktionalitet.

Anerkendelser

For at afslutte takker vi dig for din læsning og støtten fra PCBWAY. COM for at støtte Silício Lab i fremstillingen af denne artikel til dig.

Silícios Lab takker UTSOURCE for at tilbyde de elektroniske komponenter til at konstruere dette projekt.

Anbefalede: