Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
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
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:
Î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
Î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:
Cum să faci un player MP3 cu LCD folosind modulul Arduino și DFPlayer Mini MP3 Player: 6 pași
Cum să faci un player MP3 cu LCD folosind modulul Arduino și DFPlayer Mini MP3 Player: Astăzi vom face un player MP3 cu LCD folosind modulul Arduino și DFPlayer mini MP3 Player. Proiectul poate citi fișierele MP3 de pe cardul SD și poate întrerupe și joacă la fel ca dispozitivul acum 10 ani. Și, de asemenea, are o melodie anterioară și următoarea distracție
Cum să controlați becul folosind modulul Arduino UNO și modulul de releu de stat solid cu un singur canal 5V: 3 pași
Cum să controlați becul utilizând modulul de releu de stare solidă Arduino UNO și un canal 5V: Descriere: Comparativ cu releul mecanic tradițional, releul de stare solidă (SSR) are multe avantaje: are o durată de viață mai lungă, cu o pornire mult mai mare / viteza de oprire și fără zgomot. În plus, are și o rezistență mai bună la vibrații și mecanică
[Seria Docker Pi] Cum se utilizează modulul IoT Node (A) pe Raspberry Pi: 18 pași
[Seria Docker Pi] Cum se utilizează modulul IoT Node (A) pe Raspberry Pi: Ce este modulul IoT Node (A)? IoT Node (A) este unul dintre modulele din seria Docker Pi. Nod IOT (A) = GPS / BDS + GSM + Lora.I2C controlează direct Lora, trimite și primește date, controlează modulul GSM / GPS / BDS prin SC16IS752, placa principală are nevoie doar de suport I2C
Cum se utilizează terminalul Mac și cum se utilizează funcțiile cheie: 4 pași
Cum să utilizați terminalul Mac și cum să utilizați funcțiile cheie: Vă vom arăta cum să deschideți terminalul MAC. De asemenea, vă vom arăta câteva caracteristici în Terminal, cum ar fi ifconfig, schimbarea directoarelor, accesarea fișierelor și arp. Ifconfig vă va permite să vă verificați adresa IP și anunțul MAC
Cum se utilizează modulul senzor IR TCRT5000 cu Arduino UNO: 7 pași (cu imagini)
Cum se folosește modulul senzor IR TCRT5000 cu Arduino UNO: În acest tutorial, vă vom învăța câteva elemente de bază despre utilizarea modulului senzorului IR TCRT5000. Aceste elemente de bază vă arată valorile analogice și digitale la monitorul serial. Descriere: Acest senzor reflectorizant IR utilizează un TCRT5000 pentru a detecta culoarea și