Archivi categoria: tutorial

MicroCode – Language – Lezione 2

In questa seconda lezione vedremo come realizzare il primo programma in MicroCode. L’immagine sottostante mostra un programma di una pagina con quattro regole (blocchi istruzione When – Do)

Nel video i passi di realizzazione in cui viene evidenziato l’help contestuale al passaggio del mouse sulle istruzioni.

Le prime due regole si attivano quando viene premuto A.

  • quando premi il pulsante A, fai mostra la sequenza delle due icone che mostrano una faccina che ride sul display del micro:bit

  • quando premi il pulsante A, fai suonare il micro:bit con il suono “faccina felice”

Le altre regole sono simili ma si attivano per il pulsante B; alla pressione viene mostrata una sequenza di faccine tristi ed emesso il suono “triste”.

Pagine ed esecuzione delle regole

L’esecuzione del programma MicroCode inizia sulla pagina 1. Tutte le regole su quella pagina sono attive. Le regole presenti su un’altra pagina diventano attive solo quando il programma passa a quella pagina (tramite un comando esplicito di cambio pagina, che verrà mostrato più avanti. Qualsiasi regola che potrebbe essere ancora in esecuzione sulla pagina corrente (come un’animazione in un ciclo) viene terminata prima che avvenga il cambio di pagina, non si possono mai avere regole in esecuzione allo stesso momento su pagine diverse.

All’avvio del timer viene visualizzata una sequenza di icone (seconda regola) e contemporaneamente dopo 5 secondi dall’avvio del timer più un tempo casuale si passa alla pagina 2 (prima regola).

Al passaggio alla pagina 2 viene mostrata l’immagine di una faccina che ride (prima regola) ed emesso un suono “felice” (seconda regola).

Nel video vengono mostrati i passi di realizzazione del programma e la modalità di creazione e passaggio alla pagina 2.

Eventi e ordine di esecuzione delle regole

Gli eventi, azioni che innescano le regole costituite da blocchi “Quando – Fai”, sono elaborati da MicroCode uno alla volta. Ad esempio, se vengono premuti i pulsanti A e B nello stesso momento (approssimativamente), MicroCode elaborerà o A prima di B o B prima di A.
Per un dato evento, MicroCode elabora l’evento eseguendo le regole per quel determinato evento nell’ordine in cui appaiono sulla pagina corrente. Per ogni regola, viene valutata se le condizioni sull’evento nella sezione “Quando” sono soddisfatte e, in caso affermativo, avviare la sezione “Fai” della regola.

Terminazione della regola

La maggior parte dei comandi nella sezione “Fai”, come ad esempio assegnare ad una variabile un valore, viene completata rapidamente; altri comandi invece richiedono un tempo di esecuzione proporzionale alla lunghezza della sequenza, come ad esempio la visualizzazione di una sequenza di icone, inoltre un’animazione o un suono, possono essere ripetuta più volte (o indefinitamente) utilizzando un blocco “ripeti” (che vedremo nelle prossime lezioni). Nel caso di un’animazione, una regola in esecuzione che utilizza lo schermo del micro:bit, verrà terminata se viene avviata una nuova regola che utilizza anche lo schermo del micro:bit.

Buon Making a tutti 🙂

MicroCode – Language – Lezione 1

Come sapete da anni utilizzo BBC micro:bit perché è uno strumento versatile ed utilizzabile in diversi ordini di scuola e permette di fare agevolmente Physical Computing.
L’architettura hardware e software di micro:bit è stata studiata soprattutto per renderla accessibile ed usabile anche agli studenti più piccoli della scuola primaria. Spesso però accade che i giovani studenti manifestano difficoltà nella lettura del testo o dei numeri utilizzati all’interno del Make Editor di micro:bit; per superare questo problema da qualche tempo è disponibile MicroCode che funziona con BBC micro:bit V2, le caratteristiche di questo editor sono:

  • Editor di codice e linguaggio di programmazione strutturato, basato su icone, adatto ai bambini
  • In tempo reale, il codice viene scaricato sul micro:bit ad ogni modifica
  • Navigazione basata sul cursore con tastiera (compatibile con l’accesso tramite switch), mouse, touch, supporto screen reader
  • Supporta accessori aggiuntivi (LED, servi, …) tramite Jacdac
  • L’editor è tradotto in oltre 20 lingue.

Durante i miei prossimi corsi sul Coding e Game Design, che partiranno da settembre prossimo indirizzati a docenti della scuola primaria, mostrerò l’utilizzo anche di MicroCode e come sempre consegnerò schede di lavoro utilizzabili con gli studenti in classe.

Come azione propedeutica desidero iniziare su queste pagine un corso gratuito per chi poi seguirà le mie azioni formative in modo da accelerare la fase di utilizzo dell’interfaccia di sviluppo per poi concentrarsi sulle attività pratiche.

Pubblicherò da oggi una serie di post brevi sul MicroCode programming language che riprendono quanto esposto sul sito ufficiale, a cui però farò qualche variazione, spero possa servire.

Vediamo come avviare il programma e campiamo la struttura del linguaggio di programmazione.

L’ambiente di sviluppo è totalmente online pertanto colleghiamoci a MicroCode

La schermata iniziale dettaglia la procedura di configurazione

  • Collegate il vostro micro:bit V2 al computer utilizzando il cavo USB. (micro:bit V1 non è supportato)
  • Clic su “Download MicroCode” e trasferitelo sul micro:bit

  • Aspettate il riavvio del micro:bit.
  • Selezionare “BBC micro:bit CMSIS-DAP” e premere su “Connetti” nella finestra di dialogo.

  • Usate l’editor per dare vita al micro:bit! 🙂
  • Il programma di default verrà immediatamente scaricato sul micro:bit ed eseguito e funzionerà anche se sconnettiamo il micro:bit dal computer e ad esso connettiamo un pacco batterie.

Il linguaggio MicroCode è strutturato in pagine, ogni pagina contiene una lista di regole, e ogni regola è composta da una sezione “When” (Quando) e una sezione “Do” (Fai), ciascuna di queste due sezioni ha una propria lista di blocchi di programmazione.

MicroCode supporta eventi, condizioni sugli eventi, sequenze, cicli, variabili e operazioni aritmetiche semplici (per ora solo l’addizione) su costanti e variabili. Vedremo più avanti una lista di esempi che sfrutta tutte queste funzioni.

Nella prossima lezione approfondiremo l’uso dell’interfaccia e del linguaggio di programmazione.

Buon Coding a tutti 🙂

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