DFPlayer mini mp3

DFPlayer mini mp3 è una scheda molto interessante per permettere al tuo progetto arduino di parlare o emettere musica.

DFPlayer mini mp3

Non a caso ho deciso di parlarti del DFPlayer mini mp3 in occasione del periodo di feste natalizie iniziato da qualche giorno.

Partendo da questo articolo dedicherò al prossimo Natale alcuni articoli che puoi utilizzare per addobbare la tua casa, l’albero od il presepe.

In un crescendo che, articolo dopo articolo, andrà a comporre il progetto natalizio del 2017.

Puoi acquistare il DFPlayer direttamnete dal sito robotics-3d.com

DFPlayer mini mp3 introduzione

La wiki del produttore sul DFPlayer mini mp3 è abbastanza completa ed esaustiva per permetterti di utilizzare in modo semplice il lettore mp3 proposto.

Parti dal pinout per imparare a collegare il DFPlayer mini mp3:

DFPlayer mini mp3 pinout

come vedi il mini mp3 dispone di 16 pin di connessione di cui uno per il Vcc e soli due pin Gnd.

I rimanenti servono per collegare lo speaker e dei pulsanti con cui inviare comandi al DFplayer mini per lavoare anche senza un microcontrollore.

La tabella descrittiva del produttore riporta:

DFPlayer mini mp3 pinout table

in cui per ciascun pin è definito sia la descrizione sia la modalità di funzionamento e come puoi utilizzarlo.

Le modalità di uso e funzione sono diverse e tutte descritte nella wiki indicata sopra, in questo e nei futuri articoli ti mostrerò la modalità seriale interconnessa al microcontrollore arduino e vedrai come controllarlo via seriale usando la libreria del produttore.

Collegamento del DFPlayer mini mp3

Il collegamento del DFPlayer Mini mp3 all’arduino puoi farlo seguando lo schema:

DFPlayer mini mp3 schema

in cui l’unica particolarità riguarda la resistenza da 1K tra il pin Tx del DFPlayer e quello che utilizzerai come Rx su arduino con la SoftSerial.

Preparara la SDCard per il mini mp3

Le caratteristiche che la SD card deve avere sono il filesystem ( Fat16 o Fat32 ) su Mac OS X io ho selezionato ExFat e poi puoi copiare i file MP3 che desideri.

Siccome siamo in periodo natalizio ho deciso di selezionare una serie di brani mp3 a tema natalizio:

DFPlayer mini mp3 Christmas mucis selected

ho eseguito una ricerca per il termine “Christmas” nel mio iTunes e copiato i file nella SD Card:

DFPlayer mini mp3 music copied on SDCard

numerandoli per definirne l’ordine.

Estratta la SD Card dal computer la puoi inserire nel DFPlayer mini mp3 e passare all’installazione della libreria per la comunicazione e controllo del dispositivo mp3.

Installazione della libreria per DFPlayer mini mp3

L’installazione della libreria è semplice in quanto risulta già presente nei repository ufficiali arduino.

Apri il “Gestore Librerie” e cerca DFRobotDFPlayerMini

DFPlayer mini mp3 library DFPlayer

ne troverai solo una libreria con questo nome e cliccando su “Installa” procedi all’installazione della versione più aggiornata:

DFPlayer mini mp3 Library installed

Ora puoi provare il tuo primo sketch partendo dall’esempio proposto dal produttore.

Sketch di esempio del DFPlayer mini mp3

Ecco lo sketch demo che potrai usare per il primo test del DFPlayer:

/***************************************************
DFPlayer - A Mini MP3 Player For Arduino
 <https://www.dfrobot.com/index.php?route=product/product&product_id=1121>
 
 ***************************************************
 This example shows the basic function of library for DFPlayer.
 
 Created 2016-12-07
 By [Angelo qiao](Angelo.qiao@dfrobot.com)
 
 GNU Lesser General Public License.
 See <http://www.gnu.org/licenses/> for details.
 All above must be included in any redistribution
 ****************************************************/

/***********Notice and Trouble shooting***************
 1.Connection and Diagram can be found here
 <https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299#Connection_Diagram>
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.
 ****************************************************/

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);

void setup()
{
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);
  
  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
  
  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true);
  }
  Serial.println(F("DFPlayer Mini online."));
  
  myDFPlayer.volume(10);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop()
{
  static unsigned long timer = millis();
  
  if (millis() - timer > 3000) {
    timer = millis();
    myDFPlayer.next();  //Play next mp3 every 3 second.
  }
  
  if (myDFPlayer.available()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); //Print the detail message from DFPlayer to handle different errors and states.
  }
}

void printDetail(uint8_t type, int value){
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}

in questo primo articolo non descriverò il codice che è ampiamente commentato dall’autore stesso della demo.

Nei prossimi articoli descriverò lo sketch, come sempre, per indicarti le motivazioni e le scelte eseguite per i progetti di cui leggerai.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/dfplayer-mini-mp3.html

56 commenti

Vai al modulo dei commenti

    • Gaetano il 24 Febbraio 2018 alle 15:59
    • Rispondi

    buongiorno Mauro, mi chiamo Gaetano, ho trovato l’articolo sul dfplayer mini molto interessante, e avendo appunto due shield di questo prodotto in casa ho deciso di realizzare il tuo circuito e relativo programma. Purtroppo ho immediatamente riscontrato un problema, cioè libreria dfrobotplayer mini non valida. Ho eseguito il download dalla gestione librerie quindi da ide, ma purtroppo ho riscontrato questo problema. Dove sbaglio? Hai una possibile soluzione?
    Grazie aticipatamente, Gaetano.

    1. Ciao Gaetano,
      cosa intendi per libreria non valida?
      Io uso regolarmente la libreria DFPlayer che ho descritto nell’articolo sull’IDE 1.8.5 senza problemi.

    • Marco il 24 Maggio 2018 alle 15:58
    • Rispondi

    Ciao Mauro, l’articolo è ben scritto e molto chiaro, complimenti!
    Vorrei farti una domanda che può sembrare stupida: mi potresti indicare che tipo di altoparlante mi consiglieresti di usare?

    1. Ciao Marco,
      le domande sono tutt’altro che stupide, io ho usato un altoparlante da Pc 8ohm ma vorrei provarlo presto anche con qualcosa di più piccolo tipo quelli delle cuffie o simili.

        • Marco il 31 Maggio 2018 alle 21:07
        • Rispondi

        Grazie mille per la celere risposta.
        Ho un’altra domanda da porti:
        ho seguito la tua guida alla perfezione ma, con l’altoparlante che sto usando da 4 ohm, una volta avviato lo sketch, durante la sincronizzazione di arduino con dfplayer, l’altoparlante emette un rumore fastidioso…dopo essersi sincronizzato, cioè dopo che si è acceso il led blu sul dfplayer, l’altoparlante non emette alcun suono.
        Inoltre, sul monitor seriale esce:

        DFRobot DFPlayer Mini Demo
        Initializing DFPlayer … (May take 3~5 seconds) //qui emette il rumore fastidioso
        DFPlayer Mini online.

        dopo di che il silenzio.
        Che ne pensi? Sbaglio da qualche parte?

          • Marco il 31 Maggio 2018 alle 21:47
          • Rispondi

          Ok, dopo qualche tentativo, ho notato una cosa molto strana.
          Premetto che il problema persiste.
          Allora, se cablo l’altoparlante, quando avvio il tutto si sente questo strano rumore per 5-10 sec finche il dfplayer non è “online” tuttavia, se non cablo l’altoparlante il dfplayer si sincronizza subito, quasi istantaneamente, ovviamente senza sentire nulla perche l’altoparlante non è collegato. Non capisco il nesso.
          Perdonami per la scocciatura.
          Grazie in anticipo

          1. Ciao Marco,
            hai modo di provare anche con un altro diffusore audio ?
            Magari di impedenza differente

        1. Ciao Marco,
          il suono fastidioso non ricordo fosse emesso dal mio modello.
          Prova a controllare il volume di uscita o la corretta codifica dei brani che carichi sulla micro sd.

    • Pietro il 27 Agosto 2018 alle 20:58
    • Rispondi

    Buona sera Mauro, ho acquistato la scheda sopra descritta, vorrei un’informazione: mentre la scheda sta riproducendo un brano il programma si ferma finché il brano termina o si possono eseguire altre operazioni quali accensioni e spegnimenti di luci o relè?
    Ti ringrazio e resto in attesa di una tua risposta.

    1. Ciao Pietro,
      puoi realizzare uno sketch in cui contemporaneamente siano eseguiti giochi di luce e riproduzione di musica similmente a come descritto in questo articolo di Natale: https://www.mauroalfieri.it/elettronica/wemos-neopixel-music.html

    • Pietro il 29 Agosto 2018 alle 17:50
    • Rispondi

    Ti ringrazio per la tua risposta, proverò e ti farò sapere.
    Buona serata

    • Gennaro il 4 Settembre 2018 alle 12:42
    • Rispondi

    ciao mauro sto provando il tuo schatch solo che mi si ferma alla linea 039
    if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.
    Serial.println(F(“Unable to begin:”));
    Serial.println(F(“1.Please recheck the connection!”));
    Serial.println(F(“2.Please insert the SD card!”));
    while(true);
    da monitor seriale non va avanti quali possono essere le soluzioni

    1. Ciao Gennaro,
      di solito è meglio se incolli l’errore che ricevi, lo trovi in basso nella finestra dell’IDE, aiuta a capire quale sia l’errore.
      In questo caso si tratta quasi certamente della mancanza della libreria SoftwareSerial, che dovrai installare seguendo uno dei miei tutorial dedicati all’installazione di librerie nell’IDE o seguendo un tutorial online.

    • Pietro Bassetti il 4 Settembre 2018 alle 17:16
    • Rispondi

    Ciao Mauro, ho scaricato lo sketch pero mancandomi una scheda non riesco a provarlo.
    Ho pure cercato di estrapolare pezzi che pensavo potessero andarmi bene ma nulla da fare. posso mandarti il mio lavoro così se hai tempo puoi renderti conto di cosa mi serve? Buona serata

    1. Ciao Pietro,
      se mi scrivi una email alla casella info, la medesima da cui ricevi questa comunicazione, posso inviarti i costi di analisi di un progetto che risponda alle tue esigenze.

    • Mauro il 7 Novembre 2018 alle 09:53
    • Rispondi

    Ciao Mauro,
    Interessante il tuo progetto. ho una domanda però; è possibile leggere i TAG mp3 dal file e visualizzarlo su un display?

    1. Ciao Mauro,
      non ricordo questa possibilità nella libreria, ma potrebbe essere stata aggiunta successivamente rispetto alla pubblicazione del mio articolo.
      Hai già verificato la documentazione della libreria?

    • Mauro il 8 Novembre 2018 alle 08:14
    • Rispondi

    buongiorno Mauro, ho trovato l’articolo sul dfplayer mini molto interessante, e avendo una shield di questo prodotto in casa ho provato a realizzare il tuo circuito con il tuo firmware.
    Funziona correttamente, senza problemi.
    Prossimamente vorrei realizzare un lettore MP3 ampliando il tuo circuito aggiungendo un ampli in classe D, un telecomando ad infrarossi e un display LCD sul quale visualizzare alcuni dati.
    E’ possibile estrarre dal file mp3 in esecuzione i TAG in modo da visualizzare il titolo del brano, l’autore e via dicendo sul display?

    Grazie per l’aiuto.
    Buona giornata

    1. Ciao Mauro,
      mi sembra di aver già risposto a questo commento, se non l’ho fatto perdonami.

        • Mauro il 8 Novembre 2018 alle 12:54
        • Rispondi

        Ciao Mauro,
        scusami, hai ragione. Non vedevo il post , ho qualche problema con il mio pc, e pensavo non ti fosse arrivato il messaggio.
        Ho guardato nella libreria ma mi sa che non c’è nulla per far questo.
        Grazie per l’aiuto e scusa ancora per la doppia richiesta!

        1. Ciao Mauro,
          non è un problema del tuo Pc ma una impostazione del Blog che impone l’approvazione del primo commento che inserisci.
          Se la libreria non lo fa forse non è una funzione che il modulo espone.

    • ALFREDO DE SIMONE il 16 Aprile 2019 alle 10:59
    • Rispondi

    Buongiorno Mauro, io ho la necessita, portando a potenziale zero uno o piu’ ingressi di Arduino in modo da riproddurre una serie di messaggi a seconda dell’ingresso utilizzato.

    1. Ciao Alfredo,
      non ho compreso la domanda.

    • Maomao il 10 Dicembre 2019 alle 12:13
    • Rispondi

    Buon girono Mauro, incuriosito da questo progetto ho compratto il DFPlayer; grazie al tuo articolo ho fatto funzionare il tutto con Arduino.
    Ho visto che è possibile gestire il DFPlayer anche da solo senza arduino, collegando trammite rete resistiva, dei pulsanti (pulsanti “pesati”).
    Ti chiedo: è possibile regolare il volume con i pulsanti ed azionare i brani con arduino?Si può agire in maniera mista?
    Grazie.

    1. Ciao Maomao,
      non ho provato ad utilizzarlo in modalità mista, dovresti controllare nella documentazione se questo sia possibile.

    • Francesco il 11 Gennaio 2020 alle 19:02
    • Rispondi

    ciao mauro, volevo chiederti come posso adattare questo programma se dovessi far partire una canzone specifica quando premo un pulsante e far partire una altra traccia quando ne premo un’altro. Grazie mille in anticipo!

    1. Ciao Francesco,
      io userei sempre il metodo play() passandogli il numero del brano come descritto alla linea 048.
      Condiziona tutto alla pressione dei due pulsanti.

    • Luigi Cagnetta il 20 Marzo 2020 alle 20:07
    • Rispondi

    Sto usando DFPlayer tentando di accedere a file contenuti in una Pen_card via pin USB ma non riesco come sulla SD a selezionare le cartelle che ho predisposto sulla Pen_card, accede solo a quelli che sono nella cartella principale, mi aiuti a capire se questa modalidà di accesso vale solo per la SD?

    Grazie
    Luigi Cagnetta

    1. Ciao Luigi,
      complimenti per essere riuscito a collegare una UsbKey al modulo io non saprei come fare, se ti va posta il tutorial.
      Nei miei esperimenti ho fatto accesso ai soli file nella “/” ( root ) della microSD.

      • Luigi Cagnetta il 22 Marzo 2020 alle 20:16
      • Rispondi

      Niente di complicato davver, ho semplicemente seguito le indicazioni contenute nel documento ufficiale :

      https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299#Connection_Diagram

      Ho collegato GND e V ai rispettivi pin di una Presa USB e quindi USB+ e USB- ai pin centrali della stessa presa.

      Penso di aver assodato che sulla UsbKey si può accedere solo sequenzialmente ( Ma non mollo)
      .
      Scusa se ora approfitto, sapresti dirmi come fare per leggere il folder e il file corrente che è in esecuzione, ho provato ad usare
      myDFPlayer.readVolume()); //read current volume, pensando di avere info circa il folder corrente e
      myDFPlayer.readCurrentFileNumber()); //read current play file number, pensando di avere info circa il file,

      Ma quello che ho letto sono dei valori che non so associare al file che stavo eseguendo.

      Hai qualche info in più di quelle che si intuiscono ma . . . ci ho capito poco.

      Grazie

      Luigi Cagnetta

      1. Ciao Luigi,
        grezie per il dettaglio sulle connessione USB.
        Purtroppo, come ti ho scritto, non ho mai provato a navigare nelle folder della SD attraverso i comandi messi a disposizione dalla libreria.
        Dovrei eseguire dei nuovi test ma non utilizzo quel modulo da qualche anno.

          • Luigi Cagnetta il 26 Marzo 2020 alle 15:06
          • Rispondi

          ok, grazie

    • ivano il 26 Marzo 2020 alle 19:24
    • Rispondi

    lo posso usare come lettore sdcard

    1. Ciao Ivano,
      non ho mai utilizzato il modulo come lettore di sd card, puoi provare a verificare nella documentazione del produttore se esista la possibilità di utilizzarlo in questo modo.

    • Gianni il 21 Giugno 2020 alle 23:39
    • Rispondi

    Ciao, come mai quando stacco la USB del computer continua funzionare, poi stacco l’alimentazione a 12V e quando la rimetto non parte, poi riattacco la USB del computer e funziona di nuovo. Cioè in pratica devo sempre tenere attaccato il computer. Grazie

    1. Ciao Gianni,
      è un comportamento anomalo, puoi provare con uno sketch differente tipo il blynk per capire se sia un problema della scheda in generale o solo di questo sketch.

    • eugenio il 24 Giugno 2020 alle 21:24
    • Rispondi

    Dovrei fare un progetto con arduino : 16 brani mp3 su sd ogni brano è abbinato a un pulsante quindi abbiamo 16 pulsanti alla pressione di un tasto parte il brano e suona per l’ intera durata quindi si interrompe . Alla pressione di un altro tasto parte il brano associato allo stesso e suona per l’ intera durata e cosi via . I brani hanno durate diverse . E fattibile un tale progetto ‘

    Grazie Eugenio

    1. Ciao Eugenio,
      tecnicamente si, lo sketch potrebbe risultare complesso e per i 16 ingressi dei pulsanti dovrai utilizzare una combinazione di reti di pulsanti od in alternativa un arduino MEGA che dispone di più ingressi.

    • Maurizio il 9 Luglio 2020 alle 12:31
    • Rispondi

    Ciao Mauro, ho realizzato un semplice lettore MP3 con arduino seguendo questo articolo; ho aggiunto un display due pulsanti,uno per poter selezionare il brano da 0 a 9 e l’altro per play o pause.
    Ho formattato la SD card come da te indicato e caricato i brani su SD; ho caricato più brani (28) e li ho numerati come dice il produttore da 0000 a 0027.
    Utilizzo il comando .loop(x) per mettere in esecuzione loop il brano selezionato dal pulsante precedente.
    Funziona tutto abbastanza bene, ma l’ordine con cui esegue le tracce non è quello che voglio….
    Per esempio seleziono la traccia 0 e non parte nulla, seleziono la traccia 1 e parte la 27, seleziono la traccia 3 e parte la 0001.
    Sono giorni che provo a capire la logica ma non ne esco, puoi aiutarmi? Cosa sbaglio??
    Grazie.

    1. Ciao Maurizio,
      nella documentazione del produttore non c’è un esempio da testare con più brani con solo con il pulsante che li fa avanzare in sequenza pre vedere se l’anomalia è legata al modo in cui rinomini i file o a qualche altro tipo di indicizzazione che la libreria esegue.
      Prova a vedere anche se puoi avere un listato dei file nell’ordine in cui li legge, è probabile che la libreria usi un criterio di elenco dei file che non è quello atteso 0,1,2,3,…

        • maurizio il 9 Luglio 2020 alle 14:48
        • Rispondi

        Grazie Mauro della risposta, prima di tutto ho notato che la traccia 0000 per lui non esiste e se la mandi in esecuzione non parte….quindi la prima traccia che lui legge è la 0001; ora non so come fare per ovviare al problema…come faccio a vedere il listato dei file ? dove li trovo???
        Nella libreria?
        Grazeie

        1. Ciao Maurizio,
          nella documentazione non c’è scritto ?
          Sospetto che sia l’indice con cui sono stati caricati i file, magari legato alla data di inserimento a causarti il problema.
          Il listato dei file letto dalla libreria ti permetterebbe di capire proprio questo.

        • Maurizio il 9 Luglio 2020 alle 16:14
        • Rispondi

        Mauro ho risolto, non avevo letto la documentazione che si trova all’interno del file.zip della libreria.
        Praticamente lui non riproduce in base all’indice, ma in base alla sequenza in cui vai a caricare le tracce.
        Per risolvere ho caricato nella SD card ogni singolo file uno alla volta dalla traccia 0001 alla traccia 0010.
        Credo possa essere utile a tutti i lettori del tuo articolo….

        1. Ottima notizia Maurizio.

          Grazie per la condivisione, sarà certamente utile a tanti altri.

    • Alberto Paci il 29 Giugno 2021 alle 19:12
    • Rispondi

    Buonasera Sig. Alfieri, non lascio un commento ma vorrei sapere se può rispondere ad una domanda.
    E’ possibile far partire il primo ed unico mp3 sulla scheda senza dover premere un pulsante? Vorrei che, dando corrente ad un circuito, partisse subito la musica.
    Grazie.
    Alberto Paci, medico in pensione con nuovo hobby dell’elettronica.

    1. Ciao Alberto,
      se non ricordo male è possibile usando direttamente il comando play() con il numero del brano da riprodurre.

    • Marino Visinco il 27 Agosto 2021 alle 22:21
    • Rispondi

    Gentilissimo Sig.Mauro Alfieri,
    sto cercando di utilizzare cinque DFplayer mini per un particolare esperimento polifonico.
    Prendendo uno dei moduli collegati ad un unico Arduino Uno (provato anche con Nano) non riesco a controllare in modo diretto il Volume ed il Brano.
    Tutto funziona con Vol+ e Vol- e con Brano Prev() o Next().
    Sa forse se ci sono problemi con il modulo o con il drive ?
    Se avesse uno sketch funzionante con attivazione diretta di Volume e Brano glie ne sarei davvero riconoscente anche in modo concreto.
    La ringrazio per la cortesia e l’attenzione.
    Con stima
    Marino Visinco

    1. Buonasera Marino,
      in primo luogo sconsiglio di inserire nei commenti numeri di telefono e email in chiaro per evitare che siano utilizzati come bersaglio di spam.
      In merito alla tua richiesta se le righe 49 e 49 del setup non ti garantiscono la corretta impostazione del volume per ciascun brano penso che sia opportuno scrivere al produttore della scheda e delle librerie per capire quale sia l’errore che induce il DFPlayer a rispondere in modo incoerente ai tuoi comandi.

    • Felice Angelicci il 5 Novembre 2021 alle 16:03
    • Rispondi

    Ciao,
    ho letto il tuo articolo sul DFP PlayerMini e la wiki al link, vorrei cheiderti solo delle delucidazioni:
    ai pin DAC_R e DAC_L può essere collegato un opamp in conf non invertente seguito da uno specker,in modo da amplificare un pò il suono prodotto? se si quali pin usare data la configurazione dell’opamp, solamente uno fra DAC_R e DAC_L vero?
    Con un solo mp3 sulla sd posso mettere in corto i pin del volume, ossia 11 e 9 ? A cosa servono i pin adkey ?
    grazie e ciaooo

    1. Ciao Felice,
      guardando la documentazione del produttore è possibile usare DAC_L e DAC_R per collegarci direttamente degli auricolari o un amplificatore.
      Il numero di pin da usare dipende se vuoi usare solo un canale o due ( con due amplificatori ).
      Non mi è chiaro cosa intendi per pin del volume e perché vorresti corto circuitarli.
      Sui pin ADKey il fornitore riporta nella sua wiki: https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299#Specification come collegarvi 20 pulsanti con altrettante esistenze per controllare il modulo via tasti.

    • Maurizio il 22 Novembre 2021 alle 11:17
    • Rispondi

    Mauro scusa ma posso collegarlo ad una seriale fisica di arduino mega?
    Se si, come modifico lo sketch?
    Grazie.

    1. Ciao MAurizio,
      si puoi, devi sostituire l’oggetto mySerial ( in ogni parte dello sketch ) con SerialX in cui X è il numero della seriale che vuoi utilizzare.

    • Roberto Coin il 21 Luglio 2022 alle 18:56
    • Rispondi

    Libreria installata ..
    In fase di compilazione mi escono i seguenti errori ..
    mi potete aiutare ?
    Grazie mille

    In file included from mp3.ino:24:
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:72: error: ISO C++ forbids initialization of member ‘_timeOutDuration’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:72: error: making ‘_timeOutDuration’ static
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:72: error: ISO C++ forbids in-class initialization of non-const static member ‘_timeOutDuration’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:75: error: a brace-enclosed initializer is not allowed here before ‘{‘ token
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:75: error: ISO C++ forbids initialization of member ‘_sending’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:75: error: making ‘_sending’ static
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:75: error: invalid in-class initialization of static data member of non-integral type ‘uint8_t [10]’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:77: error: ISO C++ forbids initialization of member ‘_receivedIndex’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:77: error: making ‘_receivedIndex’ static
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:77: error: ISO C++ forbids in-class initialization of non-const static member ‘_receivedIndex’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:98: error: ISO C++ forbids initialization of member ‘device’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:98: error: making ‘device’ static
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:98: error: ISO C++ forbids in-class initialization of non-const static member ‘device’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:105: error: ISO C++ forbids initialization of member ‘_isAvailable’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:105: error: making ‘_isAvailable’ static
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:105: error: ISO C++ forbids in-class initialization of non-const static member ‘_isAvailable’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:106: error: ISO C++ forbids initialization of member ‘_isSending’
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:106: error: making ‘_isSending’ static
    \libraries\DFRobotDFPlayerMini/DFRobotDFPlayerMini.h:106: error: ISO C++ forbids

    1. Buongiorno Roberto,
      dagli errori che vedo sembra da aggiornare la libreria che ha qualche definizione incompatibile con l’IDE Arduino che stai usando.
      Che versione di IDE e Libreria stai usando?

    • Andrea il 6 Dicembre 2023 alle 19:10
    • Rispondi

    Buonasera Mauro. Vorrei fare riprodurre al modulo delle frasi in un ordine preciso. Penso sia possibile? Grazie.

    1. Ciao Andrea,
      a memoria ricordo che esistono dei metodi di play a cui passare il numero del brano che vuoi eseguire.
      Prova a verificare nella documentazione del produttore del driver

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.