Innholdsfortegnelse:

Hvordan bruke DFMini -spillerens MP3 -modul med Arduino: 4 trinn
Hvordan bruke DFMini -spillerens MP3 -modul med Arduino: 4 trinn

Video: Hvordan bruke DFMini -spillerens MP3 -modul med Arduino: 4 trinn

Video: Hvordan bruke DFMini -spillerens MP3 -modul med Arduino: 4 trinn
Video: Hvordan bruke kondom? 2024, November
Anonim
Hvordan bruke DFMini -spillerens MP3 -modul med Arduino
Hvordan bruke DFMini -spillerens MP3 -modul med Arduino

Flere prosjekter krever lydgjengivelse for å legge til en slags funksjonalitet. Blant disse prosjektene fremhever vi: tilgjengelighet for synshemmede, MP3 -musikkspillere og eksekvering av stemmelyder fra roboter, for eksempel.

I alle disse systemene trenger vi en MP3 -lydgjengivelsesenhet for å koble til Arduino. Derfor vil vi i denne artikkelen lære følgende punkter: Grunnleggende driftskrets for DFMini Player MP3; Organisering og konfigurasjon av lydfiler på minnekortet; Musikalsk kontroll med Arduino.

Rekvisita

PCBWay Custom PCB;

DFPlayer Mini MP3 -modul - UTSOURCE;

10kR motstand - UTSOURCE;

Bryterknapp - UTSOURCE;

Brødbrett - UTSOURCE;

Arduino UNO - UTSOURCE;

Header Pin - UTSOURCE;

Trinn 1: Hva er DF Mini Player MP3 -modulen

Hva er DF Mini Player MP3 -modulen
Hva er DF Mini Player MP3 -modulen
Hva er DF Mini Player MP3 -modulen
Hva er DF Mini Player MP3 -modulen

DFMini Player -modulen er en liten musikkspiller, lav kostnad og lav effekt som har til hensikt å gjengi lyder lagret på et minnekort.

Basert på dette kan modulen styres via frittstående modus, det vil si at i denne modusen vil det bare være DFMini -modulen, et batteri til strøm, høyttaleren, knapper for å kontrollere den og SD -kortet med sangene. En annen måte å kontrollere det på er å bruke en Arduino eller en annen kontrollenhet.

Arduino vil for eksempel sende kommandoer gjennom seriell kommunikasjon med DFMini Player Module. DFMini Player -modulen er vist i figur 1.

For å kontrollere det, er det viktig å bruke den grunnleggende frittstående kretsen. Denne kretsen er vist i figur 2.

De to knappene som vises i kretsen ovenfor, brukes til å endre musikkspor og kontrollere lydstyrken. Knappen som er koblet til pin IO1 brukes til å gå til forrige spor og redusere volumet. Med et raskt trykk går systemet tilbake til forrige sang, men hvis du trykker på knappen i mer enn 1 sekund, reduserer systemet volumet på sangen.

Knappen som er koblet til pin IO2 brukes til å gå til neste spor og øke volumet. Med et raskt trykk går systemet videre til neste sang, men hvis du trykker på knappen i mer enn 1 sekund, vil systemet øke volumet på sangen.

Steg 2:

Bilde
Bilde

I denne frittstående metoden må sangene lagres på minnekortet, som vist i figur 3.

På denne måten, hver gang du trykker på knappene, vil systemet spille av hver sang i stigende eller synkende rekkefølge, men når du bruker Arduino eller en annen kontrollenhet, må vi endre måten å organisere musikkfilene på SD -kortet på.

Nå skal jeg forklare hvordan du kontrollerer DFMini -spilleren ved hjelp av Arduino gjennom seriell kommunikasjon.

Trinn 3: Kontrollere DFMini -spilleren med Arduino

Kontrollere DFMini -spilleren med Arduino
Kontrollere DFMini -spilleren med Arduino
Kontrollere DFMini -spilleren med Arduino
Kontrollere DFMini -spilleren med Arduino

I dette trinnet vil volumkontroll, områdekontroll, utjevningskommandoer og andre funksjoner bli sendt av Arduino.

Arduino må kommunisere via serien med DFMini -spilleren og sende kontrollkommandoene.

Det elektroniske skjemaet til styrekretsen er vist i figur 4.

Først må vi sette sammen kretsen vist i figuren nedenfor. Etter at du har satt sammen denne kretsen, må du legge til sangene på minnekortet. I dette trinnet bør sangene omdøpes til for eksempel 01, 02, 03.

Du kan ikke la sangene stå med navnene sine, da det vil være et problem når Arduino sender kommandoen for å utføre det spesifikke sporet. Derfor må du konfigurere som vist nedenfor.

Trinn 4:

Etter at du har navngitt filene, skriver du følgende kode på Arduino.

// Venter på dataregistrering via serial while (Serial.available ()> 0) {command = Serial.read (); if ((kommando> = '1') && (kommando <= '9')) {Serial.print ("Musikkgjengivelse"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduksjon // Stopp hvis (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musikken stoppet!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Fortsett …"); myDFPlayer.start (); } hvis (pausa == 1) {Serial.println ("Musikk stoppet!"); myDFPlayer.pause (); } menu_opcoes (); }

// Øker volumet

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Gjeldende volum:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } hvis (kommando == '') {myDFPlayer.next (); Serial.println ("neste:"); Serial.print ("Gjeldende spor:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Senker volumet hvis (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Gjeldende volum:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} ugyldig menu_opcoes () {Serial.println (); Serial.println (F ("============================================= ====================================================== ====================================== ")); Serial.println (F ("Kommandoer:")); Serial.println (F ("[1-3] For å velge MP3-fil")); Serial.println (F ("[s] stopper reproduksjon")); Serial.println (F ("[p] pause/fortsett musikk")); Serial.println (F ("[+ eller -] øker eller senker volumet")); Serial.println (F (" forover eller bakover sporet")); Serial.println (); Serial.println (F ("============================================= ====================================================== ====================================== ")); }

Koden som presenteres ovenfor er ganske enkel og vil hjelpe deg med å velge sangen etter nummeret, stoppe, pause, kontrollere volumet og passere sporene.

Den musikalske kontrollen består av å sende data fra Arduino IDE -serien til vårt Arduino -kort. I utgangspunktet foretar systemet konfigurasjonen i oppsettet og sjekker om SD -kortet er satt inn i modulen.

Hvis den ikke er satt inn, presenterer systemet en melding for å varsle brukeren.

I tillegg viser systemet meldinger med systemkonfigurasjonsalternativer.

void setup () {// Comunicacao serial 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 (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Initialiserer DFPlayer -modul … Vent!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Ikke initialisert:")); Serial.println (F ("1. Kontroller DFPlayer Mini -tilkoblingene")); Serial.println (F ("2. Sett inn et SD -kort")); mens (sant); } Serial.println (); Serial.println (F ("DFPlayer Mini -modul initialisert!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Tidsavbrudd seriell 500ms myDFPlayer.volume (5); // Volume 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Hvis minnekortet er satt inn, går kodeflyten inn i sløyfefunksjonen.

void loop () {// Venter på datainføring via seriell mens (Serial.available ()> 0) {command = Serial.read (); if ((kommando> = '1') && (kommando <= '3')) {Serial.print ("Musikkgjengivelse"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduksjon // Stopp hvis (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musikken stoppet!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Fortsett …"); myDFPlayer.start (); } hvis (pausa == 1) {Serial.println ("Musikk stoppet!"); myDFPlayer.pause (); } menu_opcoes (); }

// Øker volumet

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Gjeldende volum:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } hvis (kommando == '') {myDFPlayer.next (); Serial.println ("neste:"); Serial.print ("Gjeldende spor:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Senker volumet hvis (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Gjeldende volum:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Brukeren kan sende følgende kontrolltegn:

Nummer 1 til 3: Velg sangen som skal spilles;

  • Bokstav s: Stopp sangen; Bokstav p: Sett sangen på pause;
  • Send + -tegnet: Øk sangvolumet;
  • Send signalet - Reduser sangvolumet;
  • Send signalet <: Velg forrige sang;
  • Send signal>: Velg neste sang;

Fra disse signalene, bokstavene og tallene vil Arduino motta dem via serien og kontrollere musikken som skal spilles.

Hver tilstand presenteres nedenfor og internt, med sine respektive kommandoer.

if ((kommando> = '1') && (kommando <= '3')) {Serial.print ("Musikkgjengivelse"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduksjon // Stopp hvis (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musikken stoppet!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Fortsett …"); myDFPlayer.start (); } hvis (pausa == 1) {Serial.println ("Musikk stoppet!"); myDFPlayer.pause (); } menu_opcoes (); }

// Øker volumet

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Gjeldende volum:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } hvis (kommando == '') {myDFPlayer.next (); Serial.println ("neste:"); Serial.print ("Gjeldende spor:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Senker volumet hvis (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Gjeldende volum:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Så hvis du brukte alle trinnene som ble presentert, kunne du lære:

  • Grunnleggende driftskrets for DFMini -spilleren MP3;
  • Organisering og konfigurasjon av lydfiler på minnekortet;
  • Musikalsk kontroll med Arduino. Fra denne koden kan du utvikle andre prosjekter som må bruke lyd som systemfunksjonalitet.

Anerkjennelser

For å avslutte, takker vi deg for at du leser og støtter PCBWAY. COM for å støtte Silício Lab i produksjonen av denne artikkelen for deg.

Silícios Lab takker UTSOURCE for å tilby de elektroniske komponentene for å konstruere dette prosjektet.

Anbefalt: