Kazalo:

Kako uporabljati MP3 modul predvajalnika DFMini z Arduinom: 4 koraki
Kako uporabljati MP3 modul predvajalnika DFMini z Arduinom: 4 koraki

Video: Kako uporabljati MP3 modul predvajalnika DFMini z Arduinom: 4 koraki

Video: Kako uporabljati MP3 modul predvajalnika DFMini z Arduinom: 4 koraki
Video: CASIO FX-991MS FX-570MS FX-100MS learn everything 2024, November
Anonim
Kako uporabljati MP3 modul DFMini Player z Arduinom
Kako uporabljati MP3 modul DFMini Player z Arduinom

Več projektov za dodajanje neke vrste funkcionalnosti zahteva reprodukcijo zvoka. Med temi projekti izpostavljamo: dostopnost za slabovidne, predvajalnike glasbe MP3 in izvajanje glasovnih zvokov s strani robotov, na primer.

V vseh teh sistemih za povezavo z Arduinom potrebujemo napravo za reprodukcijo zvoka MP3. Zato se bomo v tem članku naučili naslednjih točk: Osnovno delovno vezje DFMini Player MP3; Organizacija in konfiguracija zvočnih datotek na pomnilniški kartici; Glasbeni nadzor z Arduinom.

Zaloge

PCBWay PCB po meri;

Mini MP3 modul DFPlayer - UTSOURCE;

10kR upor - UTSOURCE;

Gumb za preklop - UTSOURCE;

Ogledna plošča - UTSOURCE;

Arduino UNO - UTSOURCE;

Zatič glave - UTSOURCE;

1. korak: Kaj je MP3 modul DF mini predvajalnika

Kaj je MP3 modul DF mini predvajalnika DF
Kaj je MP3 modul DF mini predvajalnika DF
Kaj je MP3 modul DF mini predvajalnika DF
Kaj je MP3 modul DF mini predvajalnika DF

Modul DFMini Player je majhen predvajalnik glasbe, poceni in z nizko porabo energije, katerega namen je reproducirati zvoke, shranjene na pomnilniški kartici.

Na podlagi tega je modul mogoče upravljati prek samostojnega načina, to pomeni, da bo v tem načinu na voljo le modul DFMini, baterija za napajanje, zvočnik, gumbi za upravljanje in SD kartica s pesmimi. Drug način za nadzor je uporaba Arduina ali druge krmilne naprave.

Arduino bo na primer pošiljal ukaze prek serijske komunikacije z modulom predvajalnika DFMini. Modul DFMini Player je prikazan na sliki 1.

Za nadzor je pomembno, da uporabite osnovno samostojno vezje. To vezje je prikazano na sliki 2.

Dva gumba, prikazana v zgornjem vezju, se uporabljata za spreminjanje glasbenih skladb in nadzor glasnosti zvoka. Gumb, priključen na pin IO1, se uporablja za prehod na prejšnjo skladbo in zmanjšanje glasnosti. S hitrim dotikom se sistem vrne na prejšnjo skladbo, če pa pritisnete gumb za več kot 1 sekundo, bo sistem zmanjšal glasnost pesmi.

Gumb, priključen na pin IO2, se uporablja za prehod na naslednjo skladbo in povečanje glasnosti. S hitrim dotikom sistem premakne na naslednjo skladbo, če pa gumb pritisnete za več kot 1 sekundo, bo sistem povečal glasnost pesmi.

2. korak:

Slika
Slika

Pri tej samostojni metodi je treba skladbe shraniti na pomnilniško kartico, kot je prikazano na sliki 3.

Na ta način bo sistem ob vsakem pritisku na gumbe predvajal vsako skladbo v naraščajočem ali padajočem vrstnem redu. Če pa uporabljamo Arduino ali drugo krmilno napravo, moramo spremeniti način organiziranja glasbenih datotek na kartici SD.

Zdaj bom razložil, kako nadzirati predvajalnik DFMini s pomočjo Arduina prek serijske komunikacije.

3. korak: Nadzor predvajalnika DFMini z Arduinom

Nadzor predvajalnika DFMini z Arduinom
Nadzor predvajalnika DFMini z Arduinom
Nadzor predvajalnika DFMini z Arduinom
Nadzor predvajalnika DFMini z Arduinom

V tem koraku bo Arduino poslal nadzor glasnosti, nadzor območja, ukaze za izenačevanje in druge funkcije.

Arduino mora serijsko komunicirati s predvajalnikom DFMini in pošiljati nadzorne ukaze.

Elektronska shema krmilnega vezja je prikazana na sliki 4.

Najprej moramo sestaviti vezje, prikazano na spodnji sliki. Po tem, ko sestavite to vezje, morate pesmi dodati na pomnilniško kartico. V tem koraku je treba pesmi preimenovati na primer v 01, 02, 03.

Skladb ne morete pustiti z njihovimi imeni, saj bo prišlo do težave, ko Arduino pošlje ukaz za izvedbo določene skladbe. Zato morate konfigurirati, kot je prikazano spodaj.

4. korak:

Ko poimenujete datoteke, na Arduino napišite naslednjo kodo.

// Čaka na vnos podatkov prek serial while (Serial.available ()> 0) {command = Serial.read (); if ((ukaz> = '1') && (ukaz <= '9')) {Serial.print ("Reprodukcija glasbe"); Serial.println (ukaz); ukaz = ukaz - 48; myDFPlayer.play (ukaz); menu_opcoes (); } // Reprodukcija // Ustavi if (ukaz == 's') {myDFPlayer.stop (); Serial.println ("Glasba ustavljena!"); menu_opcoes (); } // Pausa/Nadaljuj z glasbo if (ukaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Nadaljuj …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Glasba zaustavljena!"); myDFPlayer.pause (); } menu_opcoes (); }

// Poveča glasnost

if (ukaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Trenutna količina:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (ukaz == '') {myDFPlayer.next (); Serial.println ("naslednji:"); Serial.print ("Trenutna skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zmanjša glasnost if (ukaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Trenutni obseg:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("============================================== ================================================== =================================== ")); Serial.println (F ("Ukazi:")); Serial.println (F ("[1-3] Za izbiro datoteke MP3")); Serial.println (F ("[s] ustavitev reprodukcije")); Serial.println (F ("[p] premor/nadaljevanje glasbe")); Serial.println (F ("[+ ali -] poveča ali zmanjša glasnost")); Serial.println (F (" naprej ali nazaj po skladbi")); Serial.println (); Serial.println (F ("============================================== ================================================== ================================== ")); }

Zgoraj predstavljena koda je precej preprosta in vam bo pomagala izbrati pesem po njeni številki, ustaviti, ustaviti, nadzorovati glasnost in posredovati skladbe.

Glasbeni nadzor je sestavljen iz pošiljanja podatkov iz serije Arduino IDE na našo ploščo Arduino. Sprva sistem izvede konfiguracijo v nastavitvah in preveri, ali je kartica SD vstavljena v modul.

Če ni vstavljen, sistem prikaže sporočilo, ki opozori uporabnika.

Poleg tega sistem prikaže sporočila z možnostmi konfiguracije sistema.

void setup () {// Comunicacao serijski 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 ("Inicializiranje modula DFPlayer … Počakaj!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Ni inicializirano:")); Serial.println (F ("1. Preverite povezave DFPlayer Mini")); Serial.println (F ("2. Vstavite kartico SD")); medtem ko (res); } Serial.println (); Serial.println (F ("DFPlayer Mini modul inicializiran!")); // Definicies iniciais myDFPlayer.setTimeOut (500); // Časovna omejitev serijske 500 ms myDFPlayer.volume (5); // zvezek 5 myDFPlayer. EQ (0); // Equalizacao normalni menu_opcoes (); }

Če je vstavljena pomnilniška kartica, bo tok kod prešel v funkcijo zanke.

void loop () {// Čaka na vnos podatkov prek zaporedja while (Serial.available ()> 0) {command = Serial.read (); if ((ukaz> = '1') && (ukaz <= '3')) {Serial.print ("Reprodukcija glasbe"); Serial.println (ukaz); ukaz = ukaz - 48; myDFPlayer.play (ukaz); menu_opcoes (); } // Reprodukcija // Ustavi if (ukaz == 's') {myDFPlayer.stop (); Serial.println ("Glasba ustavljena!"); menu_opcoes (); } // Pausa/Nadaljuj z glasbo if (ukaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Nadaljuj …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Glasba zaustavljena!"); myDFPlayer.pause (); } menu_opcoes (); }

// Poveča glasnost

if (ukaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Trenutna količina:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (ukaz == '') {myDFPlayer.next (); Serial.println ("naslednji:"); Serial.print ("Trenutna skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zmanjša glasnost if (ukaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Trenutni obseg:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Uporabnik lahko pošlje naslednje kontrolne znake:

Številke 1 do 3: izberite skladbo za predvajanje;

  • Črka s: ustavitev pesmi; črka p: zaustavitev pesmi;
  • Pošlji znak +: poveča glasnost pesmi;
  • Pošlji signal - zmanjša glasnost pesmi;
  • Pošlji signal <: izberite prejšnjo skladbo;
  • Pošlji signal>: izberite naslednjo skladbo;

Na podlagi teh signalov, črk in številk jih bo Arduino prejemal po zaporedju in nadzoroval predvajanje glasbe.

Vsak pogoj je predstavljen spodaj in interno z ustreznimi ukazi.

if ((ukaz> = '1') && (ukaz <= '3')) {Serial.print ("Reprodukcija glasbe"); Serial.println (ukaz); ukaz = ukaz - 48; myDFPlayer.play (ukaz); menu_opcoes (); } // Reprodukcija // Ustavi if (ukaz == 's') {myDFPlayer.stop (); Serial.println ("Glasba ustavljena!"); menu_opcoes (); } // Pausa/Nadaljuj z glasbo if (ukaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Nadaljuj …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Glasba zaustavljena!"); myDFPlayer.pause (); } menu_opcoes (); }

// Poveča glasnost

if (ukaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Trenutna količina:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (ukaz == '') {myDFPlayer.next (); Serial.println ("naslednji:"); Serial.print ("Trenutna skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zmanjša glasnost if (ukaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Trenutni obseg:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Če ste uporabili vse predstavljene korake, ste se lahko naučili:

  • Osnovno delovno vezje DFMini predvajalnika MP3;
  • Organizacija in konfiguracija zvočnih datotek na pomnilniški kartici;
  • Glasbeni nadzor z Arduinom. Iz te kode lahko razvijate druge projekte, ki morajo uporabljati zvok kot sistemsko funkcionalnost.

Zahvala

Za konec se vam zahvaljujemo za branje in podporo PCBWAY. COM, ki podpira Silício Lab pri pripravi tega članka za vas.

Laboratorij Silícios se zahvaljuje podjetju UTSOURCE, ki ponuja elektronske komponente za izdelavo tega projekta.

Priporočena: