Tartalomjegyzék:

MP3 lejátszó Arduino -val: 6 lépés
MP3 lejátszó Arduino -val: 6 lépés

Videó: MP3 lejátszó Arduino -val: 6 lépés

Videó: MP3 lejátszó Arduino -val: 6 lépés
Videó: Arduino Start #6. Модуль MP3 и ARDUINO 2024, November
Anonim
Image
Image
Adatlap
Adatlap

Ebben az összeállításban egy MP3 lejátszót használtunk Arduino Uno-val, egy mini PAM8403 hangerősítőt hangerőszabályzóval, egy DFPlayer Mini mp3 modult és egy pár 3 wattos hangszórót.

Ez a séma nemcsak a zenelejátszót szolgálja, hanem többek között parkológátló eszköz vagy robot hangfunkcióit is lehetővé teszi. Ez az összeállítás lehetővé teszi egy rögzített hang elhelyezését a készülékekben. Ez a hang természetes lesz és nem szintetizált. A legtöbb ember számára ezek előnyös tulajdonságok a standard alternatívákhoz képest.

Ehhez az összeállításhoz kifejezetten az Arduino Uno -t használjuk, de csatlakozhat az ESP8266 vagy az ESP32 -hez is. Nyilvánvalóan szükség lesz a csapok beállítására.

1. lépés: Adatlap

2. lépés: DFPlayer modul

DFPlayer modul
DFPlayer modul

A DFPlayer modul az RX TX, VCC, GND soros kommunikációt használja. Kimenet két hangszóróra és audio bemenet.

3. lépés: PAM8403 mini erősítő

Mini erősítő PAM8403
Mini erősítő PAM8403

4. lépés: Összeszerelés

Összeszerelés
Összeszerelés

5. lépés: Könyvtárak

Könyvtárak
Könyvtárak

Adja hozzá a következő "DFRobotDFPlayerMini" könyvtárat az mp3 modullal való kommunikációhoz.

Egyszerűen nyissa meg a "Vázlat >> Könyvtárak felvétele >> Könyvtárak kezelése …" lehetőséget.

6. lépés: Forráskód

Kezdjük a kódunkkal használandó könyvtárak és állandók meghatározásával.

Kezdje azzal, hogy létrehoz egy objektumot, a soros szoftvert, és egy másikat, ami a myDFPlayer.

A buf változó, amely String típusú, az Arduino sorozatból érkező adatok tárolására szolgál, amelyek az MP3 modul parancsai lesznek. A "szünet" változó jelzi, hogy a zene lejátszása vagy szüneteltetése (szünet = igaz, és azt jelzi, hogy szüneteltetve van, különben lejátszik).

#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia a serial by software nos pinos 10 e 11 SoftwareSerial mySoftwareSerial (10, 11); // RX, TX // Válaszadás objektív kommunikációval vagy móddal MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // variável responseável por armazenar os comandos enviados para controlar o player String buf; // variável responseável por armazenar o estado do player (0: tocando; 1: pausado) boolean pausa = false; // variável responseável por armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0; // (0 = normál, 1 = pop, 2 = rock, 3 = jazz, 4 = klasszikus, 5 = mély)

Beállít

Ebben a lépésben a nyomatok opcióit adjuk meg annak jelzésére, hogy az áramkört szereli, például hamis körülmények értékelésével.

void setup () {// Comunicacao serial com vagy 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 szegmens)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1. Cheque as conexoes do DFPlayer Mini"); Serial.println ("2. Insira um cartao SD"); míg (igaz); } Sorozat.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Sorozatos időtúllépés myDFPlayer.volume (10); // 10. kötet vagy 0 a 30 myDFPlayer. EQ (0); // Equalizacao normal // recupera o numero de Músicas encontradas no SD. maxSongs = myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD); Sorozat.println (); Serial.print ("Numero de arquivos no cartao SD:"); Serial.println (maxSongs); // Mostra o menu de comandos menu_opcoes ();

Beállítások menü

Ezt az egész szerelvényt a soros monitoron keresztül irányíthatja. Tehát a rendszer minden alkalommal kinyomtatja a Beállítások menüt, parancsokkal, utasításokkal.

void menu_opcoes () {Serial.println (); Serial.println ("Comandos:"); Soros.nyomtatás ("[1-"); Serial.print (maxSongs); Serial.println ("] Para selecionar o arquivo MP3"); Serial.println ("[s] parar reprcao"); Serial.println ("[p] pausa/continua a musica"); Serial.println ("[e] seleciona equalizacao"); Serial.println ("[+ vagy -] aumenta ou diminui o volume"); Sorozat.println (); }

Hurok

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:"); Soros.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 (); } else {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 ++; if (equalizacao == 6) {equizacao = 0; } myDFPlayer. EQ (equalizacao); Serial.print ("Equalizacao:"); Serial.print (equalizacao); Serial.println ("(0 = normál, 1 = pop, 2 = rock, 3 = jazz, 4 = klasszikus, 5 = mély)"); menu_opcoes (); } // Aumenta kötet if (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("A Volume kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // Diminui hangerő if (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("A Volume kötet:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // while} // hurok

Ajánlott: