Satura rādītājs:
- Piegādes
- 1. darbība: kas ir DF mini atskaņotāja MP3 modulis
- 2. darbība:
- 3. darbība: kontrolējiet DFMini atskaņotāju, izmantojot Arduino
- 4. solis:
Video: Kā lietot DFMini Player MP3 moduli ar Arduino: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Lai pievienotu kādu funkcionalitāti, vairākiem projektiem ir nepieciešama skaņas reproducēšana. Starp šiem projektiem mēs uzsveram: pieejamību vājredzīgajiem, MP3 mūzikas atskaņotājus un, piemēram, robotu balss skaņu izpildi.
Visās šajās sistēmās mums ir nepieciešama MP3 skaņas reproducēšanas ierīce, lai izveidotu savienojumu ar Arduino. Tāpēc šajā rakstā mēs uzzināsim šādus punktus: DFMini Player MP3 pamata darbības shēma; Skaņas failu organizēšana un konfigurēšana atmiņas kartē; Mūzikas vadība ar Arduino.
Piegādes
PCBWay pielāgota PCB;
DFPlayer Mini MP3 modulis - UTSOURCE;
10kR rezistors - UTSOURCE;
Slēdža poga - UTSOURCE;
Maizes dēlis - UTSOURCE;
Arduino UNO - UTSOURCE;
Galvenes tapa - UTSOURCE;
1. darbība: kas ir DF mini atskaņotāja MP3 modulis
DFMini Player modulis ir mazs mūzikas atskaņotājs ar zemām izmaksām un mazu jaudu, kura mērķis ir reproducēt atmiņas kartē saglabātās skaņas.
Pamatojoties uz to, moduli var vadīt, izmantojot atsevišķu režīmu, tas ir, šajā režīmā būs tikai DFMini modulis, akumulators, lai darbinātu barošanu, skaļrunis, pogas tā vadīšanai un SD karte ar dziesmām. Vēl viens veids, kā to kontrolēt, ir izmantot Arduino vai citu vadības ierīci.
Piemēram, Arduino sūtīs komandas, izmantojot sērijas sakarus ar DFMini atskaņotāja moduli. DFMini Player modulis ir parādīts 1. attēlā.
Lai to kontrolētu, ir svarīgi izmantot atsevišķu atsevišķu ķēdi. Šī shēma ir parādīta 2. attēlā.
Abas iepriekš redzamajā shēmā redzamās pogas tiek izmantotas, lai mainītu mūzikas ierakstus un kontrolētu skaņas skaļumu. Poga, kas savienota ar tapu IO1, tiek izmantota, lai pārietu uz iepriekšējo ierakstu un samazinātu skaļumu. Ar ātru pieskārienu sistēma atgriežas pie iepriekšējās dziesmas, tomēr, nospiežot pogu ilgāk par 1 sekundi, sistēma samazinās dziesmas skaļumu.
Poga IO2 pieslēgtā poga tiek izmantota, lai pārietu uz nākamo celiņu un palielinātu skaļumu. Ar ātru pieskārienu sistēma pāriet uz nākamo dziesmu, tomēr, nospiežot pogu ilgāk par 1 sekundi, sistēma palielinās dziesmas skaļumu.
2. darbība:
Izmantojot šo atsevišķo metodi, dziesmas ir jāsaglabā atmiņas kartē, kā parādīts 3. attēlā.
Tādā veidā, katru reizi, nospiežot pogas, sistēma atskaņos katru dziesmu augošā vai dilstošā secībā. Tomēr, izmantojot Arduino vai citu vadības ierīci, mums ir jāmaina veids, kā organizēt mūzikas failus SD kartē.
Tagad es paskaidrošu, kā kontrolēt DFMini atskaņotāju, izmantojot Arduino, izmantojot sērijas sakarus.
3. darbība: kontrolējiet DFMini atskaņotāju, izmantojot Arduino
Šajā solī skaļuma vadību, diapazona vadību, izlīdzināšanas komandas un citas funkcijas nosūtīs Arduino.
Arduino ir jāsazinās, izmantojot sēriju, ar DFMini Player un jānosūta vadības komandas.
Vadības ķēdes elektroniskā shēma ir parādīta 4. attēlā.
Pirmkārt, mums ir jāsamontē shēma, kas parādīta zemāk esošajā attēlā. Pēc šīs shēmas salikšanas jums jāpievieno dziesmas atmiņas kartē. Šajā solī dziesmas, piemēram, jāpārdēvē par 01, 02, 03.
Jūs nevarat atstāt dziesmas ar to nosaukumiem, jo radīsies problēma, kad Arduino sūtīs komandu izpildīt konkrēto celiņu. Tāpēc jums ir jākonfigurē, kā parādīts zemāk.
4. solis:
Pēc failu nosaukšanas savā Arduino ierakstiet šādu kodu.
// Gaida datu ievadi, izmantojot serial while (Serial.available ()> 0) {command = Serial.read (); if ((komanda> = '1') && (komanda <= '9')) {Serial.print ("Mūzikas reproducēšana"); Serial.println (komanda); komanda = komanda - 48; myDFPlayer.play (komanda); menu_opcoes (); } // Pavairošana // Apturēt, ja (komanda == 's') {myDFPlayer.stop (); Serial.println ("Mūzika apstājās!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Turpināt …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Mūzika apturēta!"); myDFPlayer.pause (); } menu_opcoes (); }
// Palielina skaļumu
ja (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Pašreizējais apjoms:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } ja (komanda == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Pašreizējais celiņš:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Samazina skaļumu, ja (komanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Pašreizējais apjoms:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("=========================================== ================================================== ===================================== ")); Serial.println (F ("Komandas:")); Serial.println (F ("
Iepriekš parādītais kods ir pavisam vienkāršs un palīdzēs jums izvēlēties dziesmu pēc tās numura, apstāties, apturēt, kontrolēt skaļumu un nodot ierakstus.
Mūzikas vadība sastāv no datu nosūtīšanas no Arduino IDE sērijas uz mūsu Arduino plati. Sākotnēji sistēma veic konfigurāciju iestatījumos un pārbauda, vai modulī ir ievietota SD karte.
Ja tas nav ievietots, sistēma parāda ziņojumu, lai brīdinātu lietotāju.
Turklāt sistēma parāda ziņojumus ar sistēmas konfigurācijas opcijām.
void setup () {// Comunicacao serial com vai modulo mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // karte SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("DFPlayer moduļa inicializēšana … Pagaidiet!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Not inicializēts:")); Serial.println (F ("1. Pārbaudiet DFPlayer Mini savienojumus")); Serial.println (F ("2. Ievietojiet SD karti")); kamēr (taisnība); } Sērijas.println (); Serial.println (F ("DFPlayer Mini modulis ir inicializēts!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Sērijas taimauts 500 ms myDFPlayer.volume (5); // 5. sējums myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }
Ja atmiņas karte ir ievietota, koda plūsma ievadīs cilpas funkciju.
void loop () {// Gaida datu ievadi, izmantojot sēriju, kamēr (Serial.available ()> 0) {command = Serial.read (); if ((komanda> = '1') && (komanda <= '3')) {Serial.print ("Mūzikas reproducēšana"); Serial.println (komanda); komanda = komanda - 48; myDFPlayer.play (komanda); menu_opcoes (); } // Pavairošana // Apturēt, ja (komanda == 's') {myDFPlayer.stop (); Serial.println ("Mūzika apstājās!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Turpināt …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Mūzika apturēta!"); myDFPlayer.pause (); } menu_opcoes (); }
// Palielina skaļumu
ja (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Pašreizējais apjoms:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } ja (komanda == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Pašreizējais celiņš:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Samazina skaļumu, ja (komanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Pašreizējais apjoms:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}
Lietotājs var nosūtīt šādas vadības rakstzīmes:
Skaitļi 1 līdz 3: izvēlieties atskaņojamo dziesmu;
- Burts s: pārtrauciet dziesmu, burts p: pauzējiet dziesmu;
- Nosūtīt + zīmi: Palieliniet dziesmas skaļumu;
- Sūtīt signālu: samazināt dziesmas skaļumu;
- Sūtīt signālu <: izvēlieties iepriekšējo dziesmu;
- Sūtīt signālu>: izvēlieties nākamo dziesmu;
No šiem signāliem, burtiem un cipariem Arduino tos saņems, izmantojot seriālus, un kontrolēs atskaņojamo mūziku.
Katrs nosacījums ir parādīts zemāk un iekšēji ar attiecīgajām komandām.
if ((komanda> = '1') && (komanda <= '3')) {Serial.print ("Mūzikas reproducēšana"); Serial.println (komanda); komanda = komanda - 48; myDFPlayer.play (komanda); menu_opcoes (); } // Pavairošana // Apturēt, ja (komanda == 's') {myDFPlayer.stop (); Serial.println ("Mūzika apstājās!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Turpināt …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Mūzika apturēta!"); myDFPlayer.pause (); } menu_opcoes (); }
// Palielina skaļumu
ja (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Pašreizējais apjoms:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } ja (komanda == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Pašreizējais celiņš:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Samazina skaļumu, ja (komanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Pašreizējais apjoms:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}
Tātad, ja jūs izmantojāt visas piedāvātās darbības, jūs varējāt uzzināt:
- DFMini Player MP3 pamata darbības ķēde;
- Skaņas failu organizēšana un konfigurēšana atmiņas kartē;
- Mūzikas vadība ar Arduino. No šī koda jūs varat attīstīt citus projektus, kuriem kā sistēmas funkcionalitāte jāizmanto skaņa.
Pateicības
Visbeidzot, mēs pateicamies jums par lasīšanu un PCBWAY. COM atbalstu par Silício Lab atbalstu šī raksta sagatavošanā jums.
Silícios Lab pateicas UTSOURCE, lai piedāvātu elektroniskās sastāvdaļas šī projekta izveidošanai.
Ieteicams:
Kā lietot reāllaika pulksteņa moduli (DS3231): 5 soļi
Kā lietot reāllaika pulksteņa moduli (DS3231): DS3231 ir lēts, ārkārtīgi precīzs I2C reālā laika pulkstenis (RTC) ar integrētu temperatūras kompensētu kristāla oscilatoru (TCXO) un kristālu. Ierīcei ir akumulatora ieeja un tā nodrošina precīzu laika uzskaiti, kad tiek izmantota galvenā strāvas padeve
Kā lietot PIR sensoru un skaņas signāla moduli - Visuino apmācība: 6 soļi
Kā lietot PIR sensoru un skaņas signāla moduli - Visuino apmācība: Šajā apmācībā mēs iemācīsimies izmantot PIR sensoru un skaņas signāla moduli, lai radītu skaņu katru reizi, kad PIR sensors nosaka kustību. Noskatieties demonstrācijas video
[Docker Pi sērija] Kā lietot IoT mezgla (A) moduli Raspberry Pi: 18 soļi
[Docker Pi sērija] Kā lietot IoT Node (A) moduli Raspberry Pi: Kas ir IoT Node (A) modulis? IoT Node (A) ir viens no Docker Pi sērijas moduļiem. IOT mezgls (A) = GPS/BDS + GSM + Lora. I2C tieši kontrolē Lora, sūta un saņem datus, kontrolē GSM/GPS/BDS moduli, izmantojot SC16IS752, mātesplatē ir nepieciešams tikai I2C atbalsts
Kā lietot GY511 moduli ar Arduino [izveidot digitālo kompasu]: 11 soļi
Kā lietot GY511 moduli ar Arduino [Izveidot digitālo kompasu]: Pārskats Dažos elektronikas projektos mums jebkurā brīdī jāzina ģeogrāfiskā atrašanās vieta un attiecīgi jāveic īpaša darbība. Šajā apmācībā jūs uzzināsit, kā izmantot LSM303DLHC GY-511 kompasa moduli kopā ar Arduino, lai izveidotu digitālos kompakus
Kā lietot TCRT5000 IR sensora moduli ar Arduino UNO: 7 soļi (ar attēliem)
Kā lietot TCRT5000 IR sensora moduli ar Arduino UNO: Šajā apmācībā mēs iemācīsim jums dažus pamatus par TCRT5000 IR sensora moduļa izmantošanu. Šie pamati parāda analogās un digitālās vērtības sērijveida monitorā. Apraksts: Šis IR atstarojošais sensors izmanto TCRT5000, lai noteiktu krāsas un displeju