Talaan ng mga Nilalaman:

Paano Magamit ang DFMini Player MP3 Module Sa Arduino: 4 na Hakbang
Paano Magamit ang DFMini Player MP3 Module Sa Arduino: 4 na Hakbang

Video: Paano Magamit ang DFMini Player MP3 Module Sa Arduino: 4 na Hakbang

Video: Paano Magamit ang DFMini Player MP3 Module Sa Arduino: 4 na Hakbang
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Hulyo
Anonim
Paano Magamit ang DFMini Player MP3 Module Sa Arduino
Paano Magamit ang DFMini Player MP3 Module Sa Arduino

Maraming mga proyekto ang nangangailangan ng tunog ng pagpaparami upang magdagdag ng ilang uri ng pag-andar. Kabilang sa mga proyektong ito, nai-highlight namin: ang kakayahang mai-access para sa mga may kapansanan sa paningin, mga MP3 player ng musika at pagpapatupad ng mga tunog ng boses ng mga robot, halimbawa.

Sa lahat ng mga sistemang ito, kailangan namin ng isang MP3 sound reproduction device upang kumonekta sa Arduino. Samakatuwid, sa artikulong ito malalaman natin ang mga sumusunod na puntos: Pangunahing operating circuit ng DFMini Player MP3; Organisasyon at pagsasaayos ng mga file ng tunog sa memorya ng kard; Pagkontrol ng musikal sa Arduino.

Mga gamit

PCBWay Pasadyang PCB;

DFPlayer Mini MP3 Module - UTSOURCE;

10kR Resistor - UTSOURCE;

Pindutan ng Lumipat - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - UTSOURCE;

Header Pin - UTSOURCE;

Hakbang 1: Ano ang DF Mini Player MP3 Module

Ano ang DF Mini Player MP3 Module
Ano ang DF Mini Player MP3 Module
Ano ang DF Mini Player MP3 Module
Ano ang DF Mini Player MP3 Module

Ang module ng DFMini Player ay isang maliit na musicplayer, lowcost at mababang lakas na may hangarin na kopyahin ang mga tunog na nakaimbak sa isang memory card.

Batay dito, ang module ay maaaring makontrol sa pamamagitan ng standalone mode, iyon ay, sa mode na ito, magkakaroon lamang ng module na DFMini, isang baterya sa lakas, speaker, mga pindutan upang makontrol ito at ang SD Card kasama ang mga kanta. Ang isa pang paraan upang makontrol ito ay ang paggamit ng isang Arduino o ibang control device.

Ang Arduino, halimbawa, ay magpapadala ng mga utos sa pamamagitan ng serial na komunikasyon sa DFMini Player Module. Ang module ng DFMini Player ay ipinapakita sa Larawan 1.

Upang makontrol ito, mahalagang gamitin ang pangunahing standalone circuit. Ang circuit na ito ay ipinapakita sa Larawan 2.

Ang dalawang pindutan na ipinakita sa circuit sa itaas ay ginagamit upang baguhin ang mga track ng musika at kontrolin ang dami ng tunog. Ang pindutan na konektado sa pin IO1 ay ginagamit upang pumunta sa nakaraang track at bawasan ang dami. Sa isang mabilis na ugnayan ang system ay bumalik sa nakaraang kanta, subalit, kung pinindot mo ang pindutan ng higit sa 1 segundo, babawasan ng system ang dami ng kanta.

Ang pindutan na konektado sa pin IO2 ay ginagamit upang pumunta sa susunod na track at dagdagan ang dami. Sa isang mabilis na ugnayan ang system ay sumusulong sa susunod na kanta, subalit, kung pinindot mo ang pindutan ng higit sa 1 segundo, tataas ng system ang dami ng kanta.

Hakbang 2:

Larawan
Larawan

Sa standalone na pamamaraan na ito, dapat i-save ang mga kanta sa memory card, tulad ng ipinakita sa Larawan 3.

Sa ganitong paraan, sa tuwing pinindot ang mga pindutan, tutugtog ng system ang bawat kanta sa pataas o pababang pagkakasunud-sunod. Gayunpaman, kapag gumagamit ng Arduino o ibang control device, dapat nating baguhin ang paraan ng pag-aayos ng mga musikal na file sa SD Card.

Ngayon, ipapaliwanag ko kung paano makontrol ang DFMini Player gamit ang Arduino sa pamamagitan ng serial na komunikasyon.

Hakbang 3: Pagkontrol sa DFMini Player Sa Arduino

Pagkontrol sa DFMini Player Sa Arduino
Pagkontrol sa DFMini Player Sa Arduino
Pagkontrol sa DFMini Player Sa Arduino
Pagkontrol sa DFMini Player Sa Arduino

Sa hakbang na ito, ang kontrol sa dami, kontrol sa saklaw, mga utos ng pag-pantay at iba pang mga tampok ay ipapadala ng Arduino.

Dapat makipag-usap ang Arduino sa pamamagitan ng serial sa DFMini Player at ipadala ang mga command control.

Ang elektronikong pamamaraan ng control circuit ay ipinapakita sa Larawan 4.

Una, dapat nating tipunin ang circuit na ipinapakita sa Larawan sa ibaba. Matapos tipunin ang circuit na ito, dapat mong idagdag ang mga kanta sa iyong memory card. Sa hakbang na ito, ang mga kanta ay dapat palitan ng pangalan bilang 01, 02, 03, halimbawa.

Hindi mo maiiwan ang mga kanta sa kanilang mga pangalan, dahil magkakaroon ng problema kapag nagpadala ang Arduino ng utos na magpatupad ng tukoy na track. Samakatuwid, dapat mong i-configure tulad ng ipinakita sa ibaba.

Hakbang 4:

Matapos pangalanan ang mga file, isulat ang sumusunod na code sa iyong Arduino.

// Naghihintay para sa pagpasok ng data sa pamamagitan ng serialarily (Serial.available ()> 0) {command = Serial.read (); kung ((utos> = '1') && (utos <= '9')) {Serial.print ("Pag-aanak ng musika"); Serial.println (utos); utos = utos - 48; myDFPlayer.play (utos); menu_opcoes (); } // Reproduction // Stop if (command == 's') {myDFPlayer.stop (); Serial.println ("Tumigil sa Musika!"); menu_opcoes (); } // Pausa / Continua isang musica kung (utos == 'p') {pausa =! Pausa; kung (pausa == 0) {Serial.println ("Magpatuloy …"); myDFPlayer.start (); } kung (pausa == 1) {Serial.println ("Naka-pause ang Musika!"); myDFPlayer.pause (); } menu_opcoes (); }

// Nagdaragdag ng dami

kung (utos == '+') {myDFPlayer.volumeUp (); Serial.print ("Kasalukuyang dami:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } kung (utos == '') {myDFPlayer.next (); Serial.println ("susunod:"); Serial.print ("Kasalukuyang track:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Binabawasan ang dami kung (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Kasalukuyang Dami:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} walang bisa na menu_opcoes () {Serial.println (); Serial.println (F ("=_ =_ =_ ")); Serial.println (F ("Mga Utos:")); Serial.println (F ("[1-3] Upang piliin ang MP3 file")); Serial.println (F ("[s] humihinto sa pagpaparami")); Serial.println (F ("[p] i-pause / ipagpatuloy ang musika")); Serial.println (F ("[+ o -] nagdaragdag o bumabawas ng dami")); Serial.println (F (" pasulong o paatras ang track")); Serial.println (); Serial.println (F ("=_ =_ ==================================== ")); }

Ang code na ipinakita sa itaas ay medyo simple at tutulong sa iyo na piliin ang kanta sa pamamagitan ng numero nito, ihinto, i-pause, kontrolin ang dami at ipasa ang mga track.

Ang kontrol sa musikal ay binubuo ng pagpapadala ng data mula sa serial ng Arduino IDE sa aming Arduino board. Sa una, ginagawa ng system ang pagsasaayos sa pag-setup at suriin kung ang SD Card ay ipinasok sa module.

Kung hindi ito naipasok, nagpapakita ang system ng isang mensahe upang alertuhan ang gumagamit.

Bilang karagdagan, ipinapakita ng system ang mga mensahe na may mga pagpipilian sa pagsasaayos ng system.

void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializa isang serial do 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 ("Initializing DFPlayer module … Wait!")); kung (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Hindi pinasimulan:")); Serial.println (F ("1. Suriin ang mga koneksyon sa DFPlayer Mini")); Serial.println (F ("2. Magpasok ng isang SD card")); habang (totoo); } Serial.println (); Serial.println (F ("DFPlayer Mini module na pinasimuno!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Timeout serial 500ms myDFPlayer.volume (5); // Volume 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }

Kung ang memory card ay ipinasok, ang daloy ng code ay papasok sa pagpapaandar ng loop.

void loop () {// Naghihintay para sa pagpasok ng data sa pamamagitan ng serial habang (Serial.available ()> 0) {command = Serial.read (); kung ((utos> = '1') && (utos <= '3')) {Serial.print ("Pag-aanak ng musika"); Serial.println (utos); utos = utos - 48; myDFPlayer.play (utos); menu_opcoes (); } // Reproduction // Stop if (command == 's') {myDFPlayer.stop (); Serial.println ("Tumigil sa Musika!"); menu_opcoes (); } // Pausa / Continua isang musica kung (utos == 'p') {pausa =! Pausa; kung (pausa == 0) {Serial.println ("Magpatuloy …"); myDFPlayer.start (); } kung (pausa == 1) {Serial.println ("Naka-pause ang Musika!"); myDFPlayer.pause (); } menu_opcoes (); }

// Nagdaragdag ng dami

kung (utos == '+') {myDFPlayer.volumeUp (); Serial.print ("Kasalukuyang dami:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } kung (utos == '') {myDFPlayer.next (); Serial.println ("susunod:"); Serial.print ("Kasalukuyang track:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Binabawasan ang dami kung (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Kasalukuyang Dami:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Maaaring ipadala ng gumagamit ang mga sumusunod na character ng pagkontrol:

Mga Numero 1 hanggang 3: Piliin ang awiting tutugtog;

  • Letter s: Itigil ang kanta; Letter p: I-pause ang kanta;
  • Ipadala ang sign +: Taasan ang dami ng kanta;
  • Ipadala ang - signal: Bawasan ang dami ng kanta;
  • Ipadala ang signal <: Piliin ang nakaraang kanta;
  • Ipadala ang signal>: Piliin ang susunod na kanta;

Mula sa mga signal, letra, at numero na ito, tatanggapin ng Arduino ang mga ito sa pamamagitan ng serial at makokontrol ang tugtuging musika.

Ang bawat kundisyon ay ipinakita sa ibaba at panloob, na may kani-kanilang mga utos.

kung ((utos> = '1') && (utos <= '3')) {Serial.print ("Pag-aanak ng musika"); Serial.println (utos); utos = utos - 48; myDFPlayer.play (utos); menu_opcoes (); } // Reproduction // Stop if (command == 's') {myDFPlayer.stop (); Serial.println ("Tumigil sa Musika!"); menu_opcoes (); } // Pausa / Continua isang musica kung (utos == 'p') {pausa =! Pausa; kung (pausa == 0) {Serial.println ("Magpatuloy …"); myDFPlayer.start (); } kung (pausa == 1) {Serial.println ("Naka-pause ang Musika!"); myDFPlayer.pause (); } menu_opcoes (); }

// Nagdaragdag ng dami

kung (utos == '+') {myDFPlayer.volumeUp (); Serial.print ("Kasalukuyang dami:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } kung (utos == '') {myDFPlayer.next (); Serial.println ("susunod:"); Serial.print ("Kasalukuyang track:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Binabawasan ang dami kung (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Kasalukuyang Dami:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Kaya, kung inilapat mo ang lahat ng mga hakbang na ipinakita, maaari kang matuto:

  • Pangunahing operating circuit ng DFMini Player MP3;
  • Organisasyon at pagsasaayos ng mga tunog file sa memory card;
  • Pagkontrol ng musikal sa Arduino. Mula sa code na ito, makakagawa ka ng iba pang mga proyekto na kailangang gumamit ng tunog bilang pagpapaandar ng system.

Mga Pasasalamat

Upang tapusin, salamat sa iyo para sa iyong pagbabasa at suporta ng PCBWAY. COM para sa pagsuporta sa Silício Lab sa paggawa ng artikulong ito para sa iyo.

Pinasalamatan ng Silícios Lab ang UTSOURCE upang mag-alok ng mga elektronikong sangkap upang mabuo ang proyektong ito.

Inirerekumendang: