DFPlayer mini mp3 è una scheda molto interessante per permettere al tuo progetto arduino di parlare o emettere musica.
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:
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:
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:
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:
ho eseguito una ricerca per il termine “Christmas” nel mio iTunes e copiato i file nella SD Card:
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
ne troverai solo una libreria con questo nome e cliccando su “Installa” procedi all’installazione della versione più aggiornata:
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.
56 commenti
Vai al modulo dei commenti
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.
Autore
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.
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?
Autore
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.
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?
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
Autore
Ciao Marco,
hai modo di provare anche con un altro diffusore audio ?
Magari di impedenza differente
Autore
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.
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.
Autore
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
Ti ringrazio per la tua risposta, proverò e ti farò sapere.
Buona serata
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
Autore
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.
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
Autore
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.
Ciao Mauro,
Interessante il tuo progetto. ho una domanda però; è possibile leggere i TAG mp3 dal file e visualizzarlo su un display?
Autore
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?
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
Autore
Ciao Mauro,
mi sembra di aver già risposto a questo commento, se non l’ho fatto perdonami.
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!
Autore
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.
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.
Autore
Ciao Alfredo,
non ho compreso la domanda.
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.
Autore
Ciao Maomao,
non ho provato ad utilizzarlo in modalità mista, dovresti controllare nella documentazione se questo sia possibile.
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!
Autore
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.
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
Autore
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.
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
Autore
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.
ok, grazie
lo posso usare come lettore sdcard
Autore
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.
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
Autore
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.
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
Autore
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.
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.
Autore
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,…
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
Autore
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.
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….
Autore
Ottima notizia Maurizio.
Grazie per la condivisione, sarà certamente utile a tanti altri.
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.
Autore
Ciao Alberto,
se non ricordo male è possibile usando direttamente il comando play() con il numero del brano da riprodurre.
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
Autore
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.
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
Autore
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.
Mauro scusa ma posso collegarlo ad una seriale fisica di arduino mega?
Se si, come modifico lo sketch?
Grazie.
Autore
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.
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
Autore
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?
Buonasera Mauro. Vorrei fare riprodurre al modulo delle frasi in un ordine preciso. Penso sia possibile? Grazie.
Autore
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