Obsah:

Jak používat modul MP3 DFMini Player s Arduino: 4 kroky
Jak používat modul MP3 DFMini Player s Arduino: 4 kroky

Video: Jak používat modul MP3 DFMini Player s Arduino: 4 kroky

Video: Jak používat modul MP3 DFMini Player s Arduino: 4 kroky
Video: 3D printed Claptrap from Borderlands - Arduino LED + audio player tutorial 2024, Listopad
Anonim
Jak používat modul MP3 DFMini Player s Arduino
Jak používat modul MP3 DFMini Player s Arduino

Několik projektů vyžaduje reprodukci zvuku, aby přidalo nějaký druh funkcí. Mezi těmito projekty vyzdvihujeme: přístupnost pro zrakově postižené, hudební přehrávače MP3 a například provádění hlasových zvuků roboty.

Ve všech těchto systémech potřebujeme zařízení pro reprodukci zvuku MP3 pro připojení k Arduinu. V tomto článku se proto naučíme následující body: Základní operační obvod DFMini Player MP3; Organizace a konfigurace zvukových souborů na paměťové kartě; Hudební ovládání pomocí Arduina.

Zásoby

PCBWay Vlastní PCB;

Modul MP3 MP3 DFPlayer - UTSOURCE;

Rezistor 10 kR - UTSOURCE;

Tlačítko přepínače - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - UTSOURCE;

Pin záhlaví - UTSOURCE;

Krok 1: Co je modul MP3 DF Mini Player

Co je modul MP3 DF Mini Player MP3
Co je modul MP3 DF Mini Player MP3
Co je modul MP3 DF Mini Player MP3
Co je modul MP3 DF Mini Player MP3

Modul DFMini Player je malý přehrávač hudby, nízké náklady a nízké spotřeby, jehož účelem je reprodukovat zvuky uložené na paměťové kartě.

Na základě toho lze modul ovládat prostřednictvím samostatného režimu, to znamená, že v tomto režimu bude pouze modul DFMini, baterie pro napájení, reproduktor, tlačítka pro ovládání a karta SD se skladbami. Dalším způsobem, jak jej ovládat, je použít Arduino nebo jiné ovládací zařízení.

Arduino například bude odesílat příkazy prostřednictvím sériové komunikace s modulem DFMini Player. Modul DFMini Player je zobrazen na obrázku 1.

K jeho ovládání je důležité použít základní samostatný obvod. Tento obvod je znázorněn na obrázku 2.

Dvě tlačítka uvedená v obvodu výše slouží ke změně hudebních skladeb a ovládání hlasitosti zvuku. Tlačítko připojené k pinu IO1 slouží k přechodu na předchozí stopu a snížení hlasitosti. Rychlým dotykem se systém vrátí k předchozí skladbě, ale pokud stisknete tlačítko déle než 1 sekundu, systém sníží hlasitost skladby.

Tlačítko připojené k pinu IO2 slouží k přechodu na další stopu a zvýšení hlasitosti. Rychlým dotykem systém přejde na další skladbu, pokud však tlačítko podržíte déle než 1 sekundu, systém zvýší hlasitost skladby.

Krok 2:

obraz
obraz

V této samostatné metodě musí být skladby uloženy na paměťovou kartu, jak ukazuje obrázek 3.

Tímto způsobem, při každém stisknutí tlačítek, systém přehraje každou skladbu vzestupně nebo sestupně. Při použití Arduina nebo jiného ovládacího zařízení však musíme upravit způsob organizace hudebních souborů na SD kartě.

Nyní vysvětlím, jak ovládat přehrávač DFMini pomocí Arduina prostřednictvím sériové komunikace.

Krok 3: Ovládání přehrávače DFMini pomocí Arduina

Ovládání přehrávače DFMini pomocí Arduina
Ovládání přehrávače DFMini pomocí Arduina
Ovládání přehrávače DFMini pomocí Arduina
Ovládání přehrávače DFMini pomocí Arduina

V tomto kroku bude Arduino odesílat ovládání hlasitosti, ovládání rozsahu, vyrovnávací příkazy a další funkce.

Arduino musí komunikovat přes seriál s přehrávačem DFMini a odesílat ovládací příkazy.

Elektronické schéma řídicího obvodu je znázorněno na obrázku 4.

Nejprve musíme sestavit obvod zobrazený na obrázku níže. Po sestavení tohoto obvodu musíte přidat skladby na paměťovou kartu. V tomto kroku by měly být skladby přejmenovány například na 01, 02, 03.

Skladby nemůžete nechat s jejich názvy, protože bude problém, když Arduino odešle příkaz ke spuštění konkrétní stopy. Proto musíte nakonfigurovat, jak je uvedeno níže.

Krok 4:

Po pojmenování souborů napište na svůj Arduino následující kód.

// Čeká na zadání dat přes serial while (Serial.available ()> 0) {command = Serial.read (); if ((příkaz> = '1') && (příkaz <= '9')) {Serial.print ("Reprodukce hudby"); Serial.println (příkaz); příkaz = příkaz - 48; myDFPlayer.play (příkaz); menu_opcoes (); } // Reprodukce // Zastavit if (příkaz == 's') {myDFPlayer.stop (); Serial.println („Hudba zastavena!“); menu_opcoes (); } // Pausa/Continua a musica if (příkaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Pokračovat …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Hudba pozastavena!"); myDFPlayer.pause (); } menu_opcoes (); }

// Zvyšuje hlasitost

if (příkaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuální objem:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (příkaz == '') {myDFPlayer.next (); Serial.println ("další:"); Serial.print ("Aktuální skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sníží hlasitost if (příkaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuální objem:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} neplatné menu_opcoes () {Serial.println (); Serial.println (F ("================================================== ======================================================================== ======================================== ")); Serial.println (F ("Příkazy:")); Serial.println (F ("[1-3] Výběr souboru MP3")); Serial.println (F ("[s] zastavení reprodukce")); Serial.println (F ("[p] pozastavit/pokračovat v hudbě")); Serial.println (F ("[+ nebo -] zvyšuje nebo snižuje hlasitost")); Serial.println (F (" vpřed nebo vzad po trati")); Serial.println (); Serial.println (F ("================================================== ======================================================================== ======================================= ")); }

Výše uvedený kód je poměrně jednoduchý a pomůže vám vybrat skladbu podle jejího čísla, zastavit, pozastavit, ovládat hlasitost a procházet stopy.

Hudební ovládání spočívá v odesílání dat ze série Arduino IDE na naši desku Arduino. Zpočátku systém provede konfiguraci v nastavení a zkontroluje, zda je v modulu vložena karta SD.

Pokud není vložen, systém zobrazí zprávu, která uživatele upozorní.

Kromě toho systém zobrazuje zprávy s možnostmi konfigurace systému.

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializujte a sériově do Arduino Serial.begin (115200); // Verifica se o modulo esta responendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Inicializace modulu DFPlayer … Počkejte!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Not initialized:")); Serial.println (F („1. Zkontrolujte připojení DFPlayer Mini“)); Serial.println (F ("2. Vložte kartu SD")); while (true); } Serial.println (); Serial.println (F („Modul DFPlayer Mini inicializován!“)); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Timeout serial 500ms myDFPlayer.volume (5); // Svazek 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Pokud je vložena paměťová karta, tok kódu vstoupí do funkce smyčky.

void loop () {// Čeká na zadání dat přes sériový while (Serial.available ()> 0) {příkaz = Serial.read (); if ((příkaz> = '1') && (příkaz <= '3')) {Serial.print ("Reprodukce hudby"); Serial.println (příkaz); příkaz = příkaz - 48; myDFPlayer.play (příkaz); menu_opcoes (); } // Reprodukce // Zastavit if (příkaz == 's') {myDFPlayer.stop (); Serial.println („Hudba zastavena!“); menu_opcoes (); } // Pausa/Continua a musica if (příkaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Pokračovat …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Hudba pozastavena!"); myDFPlayer.pause (); } menu_opcoes (); }

// Zvyšuje hlasitost

if (příkaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuální objem:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (příkaz == '') {myDFPlayer.next (); Serial.println ("další:"); Serial.print ("Aktuální skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sníží hlasitost if (příkaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuální objem:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Uživatel může odeslat následující řídicí znaky:

Čísla 1 až 3: Vyberte skladbu, kterou chcete přehrát;

  • Písmeno s: Zastavit skladbu; Písmeno p: Pozastavit skladbu;
  • Odeslat znaménko +: Zvyšte hlasitost skladby;
  • Odeslat - signál: Snižte hlasitost skladby;
  • Odeslat signál <: Vyberte předchozí skladbu;
  • Odeslat signál>: Vyberte další skladbu;

Z těchto signálů, písmen a čísel je Arduino přijme prostřednictvím seriálu a bude ovládat hudbu, která se má přehrávat.

Každá podmínka je uvedena níže a interně s příslušnými příkazy.

if ((příkaz> = '1') && (příkaz <= '3')) {Serial.print ("Reprodukce hudby"); Serial.println (příkaz); příkaz = příkaz - 48; myDFPlayer.play (příkaz); menu_opcoes (); } // Reprodukce // Zastavit if (příkaz == 's') {myDFPlayer.stop (); Serial.println („Hudba zastavena!“); menu_opcoes (); } // Pausa/Continua a musica if (příkaz == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Pokračovat …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Hudba pozastavena!"); myDFPlayer.pause (); } menu_opcoes (); }

// Zvyšuje hlasitost

if (příkaz == '+') {myDFPlayer.volumeUp (); Serial.print ("Aktuální objem:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (příkaz == '') {myDFPlayer.next (); Serial.println ("další:"); Serial.print ("Aktuální skladba:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Sníží hlasitost if (příkaz == '-') {myDFPlayer.volumeDown (); Serial.print ("Aktuální objem:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Pokud jste tedy použili všechny uvedené kroky, mohli jste se naučit:

  • Základní operační obvod přehrávače DFMini Player MP3;
  • Organizace a konfigurace zvukových souborů na paměťové kartě;
  • Ovládání hudby pomocí Arduina. Z tohoto kódu jste schopni vyvinout další projekty, které potřebují používat zvuk jako funkce systému.

Poděkování

Na závěr vám děkujeme za přečtení a podporu PCBWAY. COM za podporu Silício Lab při tvorbě tohoto článku pro vás.

Laboratoř Silícios Lab děkuje UTSOURCE za to, že nabídla elektronické součástky pro stavbu tohoto projektu.

Doporučuje: