Archivi categoria: tutorial

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


Continua a leggere

Blynk IoT – il modo più semplice per creare progetti IoT – lezione 2

Durante questa seconda lezione vedremo:

  • Prima configurazione di blynk.cloud
  • Creazione di un template per un’applicazione IoT per il controllo dell’accensione di un LED

Collegarsi al servizio blynk.cloud

Collegarsi all’indirizzo: https://blynk.cloud/
procedere alla registrazione gratuita ed effettuare il primo accesso

Se no avete un account, clic su “Create new account”.

Il servizio gratuito limita il numero di dispositivi connessi ed alcune funzionalità, ma per realizzare il controllo della nostra serra didattica la versione gratuità è sufficiente, deciderete poi voi se sarà il caso di attivare un piano a pagamento. Le sperimentazioni che propongo sono state realizzate con un piano di abbonamento gratuito.

Accedere al servizio

Sarete reindirizzati su questa pagina

La prima operazione da eseguire è quella di creazione di un nuovo template (nuovo modello), ma attendete un istante prima di procedere

Cos’è un template?

Nella versione precedente di Blynk il progetto IoT che si realizzava era vincolato ad una specifica scheda di controllo, nella nuova interfaccia Blynk ciò cambia, viene aggiunto un livello di astrazione maggiore mediante i “template”, che permettono di disegnare un modello di applicazione IoT mediante i widget che la piattaforma ci mette a disposizione, indipendente dalle schede di controllo, dopo di che saremo noi in una fase successiva ad applicare il modello sulla tecnologia (scheda di controllo) che disponiamo.

Per chi già in passato ha utilizzato Blynk capirà che tutto ciò diventa estremanente comodo, in quanto possiamo disegnare più modelli di applicazione IoT e poi applicarli alla bisogna sulla specifica scheda che disponiamo, o ancora costruire un template specifico e poi applicarlo su schede di deiverso tipo, astrazione potente che vedremo durante lo svolgimento delle lezioni.

L’interfacci online può essere prsonalizzata in più parti, ma lascio a voi le personalizzazioni, nel caso lasciate richieste nei commenti o scrivetemi direttamente.

Per imparare ad utilizzare la nuova piattaforma iniziamo con un programma semplicissimo: l’accensione e lo spegnimento di un LED mediante app su smartphone e mediante interfaccia web.

Continua a leggere

Blynk – il modo più semplice per creare progetti IoT – lezione 1

Diversi mesi fa mi venne chiesto di sviluppare un corso di base per la realizzazione di sistemi IoT per colleghi che lavorano nei licei. Come spesso accade molte delle sperimentazioni che propongo durante i miei corsi sono derivate da attività laboratoriali svolte con i miei studenti. In più occasioni mi è stato chiesto di pubblicare tutorial in merito all’IoT e recentemente i colleghi che seguiranno il mio prossimo corso: Realizzare laboratori green con il Making e il Coding – 3 ed. mi hanno chiesto esplicitamente di mostrare come costruire attività laboratoriali semplici in cui ci fossero componenti IoT che permettono di controllare remotamente su smartphone la nostra serra o il nostro sistema di controllo ambientale, pertanto a corredo del corso online che inizierà tra breve aggiungerò una serie di guide “IoT” su questo sito aperte a tutti.

La guide saranno utilizzate per estendere le funzionalità delle automazioni che verranno realizzate durante le lezioni, saranno pubblicate nell’arco della durata del corso e secondo le necessità didattiche dei singoli utenti iscritti, potranno essere personalizzate e rese fruibili ai propri studenti.

Sicuramente tra le piattaforme più semplici per connettere dispositivi IoT che possiamo trovare online Blynk IoT è la più usata e conosciuta.
Con Blynk IoT possiamo controllare remotamente il nostro hardware, visualizzare i dati rilevati dai sensori, creare dei datalogger e molto altro. Abbiamo visto sempre su questo sito in passato l’uso di ThingSpeak con BBC micro:bit ed un ESP01 e in questa serie di brevi tutorial, vedremo come utilizzare un WeMos D1 R2 mini per realizzare gli esercizi di base che poi ci consentiranno di controllare remotamente i nostri dispositivi come ad esempio un sistema per la misura dell’inquinamento derivante dalle polveri sottili. Non mi dilunghero sulla modalità di utilizzo del WeMos D1 R2 mini su queste pagine trovate indicazioni.

Per chi avesse altri dispositivi compatibili con la piattaforma Blynk IoT diversi da quello che utilizzo negli esercizi proposti, la procedura di installazione e programmazione è simile, nel caso di differenze fornirò indicazioni.

Agli iscritti al corso darò informazioni specifiche sull’uso di Blynk IoT con BBC micro:bit e Arduino Nano 33 IoT ed altre piattaforme.

La semplicità e la praticità di BlynkIoT  risiede nel fatto che è possibile costruire rapidamente un’interfaccia grafica sul proprio dispositivo iOS e Android al fine di controllare e monitorare i propri progetti. Qundi potrete creare una vostra dashboard virtuale (un centro di controllo grafico) costituto da pulsanti, slider, grafici e molto altro da disporre sullo schermo del vostro dispositivo. All’interno dell’applicazione esistono Widget specifici per il controllo della vostra automazione.

Tre sono le componenti fondamentali del sistema Blynk IoT:

  • Applicazione Blynk: applicazione sul vostro smartphone che mediante i widget forniti permette di creare l’interfaccia grafica per controllare la vostra automazione.
  • Server Blynk: il servizio che gestisce la comunicazione tra l’hardware e il vostro smartphone.
  • Librerie Blynk: permettono di gestire i comandi in ingresso tra la vostra piattaforma hardware: micro:bit, WeMos D1 mini, Arduino, ecc… e il server Blynk.

Durante le esercitazioni analizzeremo le caratteristiche di Blynk ma una cosa importante da sapere subito è che la connessione al cloud può avvenire in diverse modalità: Ethernet, Wi-Fi, USB, GSM, Bluetooth, BLE. Continua a leggere

Laboratori Green – Real Time Clock – DS3231

Durante il corso “Laboratori Green” in partenza il prossimo 7 dicembre, tra le varie attività che svolgerò in presenza online, mostrerò anche come gestire eventi che dovranno essere attivati ad una data ed ora specifici in quanto si avrà l’esigenza di realizzare un sistema autonomo che non faccia uso di un computer esterno per registrare i dati (temperatura, umidita, pressione, ecc…). L’elemento fondamentale della nostra automazione sarà un piccolo modulo di clock (orologio) in tempo reale (RTC) che ci consentirà di stabilire i tempi precisi in cui effettuare una specifica misurazione: una volta all’ora, una volta al giorno, alla settimana, ecc…

II modulo RTC è costituita da un piccola scheda elettronica economica su cui è inclusa una batteria ricaricabile che ci permetterà di non dover reimpostare l’ora sul microbit se viene sconnesso dall’alimentazione, quella che impiegheremo noi è la scheda HW-84 su cui è collocato l’RTC DS3231.

Commercialmente esistono diverse tipologie di RTC, il il DS3231 e tra quelli più adatti per essere usati con un micro:bit in quanto è progettato per funzionare con dispositivi a 3V pertanto potrà essere alimentato direttamente dal microcontrollore.
Durante il corso vedremo l’utilizzo di questo tipo di RTC anche mediante scheda Arduino.

Il DS3231 ha anche altre funzionalità che lo rendono molto interessante e che andremo ad utilizzare

  • possiede 2 allarmi
  • ha un sensore di temperatura con accuratezza di +/- 3C

Esistono diverse ragioni per cui è utile utilizzare Real Time Clock (orologio) all’interno del vostro sistema di automazione realizzato con qualsiasi microcontrollore, micro:bit, Arduino, o altro:

  • Se state registrando costantemente delle misurazioni (registrazione dei dati) è siuramente necessario registrare il tempo in cui la misurazione viene effettuata, la misurazione del tempo in cui avviene la misurazione prende il nome di timestamp.
  • Se state automatizzando eventi, come ad esempio l’accensione della luce ad una determinata ora, l’irrigazione della vostra serra, la rilevazione di umidità e temperatura della serra, l’accensione del riscaldamento, ecc…

Connessione dell’HW-84 al micro:bit

Il micro:bit comunica con il modulo RTC usando il protocollo di comunicazione I2C (inter-integrated circuit). Questo tipo di comunicazione utilizza 2 fili (SDA e SCL) e due file per l’alimentazione (Vcc e GND). Bisogna effettuare il seguente collegamento:

RTC ------ micro:bit
GND ------ GND
Vcc ------ 3V su micro:bit
SDA ------ SDA (pin 20)
SCL ------ SCL (pin 19)

Il pin SQW sull’HW-84 viene utilizzato per comunicare al micro:bit quando è stato attivato un allarme. Ciò può essere fatto collegando SQW al pin P0 del micro:bit

All’interno di MakeCode esiste un set di istruzioni per l’RTC DS3231. In MakeCode, fare clic “Extensions”. Nel campo di ricerca inserire DS3231, clic sull’icona per includere nell’ambiente di sviluppo il set di istruzioni.

Realizzare il programma indicato nell’immagine che segue. All’interno dell’istruzione “on start” sarà inserita un’icona che all’avvio del micro:bit darà percezione che il sistema è stato avviato. Nell’istruzione “forever” verrà impostata la struttura dell’output del testo mediante istruzioni di join del testo. La stampa delle stringhe del giorno e dell’ora avverrà mediante l’uso di istruzioni “serial write”. L’impostazione dell’ora iniziale sarà effettuta mediante l’istruzione specifica di inizializzazione dell’RTC in cui si dovranno inserire anno, mese, giorno, ora, minuto, secondo, il tutto inserito in un’istruzione “on button A pressed” che consentirà fisicamente di inizializzare l’RTC alla pressione del pulsante A del micro:bit. Per avere percerzione che l’impostazione è andata a buon fine verrà mostrata un’icona sul display del micro:bit mediante l’istruzione “show icon”.

Durante il corso aggiungerò a quanta sopra spiegato ulteriori indicazioni per realizzare un data logger di temperatura, ovvero un sistema in grado di registrare il valore della temperatura misurata in momenti specifici per poi mostrare su grafico la serie dei dati registrati.

Si svilupperanno anche altre attività come ad esempio:

  • realizzazione di allarmi, in generale attivazione di eventi in momenti programmati
  • registrazione dei dati su file all’interno del micro:bit
  • utilizzo di un sistema di registrazione dati su schede di memoria micro SD
  • … e molto altro

Vi aspetto al mio corso.
Buon Making a tutti 🙂

Game Programming Course – Controller con scatola di scarpe

Durante il recente corso sulla realizzazione di giochi con MakeCode Arcade indirizzata ad insegnanti ho mostrato come realizzare un semplice controller con una scatola di scarpe 🙂 e poiché alcuni ragazzi mi hanno chiesto indicazioni sulla realizzazione condivido l’attività.

Durante le attività di Coding e gioco svolte con MakeCode Arcade l’utilizzo di tastiera e mouse per giocare può diventare poco efficiente, pertanto per aumentare l’esperienza di gioco è possibile realizzare un controller di gioco personalizzato con pulsanti e Joystick identici a quelli presenti su un cabinet di gioco ed una scatola di scarpe. Di seguito le indicazioni tratte dalla guida: MakeCode Arcade Shoebox Controller sul sito ufficiale MakeCode Arcade.

Materiali

Continua a leggere