Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Hva er DF Mini Player MP3 -modulen
- Steg 2:
- Trinn 3: Kontrollere DFMini -spilleren med Arduino
- Trinn 4:
Video: Hvordan bruke DFMini -spillerens MP3 -modul med Arduino: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
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
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:
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
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:
Hvordan bruke DS1307 Bruke Arduino: 7 trinn
Hvordan bruke DS1307 Bruke Arduino: DS1307 er en sanntidsklokke IC (RTC). Denne IC brukes til å gi tidsdata. Tildelt tid starter fra sekunder, minutt, timer, dager, dato, måned og år. Denne IC krever ytterligere eksterne komponenter som Crystal og 3,6V batterier. Krystall
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: 10 trinn
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: I denne instruksen vil jeg vise hvordan du bruker SplatPost -skriveren av ShinyQuagsire. Uten klare instruksjoner ville noen som ikke har erfaring med kommandolinjen ha litt problemer. Målet mitt er å forenkle trinnene ned til poi
Neopixel Ws2812 Rainbow LED-glød med M5stick-C - Kjører Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: 5 trinn
Neopixel Ws2812 Rainbow LED-glød med M5stick-C | Running Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: Hei folkens i denne instruksen, vi lærer hvordan du bruker neopixel ws2812 LED eller led strip eller led matrise eller led ring med m5stack m5stick-C utviklingstavle med Arduino IDE, og vi skal lage et regnbuemønster med den
Hvordan bruke Si4703 FM -radiokort med RDS - Arduino -opplæring: 5 trinn (med bilder)
Hvordan bruke Si4703 FM -radiokort med RDS - Arduino -opplæring: Dette er et evalueringskort for Silicon Laboratories Si4703 FM -tunerbrikke. Utover å være en enkel FM -radio, er Si4703 også i stand til å oppdage og behandle både Radio Data Service (RDS) og Radio Broadcast Data Service (RBDS) informasjon. T
Hvordan bruke Wiimote som en datamus ved å bruke stearinlys som sensor !!: 3 trinn
Slik bruker du Wiimote som en datamus ved å bruke stearinlys som en sensor !!: Denne guiden viser deg hvordan du kobler din Wii -fjernkontroll (Wiimote) til din PC og bruker den som en mus