Turinys:
- 1 žingsnis: duomenų lapas
- 2 veiksmas: „DFPlayer“modulis
- 3 žingsnis: mini stiprintuvas PAM8403
- 4 žingsnis: Surinkimas
- 5 žingsnis: bibliotekos
- 6 žingsnis: šaltinio kodas
Video: MP3 grotuvas su „Arduino“: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šiame surinkime mes naudojome mp3 grotuvą su „Arduino Uno“, mini garso stiprintuvą PAM8403 su garsumo reguliavimu, mp3 modulį „DFPlayer Mini“ir porą 3 vatų garsiakalbių.
Ši schema skirta ne tik muzikos grotuvui, bet ir, be kita ko, leisti balso funkcijas stovėjimo barjerui ar robotui. Šis surinkimas leis įrenginiuose įrašyti įrašytą balsą. Šis balsas bus natūralus ir nesintetintas. Daugumai žmonių tai yra pageidaujamos savybės, palyginti su standartinėmis alternatyvomis.
Šiam surinkimui mes specialiai naudojame „Arduino Uno“, tačiau taip pat galite prisijungti prie ESP8266 arba ESP32. Akivaizdu, kad kaiščius reikės sureguliuoti.
1 žingsnis: duomenų lapas
2 veiksmas: „DFPlayer“modulis
DFPlayer modulis naudoja nuoseklųjį ryšį RX TX, VCC, GND. Jis turi išvestį į du garsiakalbius ir garso įvestį.
3 žingsnis: mini stiprintuvas PAM8403
4 žingsnis: Surinkimas
5 žingsnis: bibliotekos
Pridėkite šią biblioteką „DFRobotDFPlayerMini“, kad galėtumėte bendrauti su mp3 moduliu.
Tiesiog eikite į „Eskizas >> Įtraukti bibliotekas >> Tvarkyti bibliotekas …“
6 žingsnis: šaltinio kodas
Pradėsime apibrėždami bibliotekas ir konstantas, kurias naudosime su savo kodu.
Pradėkite nuo vieno objekto, serijinės programinės įrangos, sukūrimo ir dar vieno - myDFPlayer.
„Buf“kintamasis, kurio tipas yra „String“, bus skirtas duomenims, gautiems iš „Arduino“serijos, saugoti, kurie bus MP3 modulio komandos. Kintamasis „pauzė“bus naudojamas norint parodyti, ar muzika grojama, ar pristabdyta (pauzė = tiesa ir nurodo, kad ji pristabdyta, kitaip ji grojama).
#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia a serial of software no pinos 10 e 11 SoftwareSerial mySoftwareSerial (10, 11); // RX, TX // Atsakymas į užduotį, skirtas komunikacijai arba būdas MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // įvairios reakcijos į armazenar os comandos enviados para controlar o player String buf; // varável responseavel por armazenar o estado do player (0: tocando; 1: pausado) boolean pausa = false; // varável responseavel por armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0; // (0 = Įprasta, 1 = Pop, 2 = Rokas, 3 = Džiazas, 4 = Klasikinis, 5 = Žemasis) "// įvairus atsakas į armazenar arba iš viso de músicas nepateikia SD kortelės. Int maxSongs = 0;
Sąranka
Šiame etape mes pateikiame spaudinių parinktis, kad parodytume, kad ji montuoja grandinę, pavyzdžiui, įvertinus klaidingas sąlygas.
void setup () {// Comunicacao serial com or modulo mySoftwareSerial.begin (9600); // Inicializa a serial to do Arduino Serial.begin (115200); // Verifica se o 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 segmentai)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1. Cheque as conexoes do DFPlayer Mini"); Serial.println ("2. Insira um cartao SD"); o (tiesa); } Serial.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Laiko pertraukos serija 500 ms myDFPlayer.volume (10); // 10 tomas arba 0 a 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 ();
Parinkčių meniu
Jūs valdote visą šį mazgą per serijinį monitorių. Taigi kiekvieną kartą schema spausdins turimą parinkčių meniu su komandomis, nuorodomis.
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 reprcao"); Serial.println ("[p] pausa/continua a musica"); Serial.println ("[e] seleciona equizacao"); Serial.println ("[+ arba -] aumenta ou diminui o volume"); Serial.println (); }
Kilpa
void loop () {// Aguarda a entrada de dados pela serial while 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 (); } else {Serial.println ("Musica pausada…"); myDFPlayer.pause (); } pausa =! pausa; menu_opcoes (); } // Parada if (buf == "s") {myDFPlayer.stop (); Serial.println ("Musica parada!"); menu_opcoes (); } // Seleciona equizacao if (buf == "e") {equizacao ++; jei (equizacao == 6) {equizacao = 0; } myDFPlayer. EQ (ekvivalentiškas); Serial.print („Equalizacao:“); Serial.print (equizacao); Serial.println ("(0 = normalus, 1 = pop, 2 = rokas, 3 = džiazas, 4 = klasikinis, 5 = žemasis)"); menu_opcoes (); } // Aumenta tūris if (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("Tūris atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // Diminui tūris if (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("Tūris atual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // tuo tarpu} // kilpa
Rekomenduojamas:
Infraraudonųjų spindulių valdomas MP3 grotuvas: 6 žingsniai (su nuotraukomis)
Infraraudonųjų spindulių valdomas MP3 grotuvas: sukurkite infraraudonųjų spindulių nuotolinio valdymo pulto MP3 grotuvą už maždaug 10 USD (USD). Jis turi įprastas funkcijas: leisti, pristabdyti, leisti kitą ar ankstesnį, leisti vieną ar visas dainas. Jis taip pat turi ekvalaizerio variantus ir garsumo valdymą. Visa tai galima valdyti per
Arduino MP3 grotuvas: 5 žingsniai
„Arduino“MP3 grotuvas: Ei, kūrėjai, aš jums parodysiu, kaip padaryti, kad jūsų „Arduino“galėtų išvesti balsus, naudojant SD kortelių skaitytuvą ir garsiakalbį. Aukščiau esančiame vaizdo įraše aš parodžiau jums 3 grandines, kaip prijungti šiuos projektus, kad gautumėte geriausius rezultatus. Šiam projektui reikalingos dalys
RASPBERRY ZERO INTERNET RADIO / MP3 GROTUVAS: 4 žingsniai
RASPBERRY ZERO INTERNET RADIO / MP3 GROTUVAS: Žinau, tai ne pirmas aviečių interneto radijas. Bet tai yra: labai pigu ir tikrai gerai veikia visos funkcijos, valdomos naudojant žiniatinklio sąsają, jūsų telefonas yra nuotolinio valdymo pultas, kurį labai lengva sukurti ir valdyti
„Raspberry Pi“MP3 grotuvas: 9 žingsniai
„Raspberry Pi“MP3 grotuvas: „Raspberry Pi“iš tikrųjų nėra geras MP3 grotuvui gaminti. Tačiau šis šio projekto tikslas yra žinoti, kaip naudoti GPIO kaiščius. Bendrosios paskirties įvestis/išvestis yra neįpareigojantis skaitmeninis signalo kaištis integrinėje grandinėje arba elektroninėje plokštėje, kurios
„Arduino“retro stiliaus MP3 grotuvas!: 8 žingsniai (su nuotraukomis)
„Arduino“retro stiliaus MP3 grotuvas !: Mp3 grotuvas gali atrodyti gana pasenęs. Išmanieji telefonai gali padaryti daug geriau nei tai! Su visomis šiomis programomis ir srautinio perdavimo paslaugomis jums net nereikia atsisiųsti jokios muzikos ar dainos. Bet kai aš susidūriau su „DFplayer“moduliu, tai mane labai sujaudino