Sisällysluettelo:

DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa: 4 vaihetta
DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa: 4 vaihetta

Video: DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa: 4 vaihetta

Video: DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa: 4 vaihetta
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Heinäkuu
Anonim
DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa
DFMini Player MP3 -moduulin käyttäminen Arduinon kanssa

Useat projektit vaativat äänentoistoa jonkinlaisen toiminnallisuuden lisäämiseksi. Näistä projekteista korostamme: saavutettavuutta näkövammaisille, MP3 -musiikkisoittimia ja esimerkiksi ääniäänien suorittamista robottien toimesta.

Kaikissa näissä järjestelmissä tarvitsemme MP3 -äänentoistolaitteen, jotta voimme muodostaa yhteyden Arduinoon. Siksi tässä artikkelissa opimme seuraavat kohdat: DFMini Player MP3: n peruskäyttöpiiri; Äänitiedostojen järjestely ja kokoonpano muistikortilla; Musiikkiohjaus Arduinolla.

Tarvikkeet

PCBWay Custom PCB;

DFPlayer Mini MP3 -moduuli - UTSOURCE;

10 kR vastus - UTSOURCE;

Kytkinpainike - UTSOURCE;

Leipälauta - UTSOURCE;

Arduino UNO - UTSOURCE;

Otsatappi - UTSOURCE;

Vaihe 1: Mikä on DF Mini Player MP3 -moduuli

Mikä on DF Mini Player MP3 -moduuli
Mikä on DF Mini Player MP3 -moduuli
Mikä on DF Mini Player MP3 -moduuli
Mikä on DF Mini Player MP3 -moduuli

DFMini Player -moduuli on pieni musiikkisoitin, edullinen ja vähän virtaa käyttävä, jonka tarkoituksena on toistaa muistikortille tallennettuja ääniä.

Tämän perusteella moduulia voidaan ohjata itsenäisen tilan kautta, eli tässä tilassa on vain DFMini -moduuli, akku virtalähteeksi, kaiutin, sen painikkeet ja SD -kortti kappaleiden kanssa. Toinen tapa hallita sitä on käyttää Arduinoa tai muuta ohjauslaitetta.

Esimerkiksi Arduino lähettää komentoja sarjaliikenteen kautta DFMini Player -moduulin kanssa. DFMini Player -moduuli on esitetty kuvassa 1.

Sen hallitsemiseksi on tärkeää käyttää erillistä peruspiiriä. Tämä piiri on esitetty kuvassa 2.

Kahdella yllä olevassa piirissä olevalla painikkeella vaihdetaan musiikkiraitoja ja säädetään äänenvoimakkuutta. Nastaan IO1 liitettyä painiketta käytetään siirtymään edelliseen kappaleeseen ja vähentämään äänenvoimakkuutta. Nopealla kosketuksella järjestelmä palaa edelliseen kappaleeseen, mutta jos painat painiketta yli 1 sekunnin ajan, järjestelmä pienentää kappaleen äänenvoimakkuutta.

Nastaan IO2 kytkettyä painiketta käytetään seuraavaan kappaleeseen siirtymiseen ja äänenvoimakkuuden lisäämiseen. Nopealla kosketuksella järjestelmä siirtyy seuraavaan kappaleeseen, mutta jos painat painiketta yli 1 sekunnin ajan, järjestelmä lisää kappaleen äänenvoimakkuutta.

Vaihe 2:

Kuva
Kuva

Tässä itsenäisessä menetelmässä kappaleet on tallennettava muistikortille kuvan 3 mukaisesti.

Tällä tavalla järjestelmä toistaa jokaisen kappaleen nousevassa tai laskevassa järjestyksessä aina, kun painetaan painikkeita. Kuitenkin, kun käytetään Arduinoa tai muuta ohjauslaitetta, meidän on muutettava tapaa järjestää musiikkitiedostot SD -kortille.

Selitän nyt, kuinka hallita DFMini Playeria Arduinolla sarjaliikenteen avulla.

Vaihe 3: DFMini Playerin hallinta Arduinolla

DFMini -soittimen ohjaaminen Arduinolla
DFMini -soittimen ohjaaminen Arduinolla
DFMini -soittimen ohjaaminen Arduinolla
DFMini -soittimen ohjaaminen Arduinolla

Tässä vaiheessa Arduino lähettää äänenvoimakkuuden säätö-, alueohjaus-, taajuuskorjauskomennot ja muut ominaisuudet.

Arduinon on kommunikoitava sarjan kautta DFMini Playerin kanssa ja lähetettävä ohjauskomennot.

Ohjauspiirin elektroninen kaavio on esitetty kuvassa 4.

Ensin meidän on koottava alla olevassa kuvassa näkyvä piiri, ja tämän piirin kokoamisen jälkeen sinun on lisättävä muistikortillesi kappaleet. Tässä vaiheessa kappaleet tulee nimetä uudelleen esimerkiksi 01, 02, 03.

Et voi jättää kappaleita niiden nimillä, koska tulee ongelma, kun Arduino lähettää komennon suorittaa tietty kappale. Siksi sinun on määritettävä alla kuvatulla tavalla.

Vaihe 4:

Kun olet antanut tiedostoille nimen, kirjoita seuraava koodi Arduinollesi.

// odottaa tietojen syöttämistä sarjavälin kautta (Serial.available ()> 0) {command = Serial.read (); if ((komento> = '1') && (komento <= '9')) {Serial.print ("Musiikin toisto"); Serial.println (komento); komento = komento - 48; myDFPlayer.play (komento); menu_opcoes (); } // Jäljentäminen // Lopeta jos (komento == 's') {myDFPlayer.stop (); Serial.println ("Musiikki pysäytetty!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Jatka…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiikki keskeytetty!"); myDFPlayer.pause (); } menu_opcoes (); }

// Lisää äänenvoimakkuutta

if (komento == '+') {myDFPlayer.volumeUp (); Serial.print ("Nykyinen tilavuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } jos (komento == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Nykyinen kappale:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Vähentää äänenvoimakkuutta, jos (komento == '-') {myDFPlayer.volumeDown (); Serial.print ("Nykyinen tilavuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("============================================ ================================================== ===================================== ")); Serial.println (F ("Komennot:")); Serial.println (F ("[1-3] MP3-tiedoston valitseminen")); Serial.println (F ("[s] lopettavat lisääntymisen")); Serial.println (F ("

Yllä oleva koodi on melko yksinkertainen ja auttaa sinua valitsemaan kappaleen numeron perusteella, pysäyttämään, pysäyttämään, säätämään äänenvoimakkuutta ja siirtämään kappaleet.

Musiikkiohjaus koostuu tietojen lähettämisestä Arduino IDE -sarjasta Arduino -kortillemme. Aluksi järjestelmä tekee määritykset asetuksissa ja tarkistaa, onko SD -kortti asetettu moduuliin.

Jos sitä ei ole lisätty, järjestelmä näyttää viestin, joka varoittaa käyttäjää.

Lisäksi järjestelmä näyttää viestit järjestelmän kokoonpanovaihtoehdoilla.

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 (F ("DFRobot DFPlayer Mini")); Serial.println (F ("DFPlayer -moduulin alustaminen… Odota!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Ei alustettu:")); Serial.println (F ("1. Tarkista DFPlayer Mini -yhteydet")); Serial.println (F ("2. Aseta SD -kortti")); kun taas (totta); } Sarja.println (); Serial.println (F ("DFPlayer Mini -moduuli alustettu!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Aikakatkaisusarja 500 ms myDFPlayer.volume (5); // Volume 5 myDFPlayer. EQ (0); // Equalizacao normaali menu_opcoes (); }

Jos muistikortti on asetettu, koodivirta siirtyy silmukkatoimintoon.

void loop () {// Odottaa tietojen syöttämistä sarjan kautta, kun taas (Serial.available ()> 0) {command = Serial.read (); if ((komento> = '1') && (komento <= '3')) {Serial.print ("Musiikin toisto"); Serial.println (komento); komento = komento - 48; myDFPlayer.play (komento); menu_opcoes (); } // Jäljentäminen // Lopeta jos (komento == 's') {myDFPlayer.stop (); Serial.println ("Musiikki pysäytetty!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Jatka…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiikki keskeytetty!"); myDFPlayer.pause (); } menu_opcoes (); }

// Lisää äänenvoimakkuutta

if (komento == '+') {myDFPlayer.volumeUp (); Serial.print ("Nykyinen tilavuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } jos (komento == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Nykyinen kappale:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Vähentää äänenvoimakkuutta, jos (komento == '-') {myDFPlayer.volumeDown (); Serial.print ("Nykyinen tilavuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Käyttäjä voi lähettää seuraavat ohjausmerkit:

Numerot 1-3: Valitse toistettava kappale;

  • Kirjain s: Pysäytä kappale; Kirjain p: Keskeytä kappale;
  • Lähetä + -merkki: Lisää kappaleen äänenvoimakkuutta;
  • Lähetä - signaali: Vähennä kappaleen äänenvoimakkuutta;
  • Lähetä signaali <: valitse edellinen kappale;
  • Lähetä signaali>: Valitse seuraava kappale;

Näistä signaaleista, kirjaimista ja numeroista Arduino vastaanottaa ne sarjan kautta ja ohjaa toistettavaa musiikkia.

Jokainen ehto esitetään alla ja sisäisesti vastaavilla komennoilla.

if ((komento> = '1') && (komento <= '3')) {Serial.print ("Musiikin toisto"); Serial.println (komento); komento = komento - 48; myDFPlayer.play (komento); menu_opcoes (); } // Jäljentäminen // Lopeta jos (komento == 's') {myDFPlayer.stop (); Serial.println ("Musiikki pysäytetty!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Jatka…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiikki keskeytetty!"); myDFPlayer.pause (); } menu_opcoes (); }

// Lisää äänenvoimakkuutta

if (komento == '+') {myDFPlayer.volumeUp (); Serial.print ("Nykyinen tilavuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } jos (komento == '') {myDFPlayer.next (); Serial.println ("next:"); Serial.print ("Nykyinen kappale:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Vähentää äänenvoimakkuutta, jos (komento == '-') {myDFPlayer.volumeDown (); Serial.print ("Nykyinen tilavuus:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Joten jos otit käyttöön kaikki esitetyt vaiheet, voit oppia:

  • DFMini Player MP3: n peruskäyttöpiiri;
  • Äänitiedostojen järjestäminen ja konfigurointi muistikortilla;
  • Musiikinhallinta Arduinon avulla Tästä koodista pystyt kehittämään muita projekteja, joiden on käytettävä ääntä järjestelmän toiminnallisuutena.

Kiitokset

Lopuksi kiitämme lukemastasi ja PCBWAY. COM: n tuesta Silício Labin tukemisessa tämän artikkelin tuottamisessa sinulle.

Silícios Lab kiittää UTSOURCEa tarjoamaan elektroniset komponentit tämän projektin rakentamiseksi.

Suositeltava: