Innehållsförteckning:
- Steg 1: Datablad
- Steg 2: DFPlayer -modul
- Steg 3: Miniförstärkare PAM8403
- Steg 4: Montering
- Steg 5: Bibliotek
- Steg 6: Källkod
Video: MP3 -spelare med Arduino: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
I denna samling använde vi en mp3-spelare med Arduino Uno, en mini PAM8403-ljudförstärkare med volymjustering, en mp3-modul DFPlayer Mini och ett par 3-watts högtalare.
Detta system fungerar inte bara för musikspelaren, utan också för att tillåta röstfunktioner för bland annat en parkeringsbarriär eller en robot. Denna samling möjliggör placering av en inspelad röst i apparaterna. Denna röst kommer att vara naturlig och inte syntetiserad. För de flesta är dessa föredragna funktioner jämfört med standardalternativen.
För denna montering använder vi specifikt Arduino Uno, men du kan också ansluta till ESP8266 eller ESP32. Uppenbarligen kommer en justering att krävas på stiften.
Steg 1: Datablad
Steg 2: DFPlayer -modul
DFPlayer -modulen använder seriell kommunikation RX TX, VCC, GND. Den har utgång till två högtalare och ljudingång.
Steg 3: Miniförstärkare PAM8403
Steg 4: Montering
Steg 5: Bibliotek
Lägg till följande "DFRobotDFPlayerMini" -bibliotek för kommunikation med mp3 -modulen.
Gå bara till "Skiss >> Inkludera bibliotek >> Hantera bibliotek …"
Steg 6: Källkod
Vi börjar med att definiera bibliotek och konstanter som vi kommer att använda med vår kod.
Börja med att skapa ett objekt, den seriella programvaran och ett annat, som är myDFPlayer.
Buf -variabeln, som är av typen String, kommer att tjäna till att lagra data som kommer från Arduino Serial, som kommer att vara kommandon för MP3 -modulen. Variabeln "paus" används för att indikera om musiken spelas eller pausas (paus = sant, och indikerar att den är pausad, annars spelas den).
#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia a serial por software nos pinos 10 e 11 SoftwareSerial mySoftwareSerial (10, 11); // RX, TX // Objeto responsável pela comunicação com or módulo MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // variável responsável por armazenar os comandos enviados para controlar o player String buf; // variável responsável por armazenar o estado do player (0: tocando; 1: pausado) boolean pausa = false; // variável responsável por armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0; // (0 = Normal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Classic, 5 = Bass) "// variável responsável por armazenar o total de músicas presenterar inget SD -kort. Int maxSongs = 0;
Uppstart
I det här steget lägger vi ut alternativ för utskrifter för att ge dig indikationer på att det monterar kretsen, med utvärderingar av falska förhållanden, till exempel.
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 ("DFRobot DFPlayer Mini"); Serial.println ("Inicializando modulo DFPlayer … (3 ~ 5 segundos)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1. Cheque som conexoes gör DFPlayer Mini"); Serial.println ("2. Insira um cartao SD"); medan (sant); } Serial.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Timeout seriell 500ms myDFPlayer.volume (10); // Volym 10 från 0 till 30 myDFPlayer. EQ (0); // Equalizacao normal // recupera o numero de Músicas encontradas no SD. maxSongs = myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD); Serial.println (); Serial.print ("Numero de arquivos no cartao SD:"); Serial.println (maxSongs); // Mostra o menu de comandos menu_opcoes ();
Alternativ -menyn
Du styr hela denna enhet via den seriella bildskärmen. Så varje gång kommer schemat att skriva ut den alternativmeny du har, med kommandon, riktningar.
void menu_opcoes () {Serial.println (); Serial.println ("Comandos:"); Serial.print ("[1-"); Serial.print (maxSongs); Serial.println ("] Para selecionar o arquivo MP3"); Serial.println ("[s] parar reproducao"); Serial.println ("[p] pausa/continua a musica"); Serial.println ("[e] seleciona equalizacao"); Serial.println ("[+ eller -] aumenta ou diminui o volume"); Serial.println (); }
Slinga
void loop () {// Aguarda a entrada de dados pela serial while (Serial.available ()> 0) {// recupera os dados de entrada buf = Serial.readStringUntil ('\ n'); // Reproducao (índice da música) if ((buf.toInt ()> = 1) && (buf.toInt () <= maxSongs)) {Serial.print ("Reproduzindo musica:"); Serial.println (buf.toInt ()); myDFPlayer.play (buf.toInt ()); // dá play na música menu_opcoes (); } // Pausa/Continua a musica if (buf == "p") {if (pausa) {Serial.println ("Continua musica …"); myDFPlayer.start (); } annat {Serial.println ("Musica pausada …"); myDFPlayer.pause (); } pausa =! pausa; menu_opcoes (); } // Parada if (buf == "s") {myDFPlayer.stop (); Serial.println ("Musica parada!"); menu_opcoes (); } // Seleciona equalizacao if (buf == "e") {equalizacao ++; om (equalizacao == 6) {equalizacao = 0; } myDFPlayer. EQ (equalizacao); Serial.print ("Equalizacao:"); Serial.print (equalizacao); Serial.println ("(0 = Normal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Classic, 5 = Bass)"); menu_opcoes (); } // Aumenta -volym om (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("Volume atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // Diminui-volym om (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("Volume atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // while} // loop
Rekommenderad:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Modernt spela in vintage kassettband med MP3 -filer: 8 steg (med bilder)
Modern inspelning av vintage kassettband med MP3-filer: Med vintage kassettband som dyker upp i popkulturen nu mer än någonsin, vill många skapa sina egna versioner. I denna handledning kommer jag att vägleda dig om hur du (om du har en bandspelare) spelar in dina egna kassettband med modern teknik
Talking Arduino - Spela en MP3 med Arduino utan någon modul - Spela upp MP3 -fil från Arduino med PCM: 6 steg
Talking Arduino | Spela en MP3 med Arduino utan någon modul | Spela MP3 -fil från Arduino Använda PCM: I denna instruktioner lär vi oss hur man spelar en mp3 -fil med arduino utan att använda någon ljudmodul, här kommer vi att använda PCM -bibliotek för Arduino som spelar 16 bitars PCM med 8 kHz -frekvens så låt oss göra detta
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Spela låtar (MP3) med Arduino med PWM på högtalare eller Flyback Transformer: 6 steg (med bilder)
Spela låtar (MP3) med Arduino med PWM på högtalare eller Flyback Transformer: Hej killar, det här är min första instruerbara, jag hoppas att du kommer att gilla det! I grund och botten har jag i detta projekt använt den seriella kommunikationen mellan min Arduino och min bärbara dator, för att överföra musikdata från min bärbara dator till Arduino. Och med Arduino TIMERS t