Innehållsförteckning:
- Tillbehör
- Steg 1: Vad är DF Mini Player MP3 -modulen
- Steg 2:
- Steg 3: Kontrollera DFMini -spelaren med Arduino
- Steg 4:
Video: Hur man använder DFMini -spelarens MP3 -modul med Arduino: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:39
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
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:
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
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:
Hur man skapar en Linux -boot -enhet (och hur man använder den): 10 steg
Hur man skapar en Linux Boot Drive (och hur man använder den): Detta är en enkel introduktion om hur man kommer igång med Linux, särskilt Ubuntu
Hur man använder Mac Terminal och hur man använder viktiga funktioner: 4 steg
Så här använder du Mac Terminal och hur du använder viktiga funktioner: Vi visar dig hur du öppnar MAC Terminal. Vi kommer också att visa dig några funktioner i terminalen, till exempel ifconfig, ändra kataloger, komma åt filer och arp. Ifconfig låter dig kontrollera din IP -adress och din MAC -annons
Hur man använder RPLIDAR 360 ° laserskanner med Arduino: 3 steg (med bilder)
Hur man använder RPLIDAR 360 ° laserskanner med Arduino: Jag är ett stort fan av att bygga sumobotrar och jag letar alltid efter nya intressanta sensorer och material att använda för att bygga en bättre, snabbare och smartare robot. Jag fick reda på RPLIDAR A1 som du kan få för $ 99 på DFROBOT.com. Jag sa att jag var inte
Hur man använder Si4703 FM -radiokort med RDS - Arduino -handledning: 5 steg (med bilder)
Hur man använder Si4703 FM -radiokort med RDS - Arduino -handledning: Detta är en utvärderingskort för Silicon Laboratories Si4703 FM -tunerchip. Förutom att vara en enkel FM -radio kan Si4703 också upptäcka och behandla både Radio Data Service (RDS) och Radio Broadcast Data Service (RBDS) information. T
Hur man använder FC-37 regnsensor med en Arduino: 4 steg (med bilder)
Hur man använder FC-37 regnsensor med en Arduino: Hej! I min första instruerbara kommer jag att visa dig hur du använder FC-37 regnsensor med en arduino. Jag använder en arduino nano men andra versioner fungerar bra