Sadržaj:

Kako koristiti MP3 modul DFMini playera s Arduinom: 4 koraka
Kako koristiti MP3 modul DFMini playera s Arduinom: 4 koraka
Anonim
Kako koristiti MP3 modul DFMini playera s Arduinom
Kako koristiti MP3 modul DFMini playera s Arduinom

Nekoliko projekata zahtijeva reprodukciju zvuka kako bi se dodala neka vrsta funkcionalnosti. Među ovim projektima izdvajamo: pristupačnost za osobe sa oštećenim vidom, MP3 muzičke plejere i izvođenje glasovnih zvukova od strane robota, na primjer.

U svim ovim sistemima potreban nam je uređaj za reprodukciju MP3 zvuka za povezivanje s Arduinom. Stoga ćemo u ovom članku naučiti sljedeće: Osnovno radno kolo DFMini Player MP3; Organizacija i konfiguracija zvučnih datoteka na memorijskoj kartici; Muzička kontrola s Arduinom.

Supplies

PCBWay prilagođena PCB;

Mini MP3 modul DFPlayer - UTSOURCE;

10kR otpornik - UTSOURCE;

Prekidač - UTSOURCE;

Oglasna ploča - UTSOURCE;

Arduino UNO - UTSOURCE;

Igla zaglavlja - UTSOURCE;

Korak 1: Šta je DF mini modul DF plejera?

Šta je DF modul DF mini playera?
Šta je DF modul DF mini playera?
Šta je DF modul DF mini playera?
Šta je DF modul DF mini playera?

Modul DFMini Player je mali muzički player, niske cijene i niske snage koji ima za cilj reprodukciju zvukova pohranjenih na memorijskoj kartici.

Na osnovu ovoga, modulom se može upravljati putem samostalnog načina rada, odnosno u ovom načinu rada bit će samo DFMini modul, baterija za napajanje, zvučnik, tipke za upravljanje i SD kartica s pjesmama. Drugi način kontrole je upotreba Arduina ili drugog upravljačkog uređaja.

Na primjer, Arduino će slati naredbe putem serijske komunikacije s modulom DFMini Player. Modul DFMini Player prikazan je na slici 1.

Za njegovu kontrolu važno je koristiti osnovno samostalno kolo. Ovo kolo je prikazano na slici 2.

Dva dugmeta prikazana u gornjem kolu koriste se za promjenu muzičkih zapisa i kontrolu glasnoće zvuka. Tipka spojena na pin IO1 koristi se za prelazak na prethodnu pjesmu i smanjenje glasnoće. Brzim dodirom sistem se vraća na prethodnu pjesmu, međutim, ako pritisnete dugme duže od 1 sekunde, sistem će smanjiti jačinu pjesme.

Tipka spojena na pin IO2 koristi se za prelazak na sljedeću pjesmu i povećanje glasnoće. Brzim dodirom sistem prelazi na sljedeću pjesmu, međutim, ako pritisnete dugme duže od 1 sekunde, sistem će povećati jačinu pjesme.

Korak 2:

Image
Image

U ovoj samostalnoj metodi, pjesme se moraju spremiti na memorijsku karticu, kao što je prikazano na slici 3.

Na ovaj način, svaki put kada pritisnete tipke, sistem će reproducirati svaku pjesmu u rastućem ili opadajućem redoslijedu. Međutim, kada koristimo Arduino ili neki drugi upravljački uređaj, moramo izmijeniti način organiziranja muzičkih datoteka na SD kartici.

Sada ću objasniti kako kontrolirati DFMini Player koristeći Arduino putem serijske komunikacije.

Korak 3: Upravljanje DFMini plejerom pomoću Arduina

Upravljanje DFMini plejerom pomoću Arduina
Upravljanje DFMini plejerom pomoću Arduina
Upravljanje DFMini plejerom pomoću Arduina
Upravljanje DFMini plejerom pomoću Arduina

U ovom koraku Arduino će poslati kontrolu glasnoće, kontrolu raspona, naredbe za izjednačavanje i druge značajke.

Arduino mora serijski komunicirati s DFMini Playerom i slati upravljačke naredbe.

Elektronička shema upravljačkog kruga prikazana je na slici 4.

Prvo moramo sastaviti kolo prikazano na donjoj slici. Nakon sastavljanja ovog kola morate dodati pjesme na svoju memorijsku karticu. U ovom koraku, pjesme bi trebalo preimenovati u 01, 02, 03, na primjer.

Ne možete ostaviti pjesme s njihovim imenima jer će doći do problema kada Arduino pošalje naredbu za izvršavanje određene pjesme. Stoga morate konfigurirati kako je dolje prikazano.

Korak 4:

Nakon imenovanja datoteka, upišite sljedeći kod na svoj Arduino.

// Čeka na unos podataka putem serialgether (Serial.available ()> 0) {command = Serial.read (); if ((naredba> = '1') && (naredba <= '9')) {Serial.print ("Reprodukcija muzike"); Serial.println (naredba); naredba = naredba - 48; myDFPlayer.play (naredba); menu_opcoes (); } // Reprodukcija // Zaustavi if (naredba == 's') {myDFPlayer.stop (); Serial.println ("Muzika zaustavljena!"); menu_opcoes (); } // Pauza/Nastavi muziku if (naredba == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Nastavi …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika je pauzirana!"); myDFPlayer.pause (); } menu_opcoes (); }

// Povećava glasnoću

if (naredba == '+') {myDFPlayer.volumeUp (); Serial.print ("Trenutni volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (naredba == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Trenutna numera:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Smanjuje glasnoću ako (naredba == '-') {myDFPlayer.volumeDown (); Serial.print ("Trenutni volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("============================================== ================================================== =================================== ")); Serial.println (F ("Naredbe:")); Serial.println (F ("[1-3] Za odabir MP3 datoteke")); Serial.println (F ("[s] zaustavljanje reprodukcije")); Serial.println (F ("[p] pauziraj/nastavi muziku")); Serial.println (F ("[+ ili -] povećava ili smanjuje jačinu zvuka")); Serial.println (F (" prema naprijed ili nazad")); Serial.println (); Serial.println (F ("============================================== ================================================== ================================== ")); }

Gore predstavljeni kôd prilično je jednostavan i pomoći će vam da odaberete pjesmu prema njenom broju, zaustavite, pauzirate, kontrolirate jačinu zvuka i prenesete pjesme.

Muzička kontrola sastoji se od slanja podataka iz Arduino IDE serije na našu Arduino ploču. U početku sistem vrši konfiguraciju u postavkama i provjerava je li SD kartica umetnuta u modul.

Ako nije umetnut, sistem prikazuje poruku da upozori korisnika.

Osim toga, sistem prikazuje poruke s opcijama konfiguracije sistema.

void setup () {// Comunicacao serijsko povezivanje o modulu mySoftwareSerial.begin (9600); // Pokretanje serijske serije na Arduino Serial.begin (115200); // Verificira se o modulu da se odgovori i // o SD karti za encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Inicijalizacija DFPlayer modula … Čekajte!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Nije inicijalizirano:")); Serial.println (F ("1. Provjerite veze DFPlayer Mini")); Serial.println (F ("2. Umetnite SD karticu")); while (istina); } Serial.println (); Serial.println (F ("DFPlayer Mini modul inicijaliziran!")); // Definicije iniciais myDFPlayer.setTimeOut (500); // Vremensko ograničenje serijskog 500ms myDFPlayer.volume (5); // svezak 5 myDFPlayer. EQ (0); // Equalizacao normalni menu_opcoes (); }

Ako je memorijska kartica umetnuta, tok koda će ući u funkciju petlje.

void loop () {// Čeka na unos podataka putem serijskog signala while (Serial.available ()> 0) {command = Serial.read (); if ((naredba> = '1') && (naredba <= '3')) {Serial.print ("Reprodukcija muzike"); Serial.println (naredba); naredba = naredba - 48; myDFPlayer.play (naredba); menu_opcoes (); } // Reprodukcija // Zaustavi if (naredba == 's') {myDFPlayer.stop (); Serial.println ("Muzika zaustavljena!"); menu_opcoes (); } // Pauza/Nastavi muziku if (naredba == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Nastavi …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika je pauzirana!"); myDFPlayer.pause (); } menu_opcoes (); }

// Povećava glasnoću

if (naredba == '+') {myDFPlayer.volumeUp (); Serial.print ("Trenutni volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (naredba == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Trenutna numera:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Smanjuje glasnoću ako (naredba == '-') {myDFPlayer.volumeDown (); Serial.print ("Trenutni volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Korisnik može poslati sljedeće kontrolne znakove:

Brojevi 1 do 3: Odaberite pjesmu za reprodukciju;

  • Slovo s: Zaustavite pjesmu; Slovo p: Pauzirajte pjesmu;
  • Pošaljite znak +: Povećajte jačinu pesme;
  • Pošaljite signal - Smanjite jačinu pesme;
  • Pošaljite signal <: Odaberite prethodnu pjesmu;
  • Pošaljite signal>: Odaberite sljedeću pjesmu;

Od ovih signala, slova i brojeva, Arduino će ih primati serijski i kontrolirat će muziku koja se pušta.

Svaki uvjet je predstavljen u nastavku i interno, sa svojim odgovarajućim naredbama.

if ((naredba> = '1') && (naredba <= '3')) {Serial.print ("Reprodukcija muzike"); Serial.println (naredba); naredba = naredba - 48; myDFPlayer.play (naredba); menu_opcoes (); } // Reprodukcija // Zaustavi if (naredba == 's') {myDFPlayer.stop (); Serial.println ("Muzika zaustavljena!"); menu_opcoes (); } // Pauza/Nastavi muziku if (naredba == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Nastavi …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika je pauzirana!"); myDFPlayer.pause (); } menu_opcoes (); }

// Povećava glasnoću

if (naredba == '+') {myDFPlayer.volumeUp (); Serial.print ("Trenutni volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (naredba == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Trenutna numera:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Smanjuje glasnoću ako (naredba == '-') {myDFPlayer.volumeDown (); Serial.print ("Trenutni volumen:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Dakle, ako ste primijenili sve navedene korake, mogli ste naučiti:

  • Osnovni radni krug DFMini plejera MP3;
  • Organizacija i konfiguracija zvučnih datoteka na memorijskoj kartici;
  • Muzička kontrola s Arduinom. Iz ovog koda možete razviti druge projekte koji trebaju koristiti zvuk kao sistemsku funkcionalnost.

Zahvalnice

Za kraj, zahvaljujemo vam se na čitanju i podršci PCBWAY. COM -a koji podržava Silício Lab u izradi ovog članka za vas.

Silícios Lab zahvaljuje UTSOURCE -u što nudi elektroničke komponente za izgradnju ovog projekta.

Preporučuje se: