Archivi tag: physical computing

MicroCode – Language – Lezione 4

Editor delle risorse

Sono disponibili due editor, uno che permette la creazione di loghi 5×5 ed uno per la creazione di semplici melodie.

Editor icone LED

L’editor di icone LED permette di selezionare quali LED sono accesi o spenti per ogni  fotogramma di un’animazione. E’ possibile continuare ad aggiungere icone LED in una sequenza (l’editor farà una copia dell’ultima immagine realizzata):

Editor di melodie

L’editor di melodie ti permette di comporre una sequenza di quattro note, dove ogni nota può essere C, D, E, F o G:

Gestire valori numerici

Per i comandi che prevedono un valore numerico come: radio send, imposta variabile), sono disponibili vari blocchi:

  •  constant values 1, 2, 3, 4 e 5 punti
  •  values of variables X, Y e Z
  •  value of the radio receive event , disponibile solo se la sezione WHEN (QUANDO) ha un evento ricezione radio
  • value of the temperature sensor , sempre disponibile
  • random number generator un dado che fornisce in modo predefinito un numero intero casuale tra 1 e 5 (estremi inclusi).

loops

repeat

Il blocco repeat può essere aggiunta ad una serie di comandi per ripetere l’intera sezione DO. Il blocco valore, dopo repeat, determinano il numero di iterazioni. Se non viene fornito un valore, la ripetizione viene eseguita all’infinito.

WHEN: premi il logo micro:bit, DO: viene visualizzato il logo happy e il logo serio sul display e la visualizzazione dei due loghi viene mostrata per tre volte (la sequenza loghi è seguita dal repeat e dal blocco tre puntini).

Buon Coding a tutti 🙂

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 🙂

Usiamo CodeBug nella didattica

La ricerca di strategie che possano essere adattabili in diversi contesti didattici è un’attività che mi coinvolge parecchio, soprattutto se riguardano l’ampliamento delle competenze digitali degli studenti. Tra queste ricerche da tempo osservo e da un paio di giorni uso CodeBug una soluzione credo interessante per gli allievi più giovani.

CodeBug fornisce un modo divertente e coinvolgente per costruire dispositivi interattivi. La curva di apprendimento non è assolutamente ripida, nessuna barriera dovuta a difficoltà tecnologiche, elettronica ed informatica, per questo motivo risulta perfetto come strumento per accompagnare lo studente in un viaggio assolutamente creativo che introduce, anche per i più piccoli studenti (elementari e medie), nel mondo dell’elettronica e dell’informatica. Il design poi lo rende particolarmente attraente e flessibile e accenderà sicuramente la fantasia dei vostri allievi integrandolo in molteplici attività che si conducono a scuola.
CodeBug rende physical computing e l’elettronica finalmente accessibile a tutti. Come avrete modo di verificare CodeBug permette di avere, tramite la matrice LED che costituisce l’output visivo, le operazioni che si vanno a programmare, ma con esso si potrà anche comandare dispositivi esterni in modo molto semplice così come accade ad esempio con MakeyMakey di cui ho parlato diffusamente in precedenti articoli.

Ma perché così tanto desiderio di parlare di questa scheda elettronica?
Come dicevo all’inizio di questo post: semplice sperimentazione per implementare percorsi didattici alternativi.

Tempo fa avevo seguito con attenzione lo sviluppo di questo progetto e la raccolta fondi su Kickstarter, i fondatori di CodeBug sono maker ma soprattutto insegnanti e quindi attenti agli aspetti educativi, inoltre questa tecnologia, così come accade per Raspberry Pi, MicroBit, ma anche Arduino sono soluzioni a basso costo ed integrabili facilmente e proficuamente nella nostra scuola.
Inoltre vengono diffusamente utilizzati nelle scuole inglesi, ne ho letto le pratiche che ho trovato interessanti, ma ne ho la riprova dalle esperienze vissute in prima persona dall’amico di sempre Paolo che due anni fa decise di cambiare vita e lui con moglie e quattro figli di età: 8, 10, 14, 16 si trasferirono in Inghilterra a Camborne.

Paolo puntualmente mi aggiorna sugli aiuti che la scuola pubblica inglese offre soprattutto a chi si trasferisce in Inghilterra, sulle metodologie didattiche, sulle tecnologie ma soprattutto su quanto ai figli piace andare a scuola! 🙂 Ed io non posso che esserne felice 🙂
Paolo mi conferma nella scuola che frequentano i figli, un’attenzione particolare alle competenze digitali, ma anche valorizzazione delle potenzialità del singolo.

… ma torniamo all’oggetto di questo breve articolo: CodeBug

Parto oggi con la sperimentazione di CodeBug con mia figlia 🙂

Il metodo che disegnerò lo farò diventare una pratica che sperimenterò con alcuni allievi, soprattutto con coloro che hanno di necessità specifiche e questa pratica la mostrerò durante i corsi per docenti che terrò nelle prossime settimane.

Vediamo nel dettaglio cos’è e come si usa CodeBug

CodeBug è una scheda elettronica che ha le fattezze di un piccolo insetto un display di 25 LED e due pulsanti. Non è presente la Bluetooth ma ha un bus di espansione che supporta I2C, SPI e interfacce UART. Dispone di sei connettori che permettono di realizzare circuiti volanti. E’ possibile il collegamento direttamente alla GPIO del Raspberry Pi e programmato in python3 e quindi espandendone notevolmente la sua possibile applicazione.
Il costo contenuto, ho preso la scheda su element14 per 17,53 €

Per essere programmato Codebug deve essere collegato a un computer tramite la porta USB e la scrittura dei programmi avviene attraverso un’interfaccia web mediante un linguaggio visuale a blocchi che ricorda per alcuni aspetti Scratch. Per la programmazione potrete utilizzare qualsiasi computer con qualsiasi sistema operativo purché dotato di browser e connessione internet in quanto l’IDE di programmazione è in cloud. Per far si che i programmi vengano eseguiti in autonomia, senza la necessità di prelevare l’alimentazione dalla porta USB è possibile utilizzare una piccola batteria 2032 che ne permette il funzionamento indipendente.

Il video che segue mostra come sia semplicissimo incominciare ad utilizzare CodeBug:

Ma vediamo nella pratica di cosa si tratta.

codebug01

codebug02

codebug03

codebug04

codebug13

Passo 1

Prende il cavo micro USB in dotazione CodeBug

codebug04b

Passo 2

visitate il sito http://www.codebug.org.uk/gettingstarted/ e seguite le istruzioni, così come indicate anche su questo sito, per creare il vostro primo programma CodeBug poi fate click sul pulsante download

codebug05

Passo 3

Scrivete il programma

codebug06

codebug07

Passo 4

Effettuare il download del programma.

codebug08

Durante il download vi comparirà una finestra riepilogativa che mostra i passi da eseguire per il caricamento del programma su CodeBug

codebug09

Tenere premuto il pulsante A mentre collegate il cavo USB al computer e fino a quando la spia nell’angolo sinistro della matrice di led di CodeBug non incomincia a lampeggiare, ciò indica che il dispositivo è pronto per ricevere il vostro programma.

codebug09b

Passo 5

CodeBug verrà visualizzato sul vostro computer come unità USB.
Trascinate il programma all’interno di CodeBug.

codebug10

codebug11

codebug12

Passo 6

Quando il programma è stato trasferito in CodeBug il led più vicino al pulsante B sia accenderà.
Premete il pulsante B per avviare il programma.

codebug12a

codebug12b

Bene!
Nelle prossime puntate dettagli sull’uso dei piedini e ulteriori esempi.

Grazie per aver letto questo post 🙂