Utilizzare un lettore Mp3 DFPlayer Mini con BBC micro:bit

Recentemente mi è stato chiesto da una collega che lavora presso una scuola primaria, di supportarla nello studio sull’uso di micro:bit ed aiutarla nella realizzazione dell’allestimento di un’automazione da inserire in una recita. L’automazione realizzata con micro:bit è la parte finale del percorso di Coding che farà svolgere ai suoi studenti. Il sistema che dovrà realizzare consiste in una scultura parlante che riproduce brani specifici al verificarsi di eventi esterni: pressione di pulsanti, rilevazione di un ostacolo, in generale il trigger può essere qualsiasi evento rilevato da un sensore.

Per la realizzazione di questo progetto ho utilizzato Blocks per la programmazione a cui sono state aggiunte le istruzioni dell’estensione DFPlayer Mini, un mini lettore MP3 realizzato da DFRobots che può essere connesso a diversi microcontrollori tra cui anche micro:bit.

Attualmente sto utilizzando questo dispositivo per estendere le funzionalità della EduRobot Greenhouse mini, la mini serra stampata in 3D su cui ho realizzato un nuovo percorso di formazione per la scuola e di cui a breve rilascerò in modalità gratuita i sorgenti.
Alla serra ho aggiunto allarmi vocali preregistrati che forniscono informazioni audio sullo stato della serra che utilizzano DFPlayer Mini.

Questa tutorial è una guida passo passo, non entrerò nel dettaglio dell’elettronica, indicherò solamente come connettere il modulo MP3 e micro:bit e come programmare l’automazione.

Tutti i riferimenti tecnici sulla scheda MP3 DFPlayer Mini possono essere trovati sul wiki di dfrobot seguendo il link.

DFPlayer Mini può essere acquistato su diversi store a costi contenuti. E’ indispensabile munirsi di un micro SD su cui andremo a memorizzare i brani MP3e che verrà poi inserita nel player.

Per la riproduzione dei suoni ho utilizzato una cassa amplificata conessa mediante jack audio stereo da 3,5 mm alla scheda DFPlayer Mini.

I nomi dei file MP3 dovranno essere dei numeri, nel mio caso: 001.mp3, 002.mp3, 003.mp3.
E’ possibile, se lo si desidera, nel caso di un numero elevato di brani, organizzare i file MP3 in cartelle e richiamare in modo opportuno dal codice.

La scheda micro SD, che non dovrà essere più grande di 32GB, (nel mio caso 8GB) e dovrà essere formattata in formato FAT16 o FAT32 (nel mio caso FAT32), ma tutte le specifiche le trovate sul wiki sopra indicato.

Ricordo per gli utenti Mac, che sulla scheda dovranno essere cancellati i file il cui nome inizia con “.”.

Il collegamento tra DFPlayer Mini e cassa può essere realizzato in diversi modi:

Modo 1
Munirsi di un cavo maschio-maschio audio stereo mini jack da 3,5 mm, tagliare un capo ed utilizzare i fili separatamente (rosso: canale destro, bianco: canale sinistro, nero: massa), connettere questi alla scheda DFPlayer Mini saldando dei jumper maschio-maschio, oppure usando morsetti wago.

Modo 2
Munirsi di un jack maschio stereo da 3,5 mm come quello indicato nell’immagini dotato di ingressi a cui è possibile connettere i cavi audio serrandoli con i morsetti a vite. Il jack va connesso alla cassa (o all’amplificatore) ed i tre fili alla scheda DFPlayer Mini

In entrambi i casi ricordarsi di:

  • connettere il cavo di massa alla massa sia del DFPlayer che del micro:bit;
  • che il cavo audio non sia troppo lungo;
  • sarebbe ottimo se si riuscisse ad inserire l’intero circuito all’interno di una scatola schermata.

Il DFPlayer può essere alimentato, come indicato dalle specifiche, con tensioni: dai 3,2V DC ai 5,5V DC. Ricordo che se utilizzate alimentazini diverse per i vostri circuiti, connettere sempre tutte le masse insieme.

Nell’immagine che segue metto in evidenza con frecce i pin utilizzati nel schema di collegamento.

Schema di collegamento


Installazione dell’estensione DFPlayer Mini

Selezionare: Extensions

Scrivere nel campo di ricerca: DFPlayer mini

Per installare l’estensione fate clic sul blocco

Nella colonna delle istruzioni comparirà il blocco: “DFPlayer Mini”

Elenco istruzioni

Codice di esempio

Esempio 1

Alla apressione del pulsante A viene riprodotto casualmente uno dei tre brani musicali inseriti sulla scheda micro SD

Vai al codice dell’esempio

All’interno dell’istruzione “on start” bisognerà sempre inserire l’istruzione che indica come i due dispositivi sono connessi e se lo si desidera l’impostazione del volume dei brani musicali.

L’istruzione “A” consente di impostare i pin di ricezione e trasmissione. Il pin RX del DFPlayer va connesso al pin 0 del micro:bit e il pin TX del DFPlayer va connesso al pin P1 (ovviamente potete selezionare altri pin di micro:bit in funzione del vostro progetto).

L’istruzione “B” permette di impostare il volume del brano.

All’interno dell’istruzione: “on button “A” pressed” inseriamo l’istruzione “C” che permette di eseguire il brano musicale indicato nella variabile “BranoCasuale”. il parametro “repeat” consente di stabilire se il brano selezionato viene eseguito in loop.

Esempio 2

Alla apressione del pulsante A viene riprodotto casualmente uno dei tre brani musicali inseriti sulla scheda micro SD.
Alla pressione del pulsante B viene messo in stop il brano musicale corrente e visualizzata una X sul display del micro:bit, una successiva pressione del pulsante A riprodurrà un nuovo brano musicale.

Vai al codice dell’esempio

La funzione “press button: Stop” viene ivocata alla pressione del pulsante “B”

Esempio 3

Pressiona pulsante A -> play brano successivo
Pressiona pulsante B -> play brano precedente
Se si sta riproducendo il primo brano e si preme B viene riprodotto nuovamente il primo brano.
Se si sta riproducendo l’ultimo brano e si preme A viene riprodotto nuovamente l’ultimo brano.

Vai al codice dell’esempio

Esempio 4

In questo esempio viene utilizzata una funzione con un parametro che viene richiamata quando viene effettuata la richiesta di play. Il parametro passato è il numero del brano.

Pressiona pulsante A -> play brano successivo
Pressiona pulsante B -> play brano precedente
Se si sta riproducendo il primo brano e si preme B viene riprodotto nuovamente il primo brano.
Se si sta riproducendo l’ultimo brano e si preme A viene riprodotto nuovamente l’ultimo brano.

Vai al codice dell’esempio

Esempio 5

Medesime funzionalità dell’esempio 3, ma in questo caso il play del brano viene gestito dalle due funzioni specifiche dell’estensione:

  • press button: Play next
  • press button: Play Previous

Vai al codice dell’esempio

Esempio 6

Medesime funzionalità dell’esempio 5, con l’aggiunta dello stop immediato del brano riprodotto al tocco sull’icona sul micro:bit V2. Nel caso di micro:bit V1 è possibile associare la pressione dei due pulsanti A e B o la pressione di un pulsante esterno aggiunto al circuito

Vai al codice dell’esempio

Lascio a voi tutte le modifiche e le migliorie al codice.

BuonMaking a tutti 🙂

Questa voce è stata pubblicata in micro:bit, tutorial e contrassegnata con , , , , , . Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

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