Archivi categoria: tutorial

MicroCode – Language – Lezione 3

Sezione “QUANDO”

Il lato sinistro di una regola, la sezione “QUANDO“, inizia con un blocco di un evento che può essere inserito dalla finestra di dialogo che appare quando viene selezionato selezioni il blocco vuoto più a sinistra di una regola:

  • press pressione del pulsante, icona micro:bit, o pin
  • release rilascio del pulsante, icona micro:bit, o pin
  • move movimento dell’accelerometro, in vari modi
  • hear sentire un suono, sia forte che soffuso
  • cambio di temperatura variazione di temperatura, sia più calda che più fredda
  • ricezione radio ricezione via radio di un numero
  • inizio pagina inizia pagina si avvia solo quando la pagina viene avviata (o selezionata), con un ritardo opzionale
  • timer timer di un tempo
  • variabile (X,Y,Z) cambiato con un numero

Se la sezione “QUANDO” viene lasciata vuota, la regola verrà eseguita una sola volta quando la pagina viene avviata.

Eventi, parametri e condizioni

Un blocco evento può essere seguito:

  • da nessun blocco;
  • uno o più blocchi di parametro che determinano le condizioni sotto le quali l’esecuzione procederà dalla sezione “Quando” alla sezione “Fai”.

Ogni evento ha un parametro predefinito, che viene utilizzato quando non viene specificato alcun parametro. I valori predefiniti sono:

press, il valore predefinito del button A ; altre opzioni includono button B , micro:bit logo, pin 0 , pin 1 , pin 2 !
release, i valori predefiniti e le opzioni sono gli stessi di press

La finestra di dialogo sottostante mostra i parametri associati agli eventi di press/release del pulsante.

In funzione dell’evento verranno mostrati parametri diversi.

Condizioni sui valori degli eventi

Quando un evento ha un valore numerico (nel caso della ricezione di un messaggio radio o di un aggiornamento di una variabile), se tale valore è uguale alla somma dei valori (costanti e variabili) che seguono, allora l’esecuzione proseguirà alla sezione “Fai”. Ecco i cinque valori (punti) disponibili:

  • 1 dot:
  • 2 dot:
  • 3 dot:
  • 4 dot:
  • 5 dot:

Il timer è parametrizzato con vari tempi che possono anche essere sequenziati e sommati:

  • 1/4 di secondo:
  • 1 secondo:
  • 5 secondi:
  • ? secondi: – da 0 a 1 secondo, scelto casualmente

Nel caso del timer, la somma specifica la quantità di tempo con cui avviare il timer.

Sezione “Fai”

Il lato destro di una regola, la sezione “Fai”, inizia con uno dei blocchi di comando presenti nella lista che segue:

  • show image mostra una sequenza di animazione sullo schermo LED.
  • show number mostra numero visualizza un valore numerico tra 0 e 99
  • sound emoji riproduce una sequenza di emoji
  • play notes riproduce una sequenza di note (dalla scala di Do maggiore)
  • radio send invia un numero dato tramite la radio
  • radio set group prende un numero e garantisce che i messaggi radio da un diverso numero di gruppo vengano ignorati (il gruppo radio predefinito è 1, il che significa che tutti i micro:bit vedono tutti i messaggi)
  • switch page trasferisce il controllo dell’esecuzione a una pagina specifica
  • set variable inserisce un numero in una variabile (X, Y, Z); predefinito a 0 se non viene specificato nessun valore; inoltre imposta e

Un comando può essere seguito da vari blocchi di parametro, a seconda del tipo di comando.

Come per gli eventi, ogni comando ha un parametro predefinito, nel caso in cui non venga dato alcun blocco di parametro i parametri predefiniti sono:

  • screen mostra di default una faccia felice
  • sound emoji riproduce di default l’emoji giggle
  • radio invia il numero 1 come predefinito
  • switch passa di default alla pagina 1
  • get prende il valore da una variabile (X, Y, Z); se la variabile non era stata precedentemente impostata il valore predefinito è 0. Ciò vale anche per e

Buon Coding a tutti 🙂

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