Cuprins:

Cum se utilizează modulul MP3 DFMini Player cu Arduino: 4 pași
Cum se utilizează modulul MP3 DFMini Player cu Arduino: 4 pași

Video: Cum se utilizează modulul MP3 DFMini Player cu Arduino: 4 pași

Video: Cum se utilizează modulul MP3 DFMini Player cu Arduino: 4 pași
Video: 30 de sfaturi și trucuri pentru Windows 10 pentru 2020 2024, Iulie
Anonim
Cum se utilizează modulul MP3 DFMini Player cu Arduino
Cum se utilizează modulul MP3 DFMini Player cu Arduino

Mai multe proiecte necesită reproducerea sunetului pentru a adăuga un fel de funcționalitate. Printre aceste proiecte, evidențiem: accesibilitatea pentru persoanele cu deficiențe de vedere, playere MP3 și executarea sunetelor vocale de către roboți, de exemplu.

În toate aceste sisteme, avem nevoie de un dispozitiv de reproducere a sunetului MP3 pentru a ne conecta la Arduino. Prin urmare, în acest articol vom învăța următoarele puncte: Circuitul de operare de bază al DFMini Player MP3; Organizarea și configurarea fișierelor de sunet de pe cardul de memorie; Control muzical cu Arduino.

Provizii

PCBWay PCB personalizat;

Modul DFPlayer Mini MP3 - UTSOURCE;

Rezistor 10kR - UTSOURCE;

Buton de comutare - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - UTSOURCE;

Pin antet - UTSOURCE;

Pasul 1: Ce este modulul MP3 DF Mini Player

Ce este modulul MP3 DF Mini Player
Ce este modulul MP3 DF Mini Player
Ce este modulul MP3 DF Mini Player
Ce este modulul MP3 DF Mini Player

Modulul DFMini Player este un musicplayer mic, cu cost redus și putere redusă, care are scopul de a reproduce sunetele stocate pe o cartelă de memorie.

Pe baza acestui lucru, modulul poate fi controlat prin modul standalone, adică, în acest mod, va exista doar modulul DFMini, o baterie pentru alimentare, difuzorul, butoane pentru controlul acestuia și cardul SD cu melodiile. O altă modalitate de control este folosirea unui Arduino sau a unui alt dispozitiv de control.

Arduino, de exemplu, va trimite comenzi prin comunicare serială cu modulul DFMini Player. Modulul DFMini Player este prezentat în Figura 1.

Pentru a-l controla, este important să utilizați circuitul de bază independent. Acest circuit este prezentat în Figura 2.

Cele două butoane afișate în circuitul de mai sus sunt folosite pentru a schimba piesele muzicale și pentru a controla volumul sunetului. Butonul conectat la pinul IO1 este utilizat pentru a merge la pista anterioară și a reduce volumul. Cu o atingere rapidă, sistemul revine la melodia anterioară, totuși, dacă apăsați butonul mai mult de 1 secundă, sistemul va reduce volumul melodiei.

Butonul conectat la pinul IO2 este folosit pentru a merge la următoarea piesă și a crește volumul. Cu o atingere rapidă, sistemul trece la următoarea melodie, totuși, dacă apăsați butonul mai mult de 1 secundă, sistemul va crește volumul melodiei.

Pasul 2:

Imagine
Imagine

În această metodă independentă, melodiile trebuie salvate pe cardul de memorie, așa cum se arată în Figura 3.

În acest fel, de fiecare dată când butoanele sunt apăsate, sistemul va reda fiecare melodie în ordine crescătoare sau descendentă. Cu toate acestea, atunci când se utilizează Arduino sau un alt dispozitiv de control, trebuie să modificăm modul de organizare a fișierelor muzicale de pe cardul SD.

Acum, vă voi explica cum să controlați DFMini Player folosind Arduino prin comunicare serială.

Pasul 3: Controlul playerului DFMini cu Arduino

Controlul DFMini Player cu Arduino
Controlul DFMini Player cu Arduino
Controlul playerului DFMini cu Arduino
Controlul playerului DFMini cu Arduino

În acest pas, controlul volumului, controlul intervalului, comenzile de egalizare și alte caracteristici vor fi trimise de Arduino.

Arduino trebuie să comunice prin serial cu DFMini Player și să trimită comenzile de control.

Schema electronică a circuitului de comandă este prezentată în Figura 4.

Mai întâi, trebuie să asamblăm circuitul prezentat în figura de mai jos. După asamblarea acestui circuit, trebuie să adăugați melodiile de pe cardul de memorie. În acest pas, melodiile ar trebui redenumite ca 01, 02, 03, de exemplu.

Nu puteți lăsa melodiile cu numele lor, deoarece va exista o problemă când Arduino trimite comanda pentru a executa pista specifică. Prin urmare, trebuie să configurați așa cum se arată mai jos.

Pasul 4:

După denumirea fișierelor, scrieți următorul cod pe Arduino.

// Așteptă introducerea datelor prin serial while (Serial.available ()> 0) {comanda = Serial.read (); if ((comanda> = '1') && (comanda <= '9')) {Serial.print ("Reproducerea muzicii"); Serial.println (comandă); comanda = comanda - 48; myDFPlayer.play (comandă); menu_opcoes (); } // Reproducere // Opriți dacă (comanda == 's') {myDFPlayer.stop (); Serial.println („Muzica oprită!”); menu_opcoes (); } // Pausa / Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Continuare …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzică întreruptă!"); myDFPlayer.pause (); } menu_opcoes (); }

// Crește volumul

if (comanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Volumul curent:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (comanda == '') {myDFPlayer.next (); Serial.println ("următorul:"); Serial.print ("Pista curentă:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Scade volumul dacă (comanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumul curent:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("============================================ =================================================== ===================================== ")); Serial.println (F ("Comenzi:")); Serial.println (F ("[1-3] Pentru a selecta fișierul MP3")); Serial.println (F („[s] oprirea reproducerii”)); Serial.println (F („[p] pauză / continuă muzica”)); Serial.println (F („[+ sau -] crește sau scade volumul”)); Serial.println (F (" înainte sau înapoi pista")); Serial.println (); Serial.println (F ("============================================ =================================================== ==================================== ")); }

Codul prezentat mai sus este destul de simplu și vă va ajuta să selectați melodia după numărul ei, să opriți, să întrerupeți, să controlați volumul și să treceți piesele.

Controlul muzical constă în trimiterea de date din seria Arduino IDE către placa noastră Arduino. Inițial, sistemul face configurația în setare și verifică dacă cardul SD este introdus în modul.

Dacă nu este inserat, sistemul prezintă un mesaj pentru a alerta utilizatorul.

În plus, sistemul afișează mesaje cu opțiuni de configurare a sistemului.

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializa un serial Arduino Serial.begin (115200); // Verifica se o modulo esta respondendo e se o // cartao SD a fost găsit Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Initializarea modulului DFPlayer … Așteptați!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Neinicializat:")); Serial.println (F ("1. Verificați conexiunile DFPlayer Mini")); Serial.println (F ("2. Introduceți un card SD")); while (adevărat); } Serial.println (); Serial.println (F ("modulul DFPlayer Mini inițializat!")); // Definiții inițiază myDFPlayer.setTimeOut (500); // Timeout serial 500ms myDFPlayer.volume (5); // Volumul 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Dacă cardul de memorie este introdus, fluxul de cod va intra în funcția de buclă.

void loop () {// Asteptă introducerea datelor prin serial în timp ce (Serial.available ()> 0) {comanda = Serial.read (); if ((comanda> = '1') && (comanda <= '3')) {Serial.print ("Reproducerea muzicii"); Serial.println (comandă); comanda = comanda - 48; myDFPlayer.play (comandă); menu_opcoes (); } // Reproducere // Opriți dacă (comanda == 's') {myDFPlayer.stop (); Serial.println („Muzica oprită!”); menu_opcoes (); } // Pausa / Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Continuare …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzică întreruptă!"); myDFPlayer.pause (); } menu_opcoes (); }

// Crește volumul

if (comanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Volumul curent:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (comanda == '') {myDFPlayer.next (); Serial.println ("următorul:"); Serial.print ("Pista curentă:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Scade volumul dacă (comanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumul curent:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Utilizatorul poate trimite următoarele caractere de control:

Numerele de la 1 la 3: Selectați melodia de redat;

  • Litera s: Opriți melodia; Litera p: Întrerupeți melodia;
  • Trimiteți semnul +: creșteți volumul melodiei;
  • Trimiteți semnalul -: micșorați volumul melodiei;
  • Trimite semnalul <: Selectează melodia anterioară;
  • Trimite semnalul>: Selectează melodia următoare;

Din aceste semnale, litere și numere, Arduino le va primi prin serial și va controla muzica care va fi redată.

Fiecare condiție este prezentată mai jos și intern, cu comenzile sale respective.

if ((comanda> = '1') && (comanda <= '3')) {Serial.print ("Reproducerea muzicii"); Serial.println (comandă); comanda = comanda - 48; myDFPlayer.play (comandă); menu_opcoes (); } // Reproducere // Opriți dacă (comanda == 's') {myDFPlayer.stop (); Serial.println („Muzica oprită!”); menu_opcoes (); } // Pausa / Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Continuare …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Muzică întreruptă!"); myDFPlayer.pause (); } menu_opcoes (); }

// Crește volumul

if (comanda == '+') {myDFPlayer.volumeUp (); Serial.print ("Volumul curent:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (comanda == '') {myDFPlayer.next (); Serial.println ("următorul:"); Serial.print ("Pista curentă:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Scade volumul dacă (comanda == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumul curent:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Deci, dacă ați aplicat toți pașii prezentați, ați putut învăța:

  • Circuitul de operare de bază al playerului MP3 DFMini;
  • Organizarea și configurarea fișierelor de sunet de pe cardul de memorie;
  • Control muzical cu Arduino. Din acest cod, puteți dezvolta alte proiecte care trebuie să utilizeze sunetul ca funcționalitate a sistemului.

Mulțumiri

Pentru a termina, vă mulțumim pentru lectură și sprijinul PCBWAY. COM pentru sprijinirea lui Silício Lab în producerea acestui articol pentru dvs.

Laboratorul Silícios mulțumește UTSOURCE pentru a oferi componentele electronice pentru construirea acestui proiect.

Recomandat: