Sisällysluettelo:
- Vaihe 1: Tietolomake
- Vaihe 2: DFPlayer -moduuli
- Vaihe 3: Minivahvistin PAM8403
- Vaihe 4: Kokoonpano
- Vaihe 5: Kirjastot
- Vaihe 6: Lähdekoodi
Video: MP3 -soitin Arduinolla: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tässä kokoonpanossa käytimme mp3-soitinta, jossa on Arduino Uno, mini PAM8403-äänenvahvistinta, jossa on äänenvoimakkuuden säätö, mp3-moduulia DFPlayer Mini ja paria 3 watin kaiuttimia.
Tämä järjestelmä palvelee musiikkisoittimen lisäksi myös muun muassa pysäköintiesteen tai robotin äänitoimintoja. Tämä kokoonpano mahdollistaa tallennetun äänen sijoittamisen laitteisiin. Tämä ääni on luonnollinen eikä syntetisoitu. Useimmille ihmisille nämä ovat parempia ominaisuuksia verrattuna vakiovaihtoehtoihin.
Tässä kokoonpanossa käytämme erityisesti Arduino Unoa, mutta voit myös muodostaa yhteyden ESP8266- tai ESP32 -laitteeseen. On selvää, että nastoja on säädettävä.
Vaihe 1: Tietolomake
Vaihe 2: DFPlayer -moduuli
DFPlayer -moduuli käyttää sarjaliikennettä RX TX, VCC, GND. Siinä on lähtö kahdelle kaiuttimelle ja äänitulo.
Vaihe 3: Minivahvistin PAM8403
Vaihe 4: Kokoonpano
Vaihe 5: Kirjastot
Lisää seuraava "DFRobotDFPlayerMini" -kirjasto kommunikointiin mp3 -moduulin kanssa.
Avaa vain "Luonnos >> Sisällytä kirjastot >> Hallitse kirjastoja…"
Vaihe 6: Lähdekoodi
Aloitamme määrittelemällä kirjastot ja vakiot, joita käytämme koodillamme.
Aloita luomalla yksi objekti, sarjaohjelmisto ja toinen, myDFPlayer.
Buf -muuttuja, joka on tyyppiä String, tallentaa Arduino -sarjasta tulevat tiedot, jotka ovat MP3 -moduulin komentoja. "Pause" -muuttujaa käytetään osoittamaan, toistetaanko musiikkia vai keskeytetäänkö (pause = true, ja osoittaa, että se on keskeytetty, muuten se toistetaan).
#include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia on sarjanumero ohjelmistosta nro 10 e 11 SoftwareSerial mySoftwareSerial (10, 11); // RX, TX // Objektiivinen vastaus pelattavalla kommunikaatiolla tai menetelmällä MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // vaihtelevat vastaukset armazenar os comandos enviados para controlar o player String buf; // vaihtelevat vastaukset armazenar tai estado do player (0: tocando; 1: pausado) boolean pausa = false; // vaihtelevat vastaukset armazenar o estado da equalização // varia de 0 a 5 int equalizacao = 0; // (0 = normaali, 1 = pop, 2 = rock, 3 = jazz, 4 = klassinen, 5 = basso) "// vaihteleva vastaus tason mukaan tai kokonaismusiikki ei sisällä SD -korttia. Int maxSongs = 0;
Perustaa
Tässä vaiheessa asetamme tulostusvaihtoehtoja, jotka osoittavat, että se on asentamassa piiriä, esimerkiksi väärien olosuhteiden arvioinnit.
void setup () {// Comunicacao serial com tai modulo mySoftwareSerial.begin (9600); // Inicializa a series from 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 segmenttiä)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1. Cheque as conexoes do DFPlayer Mini"); Serial.println ("2. Insira um cartao SD"); kun taas (totta); } Sarja.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Aikakatkaisusarja 500 ms myDFPlayer.volume (10); // Volume 10 vai 0 0 30 myDFPlayer. EQ (0); // Equalizacao normal // talteenotto tai numero de Músicas encontradas no SD. maxSongs = myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD); Sarja.println (); Serial.print ("Numero de arquivos no cartao SD:"); Sarja.println (maxSongs); // Mostra o menu de comandos menu_opcoes ();
Asetukset -valikko
Voit ohjata koko kokoonpanoa sarjamonitorin kautta. Joten joka kerta, järjestelmä tulostaa käytettävissä olevan Asetukset -valikon komennoilla ja ohjeilla.
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 ("[+ tai -] aumenta ou diminui o volume"); Sarja.println (); }
Silmukka
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 (); } 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 ++; jos (equizacao == 6) {equizacao = 0; } myDFPlayer. EQ (equizacao); Serial.print ("Equalizacao:"); Sarjajälki (equizacao); Serial.println ("(0 = normaali, 1 = pop, 2 = rock, 3 = jazz, 4 = klassinen, 5 = basso)"); menu_opcoes (); } // Aumenta -tilavuus if (buf == "+") {myDFPlayer.volumeUp (); Serial.print ("Äänenvoimakkuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } // Diminui-äänenvoimakkuus if (buf == "-") {myDFPlayer.volumeDown (); Serial.print ("Äänenvoimakkuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }} // while} // silmukka
Suositeltava:
Moottorin nopeuden mittaus Arduinolla: 6 vaihetta
Moottorin nopeuden mittaus Arduinon avulla: Onko moottorin kierrosluvun mittaaminen vaikeaa? En usko. Tässä on yksi yksinkertainen ratkaisu: Vain yksi infrapuna -anturi ja Arduino sarjassasi voivat tehdä niin. Tässä viestissä annan yksinkertaisen opetusohjelman, jossa selitetään kuinka mitata minkä tahansa moottorin kierrosluku IR -anturia ja A
Kasvimonitorin rakentaminen Arduinolla: 7 vaihetta
Kasvimonitorin rakentaminen Arduinolla: Tässä opetusohjelmassa opimme tunnistamaan maaperän kosteuden kosteusanturin avulla ja vilkkumaan vihreän LED -valon, jos kaikki on kunnossa ja OLED -näyttö ja Visuino
Vokaalipeli Arduinolla ja YX5300 MP3 -moduulilla Catalex: 13 vaihetta
Vokaalipeli Arduinolla ja YX5300 MP3 -moduulilla Catalex: Pystytkö lukemaan tämän kysymyksen? Tuo on outo! Kysyin tämän kysymyksen tarkoituksella. Jos voit lukea tämän tekstin, se johtuu siitä, että tunnet koko aakkoston ja tietysti opit kaikista vokaaleista. Vokaalit ovat läsnä kaikissa sanoissa. On mahdotonta
Puhuva Arduino - MP3 -tiedoston toistaminen Arduinolla ilman moduulia - Mp3 -tiedoston toistaminen Arduinosta PCM: llä: 6 vaihetta
Puhuva Arduino | MP3 -tiedoston toistaminen Arduinolla ilman moduulia | Mp3 -tiedoston toistaminen Arduinolta PCM: n avulla: Tässä ohjeessa opimme MP3 -tiedoston toistamisen arduinolla ilman äänimoduulia, tässä käytämme PCM -kirjastoa Arduinolle, joka toistaa 16 -bittistä PCM: ää 8 kHz: n taajuudella, joten voit tehdä tämän
Toista kappaleita (MP3) Arduinolla PWM: n avulla kaiuttimessa tai Flyback -muuntajassa: 6 vaihetta (kuvien kanssa)
Toista kappaleita (MP3) Arduinolla PWM: n avulla kaiuttimessa tai Flyback -muuntajassa: Hei kaverit, tämä on ensimmäinen opastettava, toivon, että pidät siitä! Pohjimmiltaan tässä projektissa olen käyttänyt sarjaliikennettä Arduinon ja kannettavan tietokoneen välillä, siirtää musiikkitietoja kannettavalta tietokoneeltani Arduinolle. Ja käyttämällä Arduino TIMERS t