Obsah:

Ako používať modul MP3 prehrávača DFMini s Arduino: 4 kroky
Ako používať modul MP3 prehrávača DFMini s Arduino: 4 kroky

Video: Ako používať modul MP3 prehrávača DFMini s Arduino: 4 kroky

Video: Ako používať modul MP3 prehrávača DFMini s Arduino: 4 kroky
Video: SKR 1.4 - TMC2209 v1.2 2024, November
Anonim
Ako používať modul MP3 prehrávača DFMini s Arduino
Ako používať modul MP3 prehrávača DFMini s Arduino

Niekoľko projektov vyžaduje reprodukciu zvuku, aby pridalo nejaký druh funkcií. Medzi týmito projektmi vyzdvihujeme napríklad prístupnosť pre slabozrakých, hudobné prehrávače MP3 a vykonávanie hlasových zvukov robotmi.

Vo všetkých týchto systémoch potrebujeme zariadenie na reprodukciu zvuku MP3 na pripojenie k Arduinu. Preto sa v tomto článku naučíme nasledujúce body: Základný operačný obvod prehrávača DFMini Player MP3; Organizácia a konfigurácia zvukových súborov na pamäťovej karte; Hudobné ovládanie pomocou Arduina.

Zásoby

PCBWay Vlastná PCB;

Mini modul DFPlayer MP3 - UTSOURCE;

Rezistor 10 kR - UTSOURCE;

Tlačidlo prepínača - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - UTSOURCE;

Kolík záhlavia - UTSOURCE;

Krok 1: Čo je modul MP3 mini prehrávača DF

Čo je modul MP3 Mini Player DF
Čo je modul MP3 Mini Player DF
Čo je modul MP3 Mini Player DF
Čo je modul MP3 Mini Player DF

Modul DFMini Player je malý prehrávač hudby, nízkych nákladov a nízkeho výkonu, ktorého účelom je reprodukcia zvukov uložených na pamäťovej karte.

Na základe toho je možné modul ovládať prostredníctvom samostatného režimu, to znamená, že v tomto režime bude k dispozícii iba modul DFMini, batéria na napájanie, reproduktor, tlačidlá na ovládanie a karta SD so skladbami. Ďalším spôsobom, ako ho ovládať, je použiť Arduino alebo iné riadiace zariadenie.

Arduino napríklad bude odosielať príkazy prostredníctvom sériovej komunikácie s modulom DFMini Player. Modul DFMini Player je zobrazený na obrázku 1.

Na jeho ovládanie je dôležité použiť základný samostatný obvod. Tento obvod je znázornený na obrázku 2.

Dve tlačidlá uvedené v obvode vyššie slúžia na zmenu hudobných stôp a ovládanie hlasitosti zvuku. Tlačidlo pripojené k pinu IO1 slúži na prechod na predchádzajúcu skladbu a zníženie hlasitosti. Rýchlym dotykom sa systém vráti k predchádzajúcej skladbe, ale ak stlačíte tlačidlo dlhšie ako 1 sekundu, systém zníži hlasitosť skladby.

Tlačidlo pripojené k pinu IO2 slúži na prechod na nasledujúcu skladbu a zvýšenie hlasitosti. Rýchlym dotykom systém prejde na nasledujúcu skladbu, ak však tlačidlo stlačíte na viac ako 1 sekundu, systém zvýši hlasitosť skladby.

Krok 2:

Obrázok
Obrázok

Pri tejto samostatnej metóde musia byť piesne uložené na pamäťovú kartu, ako je to znázornené na obrázku 3.

Týmto spôsobom, pri každom stlačení tlačidiel, systém prehrá každú skladbu vo vzostupnom alebo zostupnom poradí. Pri použití Arduina alebo iného ovládacieho zariadenia však musíme zmeniť spôsob organizácie hudobných súborov na SD karte.

Teraz vysvetlím, ako ovládať prehrávač DFMini Player pomocou Arduina prostredníctvom sériovej komunikácie.

Krok 3: Ovládanie prehrávača DFMini pomocou Arduina

Ovládanie prehrávača DFMini pomocou Arduina
Ovládanie prehrávača DFMini pomocou Arduina
Ovládanie prehrávača DFMini pomocou Arduina
Ovládanie prehrávača DFMini pomocou Arduina

V tomto kroku bude Arduino odosielať ovládanie hlasitosti, ovládanie rozsahu, vyrovnávacie príkazy a ďalšie funkcie.

Arduino musí komunikovať prostredníctvom série s prehrávačom DFMini Player a odosielať riadiace príkazy.

Elektronická schéma riadiaceho obvodu je znázornená na obrázku 4.

Najprv musíme zostaviť obvod zobrazený na obrázku nižšie. Po zostavení tohto obvodu musíte pridať piesne na pamäťovú kartu. V tomto kroku by mali byť piesne napríklad premenované na 01, 02, 03.

Skladby nemôžete nechať s ich názvami, pretože tam bude problém, keď Arduino pošle príkaz na vykonanie konkrétnej stopy. Preto musíte nakonfigurovať, ako je uvedené nižšie.

Krok 4:

Po pomenovaní súborov napíšte na svoj Arduino nasledujúci kód.

// Čaká na zadanie údajov cez serial while (Serial.available ()> 0) {command = Serial.read (); if ((príkaz> = '1') && (príkaz <= '9')) {Serial.print ("Reprodukcia hudby"); Serial.println (príkaz); príkaz = príkaz - 48; myDFPlayer.play (príkaz); menu_opcoes (); } // Reprodukcia // Zastavenie if (príkaz == 's') {myDFPlayer.stop (); Serial.println („Hudba zastavená!“); menu_opcoes (); } // Pausa/Continua a musica if (príkaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Pokračovať …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Hudba pozastavená!"); myDFPlayer.pause (); } menu_opcoes (); }

// Zvyšuje hlasitosť

if (príkaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuálny zväzok:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (príkaz == '') {myDFPlayer.next (); Serial.println ("ďalší:"); Serial.print ("Aktuálna skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zníži hlasitosť if (príkaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuálny zväzok:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} neplatné menu_opcoes () {Serial.println (); Serial.println (F ("================================================== =========================================================================== ========================================= ")); Serial.println (F ("Príkazy:")); Serial.println (F ("[1-3] Výber súboru MP3")); Serial.println (F ("[s] zastavenie reprodukcie")); Serial.println (F ("[p] pozastaviť/pokračovať v hudbe")); Serial.println (F ("[+ alebo -] zvyšuje alebo znižuje hlasitosť")); Serial.println (F (" vpred alebo vzad po trati")); Serial.println (); Serial.println (F ("================================================== ========================================================================== ======================================== ")); }

Vyššie uvedený kód je pomerne jednoduchý a pomôže vám vybrať skladbu podľa jej čísla, zastaviť, pozastaviť, ovládať hlasitosť a prechádzať skladby.

Hudobný ovládací prvok spočíva v odosielaní údajov zo série Arduino IDE na našu dosku Arduino. Na začiatku systém vykoná konfiguráciu v nastavení a skontroluje, či je v module vložená karta SD.

Ak nie je vložený, systém zobrazí správu, ktorá užívateľa upozorní.

Okrem toho systém zobrazuje správy s možnosťami konfigurácie systému.

void setup () {// Comunicacao serial com or modulo mySoftwareSerial.begin (9600); // Inicializácia a sériové číslo do Arduino Serial.begin (115200); // Verifica sa o modulo esta responendo e se o // cartao SD for encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F („Inicializácia modulu DFPlayer … počkajte!“)); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Not initialized:")); Serial.println (F („1. Skontrolujte pripojenia DFPlayer Mini“)); Serial.println (F ("2. Vložte kartu SD")); while (pravda); } Serial.println (); Serial.println (F („Modul DFPlayer Mini inicializovaný!“)); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Sériový časový limit 500ms myDFPlayer.volume (5); // Zväzok 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Ak je vložená pamäťová karta, tok kódu vstúpi do funkcie slučky.

void loop () {// Čaká na zadávanie údajov prostredníctvom sériového čísla while (Serial.available ()> 0) {command = Serial.read (); if ((príkaz> = '1') && (príkaz <= '3')) {Serial.print ("Reprodukcia hudby"); Serial.println (príkaz); príkaz = príkaz - 48; myDFPlayer.play (príkaz); menu_opcoes (); } // Reprodukcia // Zastavenie if (príkaz == 's') {myDFPlayer.stop (); Serial.println („Hudba zastavená!“); menu_opcoes (); } // Pausa/Continua a musica if (príkaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Pokračovať …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Hudba pozastavená!"); myDFPlayer.pause (); } menu_opcoes (); }

// Zvyšuje hlasitosť

if (príkaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuálny zväzok:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (príkaz == '') {myDFPlayer.next (); Serial.println ("ďalší:"); Serial.print ("Aktuálna skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zníži hlasitosť if (príkaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuálny zväzok:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Užívateľ môže odoslať nasledujúce riadiace znaky:

Čísla 1 až 3: Vyberte skladbu, ktorá sa má hrať;

  • Písmeno s: Zastaviť skladbu; Písmeno p: Pozastaviť skladbu;
  • Pošlite znak +: Zvýšte hlasitosť piesne;
  • Pošlite signál -: Znížte hlasitosť piesne;
  • Odoslať signál <: Vyberte predchádzajúcu skladbu;
  • Vyslať signál>: Vyberte nasledujúcu skladbu;

Z týchto signálov, písmen a číslic ich Arduino prijme prostredníctvom seriálu a bude ovládať hudbu, ktorá sa má hrať.

Každá podmienka je uvedená nižšie a interne s príslušnými príkazmi.

if ((príkaz> = '1') && (príkaz <= '3')) {Serial.print ("Reprodukcia hudby"); Serial.println (príkaz); príkaz = príkaz - 48; myDFPlayer.play (príkaz); menu_opcoes (); } // Reprodukcia // Zastavte if (príkaz == 's') {myDFPlayer.stop (); Serial.println („Hudba zastavená!“); menu_opcoes (); } // Pausa/Continua a musica if (príkaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Pokračovať …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Hudba pozastavená!"); myDFPlayer.pause (); } menu_opcoes (); }

// Zvyšuje hlasitosť

if (príkaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuálny zväzok:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (príkaz == '') {myDFPlayer.next (); Serial.println ("ďalší:"); Serial.print ("Aktuálna skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Zníži hlasitosť if (príkaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuálny zväzok:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Ak ste teda použili všetky uvedené kroky, mohli ste sa naučiť:

  • Základný operačný obvod prehrávača DFMini Player MP3;
  • Organizácia a konfigurácia zvukových súborov na pamäťovej karte;
  • Ovládanie hudby pomocou Arduina. Z tohto kódu ste schopní vyvinúť ďalšie projekty, ktoré musia používať zvuk ako funkčnosť systému.

Poďakovanie

Na záver vám ďakujeme za prečítanie a podporu PCBWAY. COM za podporu Silício Lab pri tvorbe tohto článku pre vás.

Laboratórium Silícios ďakuje spoločnosti UTSOURCE, že ponúka elektronické súčiastky na výstavbu tohto projektu.

Odporúča: