Innehållsförteckning:

Hur man använder DFMini -spelarens MP3 -modul med Arduino: 4 steg
Hur man använder DFMini -spelarens MP3 -modul med Arduino: 4 steg

Video: Hur man använder DFMini -spelarens MP3 -modul med Arduino: 4 steg

Video: Hur man använder DFMini -spelarens MP3 -modul med Arduino: 4 steg
Video: Hur man lägger till Potentiometer på DFPlayer Mini | Ingen Arduino 2024, November
Anonim
Hur man använder DFMini -spelarens MP3 -modul med Arduino
Hur man använder DFMini -spelarens MP3 -modul med Arduino

Flera projekt kräver ljudåtergivning för att lägga till någon form av funktionalitet. Bland dessa projekt belyser vi: tillgänglighet för synskadade, MP3 -musikspelare och exekvering av röstljud från robotar, till exempel.

I alla dessa system behöver vi en MP3 -ljudåtergivningsanordning för att ansluta till Arduino. Därför kommer vi i denna artikel att lära oss följande punkter: Grundläggande driftskrets för DFMini -spelaren MP3; Organisation och konfiguration av ljudfiler på minneskortet; Musikalisk kontroll med Arduino.

Tillbehör

PCBWay Custom PCB;

DFPlayer Mini MP3 -modul - UTSOURCE;

10kR motstånd - UTSOURCE;

Switch -knapp - UTSOURCE;

Brödbräda - UTSOURCE;

Arduino UNO - UTSOURCE;

Header Pin - UTSOURCE;

Steg 1: Vad är DF Mini Player MP3 -modulen

Vad är DF Mini Player MP3 -modulen
Vad är DF Mini Player MP3 -modulen
Vad är DF Mini Player MP3 -modulen
Vad är DF Mini Player MP3 -modulen

DFMini Player -modulen är en liten musikspelare, låg kostnad och låg effekt som har till syfte att återge ljud lagrade på ett minneskort.

Baserat på detta kan modulen styras via det fristående läget, det vill säga i det här läget kommer det bara att finnas DFMini -modulen, ett batteri för att driva, högtalaren, knappar för att styra det och SD -kortet med låtarna. Ett annat sätt att styra det är att använda en Arduino eller annan kontrollenhet.

Arduino, till exempel, kommer att skicka kommandon genom seriell kommunikation med DFMini Player Module. DFMini Player -modulen visas i figur 1.

För att styra det är det viktigt att använda den grundläggande fristående kretsen. Denna krets visas i figur 2.

De två knapparna som visas i kretsen ovan används för att ändra musikspår och styra ljudvolymen. Knappen som är ansluten till stift IO1 används för att gå till föregående spår och sänka volymen. Med en snabb beröring återgår systemet till föregående låt, men om du trycker på knappen i mer än 1 sekund kommer systemet att sänka volymen på låten.

Knappen som är ansluten till pin IO2 används för att gå till nästa spår och öka volymen. Med en snabb beröring går systemet vidare till nästa låt, men om du trycker på knappen i mer än 1 sekund kommer systemet att höja volymen på låten.

Steg 2:

Bild
Bild

I denna fristående metod måste låtarna sparas på minneskortet, som visas i figur 3.

På detta sätt, varje gång du trycker på knapparna, kommer systemet att spela upp varje låt i stigande eller fallande ordning, men när vi använder Arduino eller annan kontrollenhet måste vi ändra sättet att organisera musikfilerna på SD -kortet.

Nu ska jag förklara hur du styr DFMini -spelaren med Arduino genom seriell kommunikation.

Steg 3: Kontrollera DFMini -spelaren med Arduino

Styrning av DFMini -spelaren med Arduino
Styrning av DFMini -spelaren med Arduino
Styrning av DFMini -spelaren med Arduino
Styrning av DFMini -spelaren med Arduino

I detta steg kommer volymkontrollen, områdeskontrollen, utjämningskommandona och andra funktioner att skickas av Arduino.

Arduino måste kommunicera via serien med DFMini -spelaren och skicka kontrollkommandon.

Styrkretsens elektroniska schema visas i figur 4.

Först måste vi montera kretsen som visas i figuren nedan. Efter att ha monterat denna krets måste du lägga till låtarna på ditt minneskort. I det här steget ska låtarna byta namn till exempel 01, 02, 03.

Du kan inte lämna låtarna med deras namn, eftersom det kommer att bli ett problem när Arduino skickar kommandot för att utföra det specifika spåret. Därför måste du konfigurera enligt nedan.

Steg 4:

Efter att du har namngivit filerna skriver du följande kod på din Arduino.

// Väntar på datainmatning via serietid (Serial.available ()> 0) {command = Serial.read (); if ((kommando> = '1') && (kommando <= '9')) {Serial.print ("Musikreproduktion"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduktion // Stoppa om (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musik stoppad!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Fortsätt …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musik pausad!"); myDFPlayer.pause (); } menu_opcoes (); }

// Ökar volymen

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Nuvarande volym:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("nästa:"); Serial.print ("Nuvarande spår:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Minskar volymen om (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Nuvarande volym:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("============================================= ===================================================== ======================================= ")); Serial.println (F ("Kommandon:")); Serial.println (F ("[1-3] För att välja MP3-fil")); Serial.println (F ("[s] stoppar reproduktion")); Serial.println (F ("[p] pausa/fortsätta musik")); Serial.println (F ("[+ eller -] ökar eller minskar volymen")); Serial.println (F (" framåt eller bakåt spåret")); Serial.println (); Serial.println (F ("============================================= ===================================================== ====================================== ")); }

Koden som presenteras ovan är ganska enkel och hjälper dig att välja låten efter dess nummer, stoppa, pausa, styra volymen och skicka spåren.

Den musikaliska kontrollen består av att skicka data från Arduino IDE -serien till vårt Arduino -kort. Initialt gör systemet konfigurationen i installationen och kontrollerar om SD -kortet är isatt i modulen.

Om den inte sätts in presenterar systemet ett meddelande för att varna användaren.

Dessutom visar systemet meddelanden med systemkonfigurationsalternativ.

void setup () {// Comunicacao serial 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 ("Initierar DFPlayer -modulen … Vänta!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Inte initialiserad:")); Serial.println (F ("1. Kontrollera DFPlayer Mini -anslutningarna")); Serial.println (F ("2. Sätt i ett SD -kort")); medan (sant); } Serial.println (); Serial.println (F ("DFPlayer Mini -modul initierad!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Timeout seriell 500ms myDFPlayer.volume (5); // Volym 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Om minneskortet sätts in kommer kodflödet att gå in i loop -funktionen.

void loop () {// Väntar på datainmatning via seriell medan (Serial.available ()> 0) {command = Serial.read (); if ((kommando> = '1') && (kommando <= '3')) {Serial.print ("Musikreproduktion"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduktion // Stoppa om (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musik stoppad!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Fortsätt …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musik pausad!"); myDFPlayer.pause (); } menu_opcoes (); }

// Ökar volymen

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Nuvarande volym:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("nästa:"); Serial.print ("Nuvarande spår:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Minskar volymen om (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Nuvarande volym:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Användaren kan skicka följande kontrolltecken:

Nummer 1 till 3: Välj den låt som ska spelas;

  • Bokstav s: Stoppa låten; Bokstav p: Pausa låten;
  • Skicka + -tecknet: Öka låtvolymen;
  • Skicka - - signalen: Minska sångvolymen;
  • Skicka signalen <: Välj föregående låt;
  • Skicka signalen>: Välj nästa låt;

Från dessa signaler, bokstäver och siffror kommer Arduino att ta emot dem via serien och kommer att styra musiken som ska spelas.

Varje villkor presenteras nedan och internt med sina respektive kommandon.

if ((kommando> = '1') && (kommando <= '3')) {Serial.print ("Musikreproduktion"); Serial.println (kommando); kommando = kommando - 48; myDFPlayer.play (kommando); menu_opcoes (); } // Reproduktion // Stoppa om (kommando == 's') {myDFPlayer.stop (); Serial.println ("Musik stoppad!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Fortsätt …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musik pausad!"); myDFPlayer.pause (); } menu_opcoes (); }

// Ökar volymen

if (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Nuvarande volym:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("nästa:"); Serial.print ("Nuvarande spår:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Minskar volymen om (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Nuvarande volym:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Så om du tillämpade alla de presenterade stegen kunde du lära dig:

  • Grundläggande driftskrets för DFMini -spelaren MP3;
  • Organisation och konfiguration av ljudfiler på minneskortet;
  • Musikalisk kontroll med Arduino. Från denna kod kan du utveckla andra projekt som behöver använda ljud som systemfunktionalitet.

Kvitteringar

För att avsluta, tackar vi dig för din läsning och stödet från PCBWAY. COM för att stödja Silício Lab i produktionen av denna artikel åt dig.

Silícios Lab tackar UTSOURCE för att erbjuda de elektroniska komponenterna för att konstruera detta projekt.

Rekommenderad: