Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Hvad er DF Mini Player MP3 -modulet
- Trin 2:
- Trin 3: Styring af DFMini -afspilleren med Arduino
- Trin 4:
Video: Sådan bruges DFMini -afspillerens MP3 -modul med Arduino: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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
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:
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
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:
Sådan bruges MQTT med Raspberry Pi og ESP8266: 8 trin (med billeder)
Sådan bruges MQTT Med Raspberry Pi og ESP8266: I denne instruktionsbog vil jeg forklare, hvad MQTT -protokollen er, og hvordan den bruges til at kommunikere mellem enheder. Så, som en praktisk demonstration, skal jeg vise dig, hvordan du opsætter en simpel to klientsystem, hvor et ESP8266 -modul sender et besked
Sådan bruges RPLIDAR 360 ° laserscanner med Arduino: 3 trin (med billeder)
Sådan bruges RPLIDAR 360 ° laserscanner med Arduino: Jeg er en stor fan af at bygge sumobotter, og jeg er altid på udkig efter nye interessante sensorer og materialer, der skal bruges til at bygge en bedre, hurtigere og smartere robot. Jeg fandt ud af om RPLIDAR A1, som du kan få for $ 99 på DFROBOT.com. Jeg sagde, at jeg ikke var
Sådan bruges Si4703 FM -radiokortet med RDS - Arduino -vejledning: 5 trin (med billeder)
Sådan bruges Si4703 FM -radiokort med RDS - Arduino -vejledning: Dette er et evalueringskort til Silicon Laboratories Si4703 FM -tunerchip. Udover at være en simpel FM -radio, er Si4703 også i stand til at registrere og behandle både Radio Data Service (RDS) og Radio Broadcast Data Service (RBDS) oplysninger. T
Sådan bruges FC-37 regnsensoren med en Arduino: 4 trin (med billeder)
Sådan bruges FC-37 regnsensoren med en Arduino: Hej! I min første instruerbare vil jeg vise dig, hvordan du bruger FC-37 regnsensoren med en arduino. Jeg bruger en arduino nano, men andre versioner fungerer fint
Sådan bruges TCRT5000 IR -sensormodul med Arduino UNO: 7 trin (med billeder)
Sådan bruges TCRT5000 IR -sensormodul med Arduino UNO: I denne vejledning skal vi lære dig nogle grundlæggende oplysninger om brug af TCRT5000 IR -sensormodul. Disse grundlæggende viser dig de analoge og digitale værdier på seriel skærm. Beskrivelse: Denne IR -reflekterende sensor anvender en TCRT5000 til at registrere farve og