Il modulo DFPlayer PRO è un mini lettore MP3 con 128 MB integrati. Si tratta della versione aggiornata il modulo DFPlayer Mini utilizzato in molti progetti presenti su questo sito.
Il modulo è progettato dalla DFRobots. Questo modulo lettore MP3 supporta quattro modalità di controllo:
- Pulsante integrato, premendo direttamente il pulsante integrato si può riprodurre o cambiare musica senza utilizzare un controller;
- Modalità seriale tramite Arduino;
- Pulsanti esterni ADKEY;
- Comandi AT.
Indice
Descrizione del modulo
Il DFPlayer Pro, è un mini lettore MP3. I formati audio supportato sono: MP3, WAV, WMA, FLAC, AAC, APE
Il modulo supporta quattro modalità di controllo: pulsante integrato, ADKEY , Arduino e Comandi AT. La modalità di comunicazione è UART.
Per il trasferimento dei file da PC, si utilizza un cavo USB. Rispetto al precedente DFPlayer Mini, il DFPlayer Pro ha 128 MB di spazio di archiviazione che può essere utilizzato direttamente senza una scheda TF. Il connettore è di tipo C integrato lo rende molto comodo da usare.
L’uscita è a doppio canale, per migliori effetti sonori. Oltre a ciò, DFPlayer Pro è dotato di nuove funzioni come avanzamento rapido, riavvolgimento rapido, riproduzione dell’audio da un punto particolare del file audio, ecc.
Tabella di comparazione tra i due modelli DFPlayer
Nome | DFPlayer mini | DFPlayer Pro |
---|---|---|
Codice produttore | DFR0299 | DFR0768 |
Tipo di memoria | Scheda di memoria richiesta | 128MB |
Canale sonoro | Mono | Doppio canale (stereo) |
Supporto U-disk analogico | NO | SÌ |
Supporto del controllo ADKEY | SÌ | SÌ |
Supporto dell'amplificatore di potenza integrato | SÌ | SÌ |
Formato audio | MP3, WAV, WMA | MP3, WAV, WMA, FLAC, AAC, APE |
Tipo di comunicazione | UART | UART |
Tensione di funzionamento | 3,3V / 5V | 3,3V / 5V |
Dimensione | 20 x 20 mm | 23 x 24,5 mm |
Caratteristiche | 1. Piccole dimensioni | 1. Uscita stereo a doppio canale |
2. Supporto IO, porta seriale e controllo ADKEY | 2. Supporta quattro modalità di controllo: Arduino, comando AT, pulsanti integrati e ADKEY | |
3. Supporto massimo 32G della scheda TF, adatto per le occasioni che necessitano di abbondanti file audio | 3. Archiviazione ad alta velocità integrata da 128 MB | |
4. Supporta il cavo USB per trasferire i file | ||
5. Può essere utilizzato come scheda audio per PC o Raspberry Pi |
Foto del modulo
Presso il sito del produttore è presente la pagina wiki, riporta tutte le principali informazioni che permettono di utilizzare in modo semplice il lettore proposto.
Le prime informazioni riguardano il pin-out, necessario per imparare a collegare il DFPlayer PRO, che come visibile dispone di 12 pin di connessione. Sono inerenti l’alimentazione, il collegamento agli speakers e dei pulsanti con cui inviare comandi al DFPLayer PRO per funzionare anche senza un microcontrollore.
Sono poi presenti i pin RX-TX per la gestione da microcontrollore esterno.
N° PIN | Serigrafia | Funzione |
---|---|---|
1 | VIN | Alimentazione +5V |
2 | GND | Alimentazione GND |
3 | RX | UART Ricezione |
4 | TX | UART Trasmissione |
5 | DACR | Uscita DAC - canale destro |
6 | DACL | Uscita DAC - canale sinistro |
7 | L+ | Uscita canale sinistro |
8 | L- | Uscita canale sinistro |
9 | R+ | Uscita canale destro |
10 | R- | Uscita canale destro |
11 | PLAY | Pulsante funzione |
12 | KEY | Pulsante funzione |
Caratteristiche
- Archiviazione ad alta velocità integrata da 128 MB
- Interruttore di riproduzione tramite pulsante
- Amplificatore di potenza da 3 W a doppio canale
- Supporta U-disk analogico
Specifiche del modulo
Alimentazione: | 3,3 V ÷ 5 V |
Corrente di funzionamento: | > 20 mA |
Memoria: | 128 MB |
Formato audio: | MP3, WAV, WMA, FLAC, AAC, APE |
Comunicazione: | UART |
Temperatura di esercizio: | -20℃÷70℃ |
Umidità operativa: | 5% RH÷ 95% RH |
Dimensioni: | 23 x 24,5 mm |
Dove trovare il modulo
Il modulo può essere trovato presso il produttore DFROBOT (Codice DFR0768) oppure presso il sito Homotix codice HMTDFPRO.
Se al momento dell’ordine inserirete il codice sconto “ADRIROBOT” avrete diritto a uno sconto.
Il modulo viene fornito con due pin strip a 6 pin che andranno saldate a vostra cura.
Schema elettrico del modulo DFPlayer PRO 128 MB
Sotto è riportato lo schema DFPlayer PRO (versione PDF)
U2 Chip DF1201S (ASC6925A) : chip seriale di decodifica MP3
Il chip DF1201S (Package QSOP24 – Datasheet) è in realtà il chip ASC6925A. Un chip audio stereo con porta seriale che Integra la decodifica hardware che supporta MP3, WAV, WMA, FLAC, ACC, APE. Inoltre, il chip supporta anche la gestione di schede TF, FAT16, e il file system FAT32. Attraverso una semplice porta seriale, puoi riprodurre la musica
Alimentazione elettrica: VBAT va da 2,2 V a 5,5 V, VDDIO va da 2,2 V a 3,6 V, RTCVDD è compreso tra 2,2 V e 3,6 V. Temperatura di esercizio: da -20℃ a +70℃, temperatura di stoccaggio: da -65℃ a +150℃
U3 Chip PAM8403: Amplificatore audio
Il PAM8403 (Package SOP-16 – Datasheet) è un amplificatore audio in classe D che permette un’ uscita di 3W al 10% THD con carico 4Ω e alimentazione 5V.
Offre un basso THD+N, consentendogli di ottenere una riproduzione del suono di alta qualità. La sua architettura, senza filtro, consente al dispositivo di pilotare direttamente l’altoparlante, senza richiedere filtri di uscita passa-basso. Dispone di protezione da cortocircuito e arresto in caso di surriscaldamento.
U4 – Chip MKDV1GIL-AS: memoria SD NAND
La memoria MKDV1GIL-AS (datasheet) è di tipo SD NAND in un Package LGA. Il suo funzionamento è
simile a una scheda SD che è uno standard commerciale.
SD NAND è costituito da flash NAND e un controller ad alte prestazioni, la sua alimentazione è di3,3 V
l’area NAND (VCC).
Preparazione dei file
I file audio gestiti dal modulo possono essere salvati in formati diversi. Quelli supportati sono: MP3, WAV, WMA, FLAC, AAC, APE. Qualche problema si potrebbe avere nella riproduzione.
Infatti potrebbe succedere che anche se avete numerato i vostri file, se tentate di riprodurre un file specifico questo non avvenga.
Il motivo è che l’ordine in cui sono copiati il file nella memoria del modulo, influenzerà l’ordine di riproduzione dell’MP3. Significa che la funzione play(1) riprodurrà il primo MP3 copiato nella memoria.
Il nome del file effettivo è irrilevante, è l’ordinamento che conta. Se per esempio avete i file:
0001.mp3
0002.mp3
0004.mp3
0009.mp3
Occorre richiedere la traccia 3 per riprodurre 0004.mp3 e richiedere la traccia 4 di riprodurre 0009.mp3.
Quindi 0001…000x serve solo per ordinare i file in ordine crescente, ma i nomi dei file non vengono utilizzati per la riproduzione, vale il loro ordine fisico.
Programma FAT Sorter
Per risolvere questo problema può venire in aiuto un piccolo, ma potente tool che si chiama FAT Sorter.
Questo programma si occuperà di “riscrivere” i file nel giusto ordine utilizzando la nostra numerazione.
Per scaricare FAT Sorter, abbiamo due alternative: rechiamoci sul sito di questo link, oppure scaricate il file zip dal mio sito.
Fatto ciò, non ci resta che scompattare il file zip appena scaricato e dare un doppio click al file setup.exe.
Una volta partita l’installazione, cliccare su next fino alla step finale di conclusione del processo.
Eseguire FAT Sorter, facendo doppio click sull’icona, collegate il modulo DFPLayer PRO alla porta USB del PC. Questo sarà riconosciuto come una normale memoria USB.
L’interfaccia grafica di FAT Sorter è molto intuitiva e ciò che dobbiamo fare è cliccare su Browse. Selezionare il modulo appena collegato. A questo punto sarà sufficiente cliccare su Sort.
Un popup ci confermerà la buona riuscita del processo.
Modalità di controllo
Per utilizzare il DFPlayer Mini, Riproduttore MP3 , sono utilizzabili tre diverse modalità di controllo:
- Controllo tramite il pulsante PLAY;
- Modalità seriale tramite Arduino;
- AD KEY Mode;
- I/O Mode.
Controllo tramite pulsante
Il controllo tramite il pulsante presente sul modulo è il più semplice. Sarà sufficiente collegare il modulo a una fonte di alimentazione come il cavo USB, che servirà anche per caricare i file nella memoria e collegare uno o due altoparlanti.
Quindi sarà sufficiente premere il pulsante PLAY per riprodurre o mettere in pausa il brano sonoro (il LED blu rimane acceso durante la riproduzione e lampeggia lentamente durante la pausa).
Se premerete più a lungo di 2 secondi, si potrà passare al brano successivo (il LED blu lampeggia due volte durante il passaggio).
Modalità seriale
Il modulo DFPlayer PRO possiede il supporto per la modalità di comunicazione seriale.
Per utilizzare questa modalità con Arduino, occorre installare l’apposita libreria, che risulta già presente nel repository ufficiale di Arduino. Vi sarà sufficiente cercare “DFRobot_DF1201S” attualmente la libreria è nella versione 1.0. Con la libreria sarà disponibile anche un programma di esempio.
Per maggiori informazioni su come caricare una libreria vedere l’articolo Arduino – Tutorial, come installare una libreria.
Per l’elenco dei vari comandi disponibili fare riferimento alla pagina WIKI del produttore.
NOTA: La logica del modulo è a 3.3V, mentre Arduino è a 5V. Per risolvere il problema sul pin RX è già presente una resistenza ad 1KΩ che provoca una caduta di tensione.
Materiale occorrente:
![]() Scheda Arduino UNO o clone |
![]() Modulo DFPLayer PRO |
![]() Bread Board |
![]() Cavi colorati |
![]() 1 o 2 altoparlanti Max 4Ω 3W |
Schema dei collegamenti
Come scheda si è utilizzata una scheda Keyestudio PLUS. Completamente compatibile con l’ambiente di sviluppo Arduino IDE. Contiene tutte le funzioni della scheda Arduino UNO R3
Altra particolarità: alla scheda possono essere collegati dispositivi alimentati a 3,3V o a 5V. Un deviatore permette di scegliere la tensione disponibile sui pin.
Programma di test
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#include <DFRobot_DF1201S.h> #include <SoftwareSerial.h> SoftwareSerial DF1201SSerial(2, 3); //RX TX DFRobot_DF1201S DF1201S; void setup(void) { Serial.begin(115200); DF1201SSerial.begin(115200); while (!DF1201S.begin(DF1201SSerial)) { Serial.println("Init non riuscito, controlla la connessione via cavo!"); delay(1000); } /*Imposta il volume a 20*/ DF1201S.setVol(/*VOL = */ 20); Serial.print("VOL:"); Serial.println(DF1201S.getVol()); /*Enter music mode*/ DF1201S.switchFunction(DF1201S.MUSIC); /*Wait for the end of the prompt tone */ /*Set playback mode to "SINGLE"*/ DF1201S.setPlayMode(DF1201S.SINGLE); Serial.print("PlayMode:"); /*Get playback mode*/ Serial.println(DF1201S.getPlayMode()); } void loop() { DF1201S.playFileNum(/*Numero file = */ 12); Serial.print("Nome file: "); //Ottiene il nome del file in riproduzione Serial.println(DF1201S.getFileName()); delay(2000); DF1201S.playFileNum(/*File Number = */ 1); Serial.print("Nome file: "); //Get the name of the playing file Serial.println(DF1201S.getFileName()); delay(2000); DF1201S.playFileNum(/*File Number = */ 2); Serial.print("Nome file: "); //Get the name of the playing file Serial.println(DF1201S.getFileName()); delay(2000); DF1201S.playFileNum(/*File Number = */ 3); Serial.print("Nome file: "); //Get the name of the playing file Serial.println(DF1201S.getFileName()); delay(2000); } |
AD KEY Mode
In questo caso possiamo utilizziamo sino a 10 tasti connessi al pin KEY del modulo DFPlayer PRO.
Le varie resistenze presenti, con una resistenza da 22 KΩ già presente sul modulo, formano un partitore che fornirà un valore di tensione che sarà decodificata e in base a quello, saranno disponibili varie funzioni.
Non tutti i tasti devono essere utilizzati.
Nota: il valore delle resistenze non sembra tassativo ma è ammessa una certa tolleranza potendo così utilizzare valori standard più facili da trovare.
Tasto | Valore resistore | Tasto | Lunga pressione |
---|---|---|---|
K0 | 0R | Pause & Play | |
K1 | 3K | Brano precedente | Volume + |
K2 | 6.2K | Brano successivo | Volume - |
K3 | 9.1K | Cambia modalità di riproduzione | |
K4 | 15K | Avanti veloce di 10s | |
K5 | 24K | Pause & Play | Brano successivo |
K6 | 33K | Volume - | |
K7 | 51K | Volume + | |
K8 | 100K | Riavvolge veloce di 10s | |
K9 | 220K | Esegue il primo brano e imposta il volume a 10 |
Per esempio nello schema sottostante si sono utilizzati solamente tre pulsanti : K0, K1 e K2.
Il primo tasto permetterà di far partire il brano e di metterlo in pausa. Il secondo tasto permette di passare a brano precedente e se premuto per più di 2 secondi permette di aumentare il volume. Il terzo e ultimo tasto passa al brano successivo oppure se premuto più a lungo diminuirà il volume.
NOTA: Per le due resistenze si è sostituito il valore d R2 una resistenza da 3,3kΩ, in sostituzione del valore di 3kΩ. Mentre per R3 si è sostituito il valore da 6.2kΩ con una da 6,8kΩ. Il funzionamento è stato normale
AT Command Controlling
Tramite la scheda Arduino
In questa modalità è possibile pilotare i modulo DFPlayer PRO tramite comandi AT utilizzando un collegamento UART, tramite per esempio lo stesso Arduino.
Il collegamento sarà lo stesso già visto precedentemente.
Lo sketch rappresentato ci servirà come programma di terminale per comunicare con il modulo DFPlayer attraverso Arduino. Il monitor seriale dovrà essere configurato a 15200 baud con NL e CR attivi.
Trasferito il programma, per testare il collegamento sarà sufficiente inviare il comando “AT“. Il modulo dovrebbe rispondere “OK”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <SoftwareSerial.h> const int RX = 2; const int TX = 3; char c; SoftwareSerial DF1201SSerial(RX, TX); void setup() { Serial.begin(115200); DF1201SSerial.begin(115200); } void loop() { if (DF1201SSerial.available()) { c = DF1201SSerial.read(); Serial.write(c); } if (Serial.available()) { c = Serial.read(); DF1201SSerial.write(c); } } |
Tramite convertitore USB/UART
Altra possibilità di comando tramite comandi AT è quella di utilizzare un convertitore USB/UART.
Sotto lo schema necessario.
Elenco comandi AT
Per l’elenco completo dei vari comandi AT disponibili e la loro sintassi fare riferimento alla pagina WIKI del produttore.
Esempio comando | Funzione | Valori possibili |
---|---|---|
AT | Prova connessione | |
AT+VOL=-5 | Diminuisce/aumenta il volume | 0-30, ? |
AT+PLAYMODE=1 | Passa alla modalità ripetizione di un brano | 1-2-3-4-5-? |
AT+PLAYMODE=? | Interroga la modalità di riproduzione corrente | |
AT+PLAY=NEXT | Controllo riproduzione | PP, NEXT, LAST |
AT+TIME=-5 | Riavvolgimento/Avanzamento veloce | |
AT+QUERY=1 | Richiede il numero del file attualmente in riproduzione | 1,2,3,4,5 |
AT+PLAYNUM=5 | Riproduci il file n. 5 | |
AT+PLAYFILE=/DF_REC/test.MP3 | Riproduci il file test.mp3 sotto DF_REC una volta | |
AT+AMP=ON | Accende/spegne l'amplificatore | ON, OFF |
AT+DEL | Elimina il file attualmente in riproduzione | |
AT+BAUDRATE=115200 | Imposta la velocità di trasmissione su 115200 | 9600, 19200, 38400, 57600, 115200 |
AT+PROMPT=ON | Attiva/disattiva il tono di richiesta | ON, OFF |
AT+LED=ON | Attiva/disattiva il LED | ON, OFF |
Alcuni comandi utili
Segnalo alcuni comandi utili, che possono essere dati tramite il comando AT.
Il primo permette di eliminare il messaggio, in lingua inglese , che indica la modalità di funzionamento. In questo caso si dovrà digitare “AT+PROMPT=OFF”.
Per riattivarlo si dovrà digitare “AT+PROMPT=ON“.
Il secondo comando permette di spegnere il LED BLU presente sul modulo.
In questo caso si dovrà digitare “AT+LED=OFF“. Per riattivarlo si dovrà digitare “AT+LED=ON“.
Altri moduli audio
Su questo sito sono già stati presentati altri moduli che permettono di decodificare file in vari formati come WAV o MP3. Sono gestibili tramite comandi manuali oppure tramite comandi trasmessi, di solito in seriale, da schede come Arduino.
![]() DFPlayer mini |
![]() WTV020-SD |
![]() JQ6500 |
![]() WT588D-16P |
![]() Modulo wireless MP3 |
![]() XY-V17-B-D |