INHOUDSOPGAWE:

Hoe u die MP3 -module van die DFMini -speler met Arduino kan gebruik: 4 stappe
Hoe u die MP3 -module van die DFMini -speler met Arduino kan gebruik: 4 stappe

Video: Hoe u die MP3 -module van die DFMini -speler met Arduino kan gebruik: 4 stappe

Video: Hoe u die MP3 -module van die DFMini -speler met Arduino kan gebruik: 4 stappe
Video: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Julie
Anonim
Hoe om die DFMini -speler MP3 -module te gebruik met Arduino
Hoe om die DFMini -speler MP3 -module te gebruik met Arduino

Verskeie projekte benodig klankweergawe om 'n funksie by te voeg. Onder hierdie projekte beklemtoon ons: toeganklikheid vir gesiggestremdes, MP3 -musiekspelers en die uitvoering van byvoorbeeld stemgeluide deur robotte.

In al hierdie stelsels het ons 'n MP3 -klankweergave -toestel nodig om aan te sluit op die Arduino. Daarom leer ons in hierdie artikel die volgende punte: Basiese bedryfskring van die DFMini Player MP3; Organisering en opset van klanklêers op die geheue kaart; Musikale beheer met Arduino.

Voorrade

PCBWay Custom PCB;

DFPlayer Mini MP3 -module - UTSOURCE;

10kR Weerstand - UTSOURCE;

Skakelknoppie - UTSOURCE;

Broodbord - UTSOURCE;

Arduino UNO - UTSOURCE;

Kopspeld - UTSOURCE;

Stap 1: Wat is die MP3 -module van die DF Mini Player

Wat is die MP3 -module van die DF Mini Player
Wat is die MP3 -module van die DF Mini Player
Wat is die MP3 -module van die DF Mini Player
Wat is die MP3 -module van die DF Mini Player

Die DFMini Player -module is 'n klein musiekspeler met 'n lae koste en 'n lae krag om klanke wat op 'n geheue kaart gestoor is, weer te gee.

Op grond hiervan kan die module beheer word via die selfstandige modus, dit wil sê in hierdie modus is daar slegs die DFMini -module, 'n battery om aan te dryf, die luidspreker, knoppies om dit te beheer en die SD -kaart met die liedjies. 'N Ander manier om dit te beheer, is deur 'n Arduino of 'n ander beheertoestel te gebruik.

Die Arduino stuur byvoorbeeld opdragte deur middel van seriële kommunikasie met die DFMini Player -module. Die DFMini Player -module word in figuur 1 getoon.

Om dit te beheer, is dit belangrik om die basiese selfstandige stroombaan te gebruik. Hierdie stroombaan word in figuur 2 getoon.

Die twee knoppies wat in die kring hierbo getoon word, word gebruik om die musieksnitte te verander en die volume van die klank te beheer. Die knoppie wat met pin IO1 gekoppel is, word gebruik om na die vorige snit te gaan en die volume te verminder. Met 'n vinnige aanraking keer die stelsel terug na die vorige liedjie, maar as u meer as 1 sekonde op die knoppie druk, verminder die stelsel die volume van die liedjie.

Die knoppie wat aan pin IO2 gekoppel is, word gebruik om na die volgende snit te gaan en die volume te verhoog. Met 'n vinnige aanraking gaan die stelsel na die volgende liedjie, maar as u meer as 1 sekonde op die knoppie druk, verhoog die stelsel die volume van die liedjie.

Stap 2:

Beeld
Beeld

In hierdie selfstandige metode moet die liedjies op die geheue kaart gestoor word, soos getoon in figuur 3.

Op hierdie manier speel die stelsel elke keer dat die knoppies ingedruk word in stygende of dalende volgorde, maar as ons Arduino of 'n ander bedieningsapparaat gebruik, moet ons die manier waarop die musikale lêers op die SD -kaart georganiseer word, verander.

Nou sal ek verduidelik hoe u die DFMini -speler kan beheer met behulp van die Arduino deur middel van seriële kommunikasie.

Stap 3: Beheer van die DFMini -speler met Arduino

Die beheer van die DFMini -speler met Arduino
Die beheer van die DFMini -speler met Arduino
Die beheer van die DFMini -speler met Arduino
Die beheer van die DFMini -speler met Arduino

In hierdie stap word die volumekontrole, bereikbeheer, gelykmakingskommando's en ander funksies deur Arduino gestuur.

Die Arduino moet via die reeks met die DFMini -speler kommunikeer en die bedieningsopdragte stuur.

Die elektroniese skema van die beheerkring word in figuur 4 getoon.

Eerstens moet ons die stroombaan in die onderstaande figuur saamstel. Nadat u hierdie kring saamgestel het, moet u die liedjies op u geheue kaart byvoeg. In hierdie stap moet die liedjies byvoorbeeld hernoem word na 01, 02, 03.

U kan die liedjies nie met hul name agterlaat nie, want daar sal 'n probleem wees wanneer die Arduino die opdrag stuur om die spesifieke snit uit te voer. Daarom moet u instel soos hieronder getoon.

Stap 4:

Nadat u die lêers 'n naam gegee het, skryf die volgende kode op u Arduino.

// Wag op data -invoer via serial while (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '9')) {Serial.print ("Musiekreproduksie"); Serial.println (opdrag); command = command - 48; myDFPlayer.play (opdrag); menu_opcoes (); } // Reproduksie // Stop as (command == 's') {myDFPlayer.stop (); Serial.println ("Musiek gestop!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Gaan voort …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiek onderbreek!"); myDFPlayer.pause (); } menu_opcoes (); }

// Verhoog volume

as (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Huidige volume:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("volgende:"); Serial.print ("Huidige snit:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Verlaag volume as (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Huidige volume:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} ongeldig menu_opcoes () {Serial.println (); Serial.println (F ("============================================= ======================================================= ====================================== ")); Serial.println (F ("Opdragte:")); Serial.println (F ("[1-3] Om die MP3-lêer te kies")); Serial.println (F ("[s] stop reproduksie")); Serial.println (F ("[p] musiek onderbreek/voortgaan")); Serial.println (F ("[+ of -] verhoog of verlaag die volume")); Serial.println (F (" die baan vorentoe of agteruit")); Serial.println (); Serial.println (F ("============================================= ====================================================== ====================================== ")); }

Die kode hierbo is redelik eenvoudig en sal u help om die liedjie volgens sy nommer te kies, te stop, te wag, die volume te beheer en die snitte te slaag.

Die musikale kontrole bestaan uit die stuur van data van die Arduino IDE -reeks na ons Arduino -bord. Aanvanklik maak die stelsel die konfigurasie in die opstelling en kyk of die SD -kaart in die module geplaas is.

As dit nie ingevoeg is nie, bied die stelsel 'n boodskap aan om die gebruiker te waarsku.

Boonop vertoon die stelsel boodskappe met stelselopsetopsies.

ongeldige opstelling () {// Comunicacao serial com or modulo mySoftwareSerial.begin (9600); // Inicializa a serial do Arduino Serial.begin (115200); // Verifieer ons as modulo esta respondendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Initialiseer DFPlayer -module … Wag!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("Nie geïnitialiseer:")); Serial.println (F ("1. Gaan die DFPlayer Mini -verbindings na")); Serial.println (F ("2. Plaas 'n SD -kaart")); terwyl (waar); } Serial.println (); Serial.println (F ("DFPlayer Mini -module geïnisialiseer!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Time -out reeks 500ms myDFPlayer.volume (5); // Volume 5 myDFPlayer. EQ (0); // Equalizacao normale menu_opcoes (); }

As die geheue kaart ingevoeg word, gaan die kodevloei na die lusfunksie.

leemte -lus () {// Wag op data -invoer via reeks terwyl (Serial.available ()> 0) {command = Serial.read (); if ((command> = '1') && (command <= '3')) {Serial.print ("Musiekreproduksie"); Serial.println (opdrag); command = command - 48; myDFPlayer.play (opdrag); menu_opcoes (); } // Reproduksie // Stop as (command == 's') {myDFPlayer.stop (); Serial.println ("Musiek gestop!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Gaan voort …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiek onderbreek!"); myDFPlayer.pause (); } menu_opcoes (); }

// Verhoog volume

as (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Huidige volume:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("volgende:"); Serial.print ("Huidige snit:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Verlaag volume as (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Huidige volume:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}

Die gebruiker kan die volgende kontrolekarakters stuur:

Nommers 1 tot 3: Kies die liedjie wat gespeel moet word;

  • Letter s: Stop die lied; Letter p: Laat die liedjie wag;
  • Stuur die + -teken: Verhoog die liedvolume;
  • Stuur die - sein: Verlaag die liedjievolume;
  • Stuur die sein <: Kies die vorige liedjie;
  • Stuur die sein>: Kies die volgende liedjie;

Uit hierdie seine, letters en syfers ontvang die Arduino dit via die reeks en beheer die musiek wat gespeel moet word.

Elke toestand word hieronder en intern aangebied, met sy onderskeie opdragte.

if ((command> = '1') && (command <= '3')) {Serial.print ("Musiekreproduksie"); Serial.println (opdrag); command = command - 48; myDFPlayer.play (opdrag); menu_opcoes (); } // Reproduksie // Stop as (command == 's') {myDFPlayer.stop (); Serial.println ("Musiek gestop!"); menu_opcoes (); } // Pausa/Continua a musica if (command == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Gaan voort …"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("Musiek onderbreek!"); myDFPlayer.pause (); } menu_opcoes (); }

// Verhoog volume

as (command == '+') {myDFPlayer.volumeUp (); Serial.print ("Huidige volume:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (command == '') {myDFPlayer.next (); Serial.println ("volgende:"); Serial.print ("Huidige snit:"); Serial.println (myDFPlayer.readCurrentFileNumber ()+1); menu_opcoes (); } // Verlaag volume as (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Huidige volume:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}

Dus, as u al die voorgestelde stappe toepas, kon u leer:

  • Basiese bedryfskring van die DFMini -speler MP3;
  • Organisering en opset van klanklêers op die geheue kaart;
  • Musikale beheer met Arduino. Met hierdie kode kan u ander projekte ontwikkel wat klank as stelselfunksionaliteit moet gebruik.

Erkennings

Ter afsluiting bedank ons u vir u lees en die ondersteuning van PCBWAY. COM vir die ondersteuning van Silício Lab vir die vervaardiging van hierdie artikel vir u.

Die Silícios Lab bedank UTSOURCE om die elektroniese komponente aan te bied om hierdie projek te bou.

Aanbeveel: