Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
Disa projekte kërkojnë riprodhim të shëndoshë për të shtuar një lloj funksionaliteti. Midis këtyre projekteve, ne theksojmë: aksesueshmërinë për personat me shikim të kufizuar, luajtësit e muzikës MP3 dhe ekzekutimin e tingujve të zërit nga robotët, për shembull.
Në të gjitha këto sisteme, ne kemi nevojë për një pajisje riprodhimi të tingullit MP3 për t'u lidhur me Arduino. Prandaj, në këtë artikull do të mësojmë pikat e mëposhtme: Qarku bazë i funksionimit të DFMini Player MP3; Organizimi dhe konfigurimi i skedarëve të zërit në kartën e kujtesës; Kontrolli muzikor me Arduino.
Furnizimet
PCBWay Custom PCB;
Moduli DFPlayer Mini MP3 - UTSOURCE;
Rezistencë 10kR - UTSOURCE;
Butoni i ndërrimit - UTSOURCE;
Breadboard - UTSOURCE;
Arduino UNO - UTSOURCE;
Koka e kokës - UTSOURCE;
Hapi 1: Çfarë është moduli MP3 i DF Mini Player
Moduli DFMini Player është një muzikant i vogël, me kosto të ulët dhe fuqi të ulët që ka për qëllim riprodhimin e tingujve të ruajtur në një kartë memorie.
Bazuar në këtë, moduli mund të kontrollohet përmes mënyrës së pavarur, domethënë, në këtë mënyrë, do të ketë vetëm modulin DFMini, një bateri në fuqi, altoparlantin, butonat për ta kontrolluar atë dhe Kartën SD me këngët. Një mënyrë tjetër për ta kontrolluar atë është të përdorni një Arduino ose një pajisje tjetër kontrolli.
Arduino, për shembull, do të dërgojë komanda përmes komunikimit serik me modulin DFMini Player. Moduli DFMini Player është treguar në Figurën 1.
Për ta kontrolluar atë, është e rëndësishme të përdorni qarkun bazë të pavarur. Ky qark është treguar në Figurën 2.
Dy butonat e treguar në qarkun e mësipërm përdoren për të ndryshuar pjesët muzikore dhe për të kontrolluar volumin e zërit. Butoni i lidhur me pin IO1 përdoret për të shkuar në pjesën e mëparshme dhe për të zvogëluar volumin. Me një prekje të shpejtë sistemi kthehet në këngën e mëparshme, megjithatë, nëse shtypni butonin për më shumë se 1 sekondë, sistemi do të zvogëlojë volumin e këngës.
Butoni i lidhur me pin IO2 përdoret për të shkuar në pjesën tjetër dhe për të rritur volumin. Me një prekje të shpejtë sistemi përparon në këngën tjetër, megjithatë, nëse shtypni butonin për më shumë se 1 sekondë, sistemi do të rrisë volumin e këngës.
Hapi 2:
Në këtë metodë të pavarur, këngët duhet të ruhen në kartën e kujtesës, siç tregohet në Figurën 3.
Në këtë mënyrë, sa herë që shtypen butonat, sistemi do të luajë secilën këngë në mënyrë rritëse ose zbritëse. Megjithatë, kur përdorni Arduino ose një pajisje tjetër kontrolli, ne duhet të modifikojmë mënyrën e organizimit të skedarëve muzikorë në Kartën SD.
Tani, unë do të shpjegoj se si të kontrolloj DFMini Player duke përdorur Arduino përmes komunikimit serik.
Hapi 3: Kontrolli i DFMini Player me Arduino
Në këtë hap, kontrolli i volumit, kontrolli i diapazonit, komandat e barazimit dhe veçoritë e tjera do të dërgohen nga Arduino.
Arduino duhet të komunikojë përmes serialit me DFMini Player dhe të dërgojë komandat e kontrollit.
Skema elektronike e qarkut të kontrollit është treguar në Figurën 4.
Së pari, ne duhet të montojmë qarkun e treguar në Figurën më poshtë. Pas montimit të këtij qarku, duhet të shtoni këngët në kartën tuaj të kujtesës. Në këtë hap, këngët duhet të riemërohen si 01, 02, 03, për shembull.
Ju nuk mund t'i lini këngët me emrat e tyre, pasi do të ketë një problem kur Arduino të dërgojë komandën për të ekzekutuar pjesën specifike. Prandaj, duhet të konfiguroni siç tregohet më poshtë.
Hapi 4:
Pas emërtimit të skedarëve, shkruani kodin e mëposhtëm në Arduino tuaj.
// pret për futjen e të dhënave nëpërmjet serial while (Serial.available ()> 0) {command = Serial.read (); nëse ((komanda> = '1') && (komanda <= '9')) {Serial.print ("Riprodhimi i muzikës"); Serial.println (komanda); komandë = komandë - 48; myDFPlayer.play (komandë); menu_opcoes (); } // Riprodhimi // Ndalo nëse (komanda == 's') {myDFPlayer.stop (); Serial.println ("Muzika ndaloi!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Vazhdo …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika është ndalur!"); myDFPlayer.pause (); } menu_opcoes (); }
// Rrit volumin
if (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Vëllimi aktual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("tjetër:"); Serial.print ("Pjesa aktuale:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zvogëlon volumin nëse (komanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumi aktual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("=========================================== ================================================== =======================================) "); Serial.println (F ("Komandat:")); Serial.println (F ("[1-3] Për të zgjedhur skedarin MP3")); Serial.println (F ("[s] ndalimi i riprodhimit")); Serial.println (F ("
Kodi i paraqitur më sipër është mjaft i thjeshtë dhe do t'ju ndihmojë të zgjidhni këngën sipas numrit të saj, të ndaloni, të ndaloni, të kontrolloni volumin dhe të kaloni këngët.
Kontrolli muzikor konsiston në dërgimin e të dhënave nga seriali Arduino IDE në bordin tonë Arduino. Fillimisht, sistemi bën konfigurimin në konfigurim dhe kontrollon nëse Karta SD është futur në modul.
Nëse nuk futet, sistemi paraqet një mesazh për të paralajmëruar përdoruesin.
Përveç kësaj, sistemi shfaq mesazhe me opsionet e konfigurimit të sistemit.
void setup () {// Comunicacao serial com ose modul mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.filloj (115200); // Verifikimi se sa modulo është një përgjigje e se o // karta SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Fillimi i modulit DFPlayer … Prisni!")); nëse (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Nuk është inicializuar:")); Serial.println (F ("1. Kontrolloni lidhjet DFPlayer Mini")); Serial.println (F ("2. Fut një kartë SD")); ndërsa (e vërtetë); } Serial.println (); Serial.println (F ("DFPlayer Mini modul i inicializuar!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Timeout serial 500ms myDFPlayer.volume (5); // Vëllimi 5 myDFPlayer. EQ (0); // Equalizacao menu_opcoes normale (); }
Nëse futet karta e kujtesës, rrjedha e kodit do të hyjë në funksionin e lakut.
void loop () {// pret për futjen e të dhënave nëpërmjet serialit ndërsa (Serial.disponueshëm ()> 0) {command = Serial.read (); nëse ((komanda> = '1') && (komanda <= '3')) {Serial.print ("Riprodhimi i muzikës"); Serial.println (komanda); komandë = komandë - 48; myDFPlayer.play (komandë); menu_opcoes (); } // Riprodhimi // Ndalo nëse (komanda == 's') {myDFPlayer.stop (); Serial.println ("Muzika ndaloi!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Vazhdo …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika është ndalur!"); myDFPlayer.pause (); } menu_opcoes (); }
// Rrit volumin
if (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Vëllimi aktual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("tjetër:"); Serial.print ("Pjesa aktuale:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zvogëlon volumin nëse (komanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumi aktual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}
Përdoruesi mund të dërgojë karakteret e mëposhtme të kontrollit:
Numrat 1 deri 3: Zgjidhni këngën që do të luhet;
- Shkronja s: Ndaloni këngën; Shkronja p: Ndaloni këngën;
- Dërgo shenjën +: Rrit volumin e këngës;
- Dërgoni sinjalin -: Ulni volumin e këngës;
- Dërgoni sinjalin <: Zgjidhni këngën e mëparshme;
- Dërgo sinjalin>: Zgjidhni këngën tjetër;
Nga këto sinjale, shkronja dhe numra, Arduino do t'i marrë ato përmes serialit dhe do të kontrollojë muzikën që do të luhet.
Çdo kusht paraqitet më poshtë dhe brenda, me komandat përkatëse.
nëse ((komanda> = '1') && (komanda <= '3')) {Serial.print ("Riprodhimi i muzikës"); Serial.println (komanda); komandë = komandë - 48; myDFPlayer.play (komandë); menu_opcoes (); } // Riprodhimi // Ndalo nëse (komanda == 's') {myDFPlayer.stop (); Serial.println ("Muzika ndaloi!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Vazhdo …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika është ndalur!"); myDFPlayer.pause (); } menu_opcoes (); }
// Rrit volumin
if (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Vëllimi aktual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("tjetër:"); Serial.print ("Pjesa aktuale:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zvogëlon volumin nëse (komanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumi aktual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}
Pra, nëse zbatoni të gjitha hapat e paraqitur, keni qenë në gjendje të mësoni:
- Qarku bazë i funksionimit të DFMini Player MP3;
- Organizimi dhe konfigurimi i skedarëve të zërit në kartën e kujtesës;
- Kontroll muzikor me Arduino. Nga ky kod, ju jeni në gjendje të zhvilloni projekte të tjera që duhet të përdorin zërin si funksionalitet të sistemit.
Mirënjohje
Për të përfunduar, ne ju falënderojmë për leximin tuaj dhe mbështetjen e PCBWAY. COM për mbështetjen e Silício Lab në prodhimin e këtij artikulli për ju.
Laboratori Silícios falënderon UTSOURCE për të ofruar komponentët elektronikë për të ndërtuar këtë projekt.
Recommended:
Si të bëni një MP3 Player me LCD duke përdorur modulin Arduino dhe DFPlayer Mini MP3 Player: 6 hapa
Si të bëni një MP3 Player me LCD duke përdorur modulin Arduino dhe DFPlayer Mini MP3 Player: Sot do të bëjmë një MP3 player me LCD duke përdorur modulin Arduino dhe DFPlayer mini MP3 Player. Projekti mund të lexojë skedarët MP3 në kartën SD dhe mund të ndalojë dhe luani njësoj si pajisja 10 vjet më parë. Dhe gjithashtu ka këngë të mëparshme dhe këngë tjetër argëtuese
Si të përdorni modulin RFID-RC522 me Arduino: 5 hapa
Si të përdorni modulin RFID-RC522 me Arduino: Në këtë udhëzues, unë do të bëj një përshkrim mbi parimin themelor të punës të modulit RFID të shoqëruar me etiketat dhe patate të skuqura të tij. Unë gjithashtu do të jap një shembull të shkurtër të një projekti që kam bërë duke përdorur këtë modul RFID me një LED RGB. Si zakonisht me Ins -in tim
Ekran LCD I2C / IIC - Përdorni një ekran SPI në ekranin LCD I2C duke përdorur modulin SPI në IIC me Arduino: 5 hapa
Ekran LCD I2C / IIC | Përdorni një ekran SPI në ekranin LCD I2C Duke përdorur modulin SPI në IIC Me Arduino: Përshëndetje djema pasi një SPI LCD 1602 normal ka shumë tela për t'u lidhur, kështu që është shumë e vështirë ta ndërlidhni me arduino, por ekziston një modul i disponueshëm në treg i cili mund të shndërroni ekranin SPI në ekranin IIC kështu që atëherë ju duhet të lidhni vetëm 4 tela
Si të përdorni modulin GY511 me Arduino [Bëni një busull dixhitale]: 11 hapa
Si të përdorni modulin GY511 me Arduino [Bëni një busull dixhitale]: PërmbledhjeNë disa projekte elektronike, ne duhet të dimë vendndodhjen gjeografike në çdo moment dhe të bëjmë një operacion specifik në përputhje me rrethanat. Në këtë tutorial, do të mësoni se si të përdorni modulin e busullës LSM303DLHC GY-511 me Arduino për të bërë një kompas dixhital
Udhëzues për modulin E32-433T LoRa - Bordi i shpërthimit DIY për modulin E32: 6 hapa
Udhëzues për modulin E32-433T LoRa | Bordi i shpërthimit DIY për modulin E32: Hej, çfarë ka, djema! Akarsh këtu nga CETech. Ky projekt i imi është më shumë një kurbë mësimi për të kuptuar funksionimin e modulit E32 LoRa nga eByte i cili është një modul transmetues me fuqi të lartë 1 vat. Pasi ta kuptojmë punën, unë kam dizajn