Turinys:

Kaip naudoti „DFMini Player“MP3 modulį su „Arduino“: 4 žingsniai
Kaip naudoti „DFMini Player“MP3 modulį su „Arduino“: 4 žingsniai

Video: Kaip naudoti „DFMini Player“MP3 modulį su „Arduino“: 4 žingsniai

Video: Kaip naudoti „DFMini Player“MP3 modulį su „Arduino“: 4 žingsniai
Video: Leap Motion SDK 2024, Gruodis
Anonim
Kaip naudoti „DFMini Player“MP3 modulį su „Arduino“
Kaip naudoti „DFMini Player“MP3 modulį su „Arduino“

Norint pridėti tam tikrų funkcijų, keliems projektams reikalingas garso atkūrimas. Tarp šių projektų mes pabrėžiame: pasiekiamumą silpnaregiams, MP3 muzikos grotuvus ir, pavyzdžiui, robotų atliekamus balso garsus.

Visose šiose sistemose mums reikia MP3 garso atkūrimo įrenginio, kad galėtume prisijungti prie „Arduino“. Todėl šiame straipsnyje mes išmoksime šiuos dalykus: Pagrindinė „DFMini Player MP3“veikimo grandinė; Garso failų tvarkymas ir konfigūravimas atminties kortelėje; Muzikinis valdymas naudojant „Arduino“.

Prekės

PCBWay Individualus PCB;

„DFPlayer Mini MP3“modulis - UTSOURCE;

10kR rezistorius - UTSOURCE;

Perjungimo mygtukas - UTSOURCE;

Duonos lenta - UTSOURCE;

Arduino UNO - UTSOURCE;

Antraštės kaištis - UTSOURCE;

1 žingsnis: Kas yra DF mini grotuvo MP3 modulis

Kas yra DF mini grotuvo MP3 modulis
Kas yra DF mini grotuvo MP3 modulis
Kas yra DF mini grotuvo MP3 modulis
Kas yra DF mini grotuvo MP3 modulis

„DFMini Player“modulis yra mažas muzikos grotuvas, nebrangus ir mažos galios, skirtas atkurti atminties kortelėje saugomus garsus.

Remiantis tuo, modulį galima valdyti naudojant atskirą režimą, tai yra, šiuo režimu bus tik „DFMini“modulis, baterija, skirta garsui, garsiakalbis, mygtukai, skirti jį valdyti, ir SD kortelė su dainomis. Kitas būdas jį valdyti yra naudoti „Arduino“ar kitą valdymo įrenginį.

Pavyzdžiui, „Arduino“siųs komandas per serijinį ryšį su „DFMini Player“moduliu. „DFMini Player“modulis parodytas 1 paveiksle.

Norint jį valdyti, svarbu naudoti pagrindinę atskirą grandinę. Ši grandinė parodyta 2 paveiksle.

Du mygtukai, parodyti aukščiau esančioje grandinėje, naudojami muzikos takeliams keisti ir garso stiprumui valdyti. Mygtukas, prijungtas prie IO1 kaiščio, naudojamas pereiti prie ankstesnio takelio ir sumažinti garsumą. Greitai palietus sistema grįžta prie ankstesnės dainos, tačiau, jei paspausite mygtuką ilgiau nei 1 sekundę, sistema sumažins dainos garsumą.

Mygtukas, prijungtas prie kaiščio IO2, naudojamas pereiti prie kito takelio ir padidinti garsumą. Greitai palietus sistema pereina prie kitos dainos, tačiau, jei paspausite mygtuką ilgiau nei 1 sekundę, sistema padidins dainos garsumą.

2 žingsnis:

Vaizdas
Vaizdas

Taikant šį atskirą metodą, dainos turi būti išsaugotos atminties kortelėje, kaip parodyta 3 paveiksle.

Tokiu būdu, kiekvieną kartą paspaudus mygtukus, sistema groja kiekvieną dainą didėjančia arba mažėjančia tvarka. Tačiau, naudodami „Arduino“ar kitą valdymo įrenginį, turime pakeisti SD kortelėje esančių muzikos failų tvarkymo būdą.

Dabar paaiškinsiu, kaip valdyti „DFMini Player“naudojant „Arduino“naudojant nuoseklųjį ryšį.

3 veiksmas: valdykite „DFMini Player“naudodami „Arduino“

„DFMini“grotuvo valdymas naudojant „Arduino“
„DFMini“grotuvo valdymas naudojant „Arduino“
„DFMini“grotuvo valdymas naudojant „Arduino“
„DFMini“grotuvo valdymas naudojant „Arduino“

Šiame žingsnyje garsumo valdymą, diapazono valdymą, išlyginimo komandas ir kitas funkcijas siunčia „Arduino“.

„Arduino“turi bendrauti per seriją su „DFMini Player“ir siųsti valdymo komandas.

Elektroninė valdymo grandinės schema parodyta 4 paveiksle.

Pirma, mes turime surinkti schemą, parodytą žemiau esančiame paveikslėlyje. Surinkę šią grandinę, turite pridėti dainas į savo atminties kortelę. Šiame žingsnyje dainos turėtų būti pervadintos, pavyzdžiui, 01, 02, 03.

Negalite palikti dainų su jų pavadinimais, nes „Arduino“atsiunčia komandą vykdyti konkretų takelį. Todėl turite konfigūruoti, kaip parodyta žemiau.

4 žingsnis:

Pavadinę failus, parašykite šį kodą „Arduino“.

// Laukia duomenų įvedimo per serial while (Serial.available ()> 0) {command = Serial.read (); if ((komanda> = '1') && (komanda <= '9')) {Serial.print ("Muzikos atkūrimas"); Serial.println (komanda); komanda = komanda - 48; myDFPlayer.play (komanda); menu_opcoes (); } // Dauginimas // Sustabdykite, jei (komanda == 's') {myDFPlayer.stop (); Serial.println („Muzika sustabdyta!“); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Tęsti …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika pristabdyta!"); myDFPlayer.pause (); } menu_opcoes (); }

// Padidina garsumą

if (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Dabartinis tūris:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (komanda == '') {myDFPlayer.next (); Serial.println ("kitas:"); Serial.print ("Dabartinis takelis:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sumažina garsumą, jei (komanda == '-') {myDFPlayer.volumeDown (); Serial.print („Dabartinis tūris:“); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("=========================================== ================================================== =================================== ")); Serial.println (F ("Komandos:")); Serial.println (F ("[1-3] Norėdami pasirinkti MP3 failą")); Serial.println (F ("[s] sustabdydamas dauginimąsi")); Serial.println (F ("[p] pristabdyti/tęsti muziką")); Serial.println (F ("[+ arba -] padidina arba sumažina garsumą")); Serial.println (F (" takelis pirmyn arba atgal")); Serial.println (); Serial.println (F ("=========================================== ================================================== =================================== ""); }

Aukščiau pateiktas kodas yra gana paprastas ir padės jums pasirinkti dainą pagal numerį, sustabdyti, pristabdyti, valdyti garsumą ir perduoti takelius.

Muzikinį valdymą sudaro duomenų siuntimas iš „Arduino IDE“serijos į mūsų „Arduino“plokštę. Iš pradžių sistema atlieka konfigūraciją sąrankoje ir patikrina, ar į modulį įdėta SD kortelė.

Jei jis neįterptas, sistema pateikia pranešimą, įspėjantį vartotoją.

Be to, sistema rodo pranešimus su sistemos konfigūravimo parinktimis.

void setup () {// Comunicacao serial com or modulo mySoftwareSerial.begin (9600); // Inicializa a serial to do Arduino Serial.begin (115200); // Verifica se o o modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Inicijuojamas DFPlayer modulis … Palaukite!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Nepradėta:")); Serial.println (F ("1. Patikrinkite DFPlayer Mini jungtis")); Serial.println (F ("2. Įdėkite SD kortelę")); o (tiesa); } Serial.println (); Serial.println (F ("DFPlayer Mini modulis inicijuotas!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Laiko pertraukos serija 500 ms myDFPlayer.volume (5); // 5 tomas myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Jei įdėta atminties kortelė, kodo srautas pateks į ciklo funkciją.

void loop () {// Laukia duomenų įvedimo per seriją, kol (Serial.available ()> 0) {command = Serial.read (); if ((komanda> = '1') && (komanda <= '3')) {Serial.print ("Muzikos atkūrimas"); Serial.println (komanda); komanda = komanda - 48; myDFPlayer.play (komanda); menu_opcoes (); } // Dauginimas // Sustabdykite, jei (komanda == 's') {myDFPlayer.stop (); Serial.println („Muzika sustabdyta!“); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Tęsti …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika pristabdyta!"); myDFPlayer.pause (); } menu_opcoes (); }

// Padidina garsumą

if (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Dabartinis tūris:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (komanda == '') {myDFPlayer.next (); Serial.println ("kitas:"); Serial.print ("Dabartinis takelis:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sumažina garsumą, jei (komanda == '-') {myDFPlayer.volumeDown (); Serial.print („Dabartinis tūris:“); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Vartotojas gali siųsti šiuos valdymo simbolius:

Skaičiai nuo 1 iki 3: pasirinkite grojamą dainą;

  • S raidė: sustabdykite dainą, raidė p: pristabdykite dainą;
  • Siųsti + ženklą: Padidinkite dainos garsumą;
  • Siųsti signalą: sumažinti dainos garsumą;
  • Siųsti signalą <: pasirinkite ankstesnę dainą;
  • Siųsti signalą>: pasirinkite kitą dainą;

Iš šių signalų, raidžių ir skaičių „Arduino“juos gaus per seriją ir valdys grojamą muziką.

Kiekviena sąlyga pateikiama žemiau ir viduje su atitinkamomis komandomis.

if ((komanda> = '1') && (komanda <= '3')) {Serial.print ("Muzikos atkūrimas"); Serial.println (komanda); komanda = komanda - 48; myDFPlayer.play (komanda); menu_opcoes (); } // Dauginimas // Sustabdykite, jei (komanda == 's') {myDFPlayer.stop (); Serial.println („Muzika sustabdyta!“); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Tęsti …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzika pristabdyta!"); myDFPlayer.pause (); } menu_opcoes (); }

// Padidina garsumą

if (komanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Dabartinis tūris:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (komanda == '') {myDFPlayer.next (); Serial.println ("kitas:"); Serial.print ("Dabartinis takelis:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sumažina garsumą, jei (komanda == '-') {myDFPlayer.volumeDown (); Serial.print („Dabartinis tūris:“); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Taigi, jei atliksite visus pateiktus veiksmus, galėsite išmokti:

  • Pagrindinė „DFMini Player MP3“grotuvo veikimo grandinė;
  • Garso failų atminties kortelėje organizavimas ir konfigūravimas;
  • Muzikinis valdymas naudojant „Arduino“. Iš šio kodo galite kurti kitus projektus, kuriems reikia naudoti garsą kaip sistemos funkciją.

Padėkos

Baigdami dėkojame už jūsų skaitymą ir PCBWAY. COM paramą už paramą Silício Lab rengiant šį straipsnį jums.

„Silícios Lab“dėkoja UTSOURCE, pasiūliusiam elektroninius komponentus šiam projektui sukurti.

Rekomenduojamas: