Archivi categoria: micro:bit

BBC micro:bit – Esercizio: Realizzare un timer per il lavaggio delle mani

In una situazione di didattica a distanza fare laboratorio può essere complicato, ma con un po’ di fantasia e l’aiuto degli studenti si può fare molto. Alcuni mesi fa avevo proposto ai miei allievi questa stessa esercitazione però realizzata con Arduino: Arduino – Esercizio: Realizzare un timer per il lavaggio delle mani.

Ho realizzato la medesima esercitazione questa volta con BBC micro:bit in tre modalità diverse che vi condivido, nel codice trovate anche i commenti che spiegano sommariamente il codice. Ovviamente al sistema potrebbe essere aggiunto:

  • allarme sonoro
  • servomotore su cui inserire indice rotante, così come fatto per la sperimentazione con Arduino.

Spero che questa proposta possa essere utile anche ad altri.

Versione 1 (link al codice sorgente)

Versione 2 (link al codice sorgente)

Versione 3 (link al codice sorgente)

Buon making a tutti.

Didattica laboratoriale a distanza: controllare la postura con BBC micro:bit quando siamo seduti al computer


Durante il recente incontro online con il FabLab di Belluno abbiamo parlato di didattica laboratoriale a distanza realizzata con diversi dispositivi elettronici e kit di sperimentazioni che ho realizzato. Siamo entrati anche nello specifico dell’utilizzo di alcune tecnologie come BBC micro:bit ed ho mostrato alcune esercitazioni realizzabili online in didattica a distanza.

Come spesso accade mi piace realizzare con gli studenti sperimentazioni che hanno attinenza con il loro vivere quotidiano in modo da fornire un senso fisico al loro studio teorico. Lavorare continuamente per molte ore davanti al computer è un’azione che molte persone stanno vivendo e gli effetti negativi di questo continuo lavorare online si riflettono sulla nostra salute, occhi e schiena doloranti sono ormai la norma. Ovviamente ginnastica e tempi precisi di lavoro aiutano tantissimo, ma occupandomi di didattica analizzare questo aspetto può rendere la lezione online interessante.

Una semplicissima esercitazione che si può condurre a distanza è quella che consente di controllare l’esatta postura di una persona seduta alla scrivania, viene controllato se si inarca in avanti la schiena.

Per poter realizzare questo sistema si utilizza il sensore di luce del micro:bit, sensore realizzato con la matrice di LED disposti sulla scheda.

Ponendo il micro:bit sullo schienale della sedia, quando siamo seduti correttamente, copriremo con la schiena il micro:bit, non permettendo di rilevare fonti di luce, non appena ci si flette in avanti il sensore rileverà la luce e quindi verrà emesso un un segnale di allarme.

Questo stessa sperimentazione è stata realizzata anche con Arduino ed una fotoresistenza, in un prossimo post pubblicherà l’esercitazione.

Di seguito due esempi, il primo semplice, visualizza un messaggio che indica l’avvio del sistema, ed emette un segnale sonoro nel caso in cui si inarchi la schiena. Il secondo esempio aggiunge un pulsante di avvio sistema, l’impostazione della sensibilità del sistema (da realizzare manualmente) ed ed aggiunge l’utilizzo di funzioni esterne, motivo che mi aiuta a spiegare la chiamata di funzioni.

Ovviamente in questa situazione si utilizza il suono emesso dal computer, ma con alcune piccole modifiche è possibile aggiungere un buzzer esterno.

Versione 1 (link al codice sorgente)

Versione 2 (link al codice sorgente)

Buon Making a tutti 🙂

Gestire con micro:bit un display 1602 I2C

Ho realizzato questo tutorial come risposta ad un quesito che mi è stato posto da un’amica collega sull’utilizzo del display 1602 I2C comandato da micro:bit.
Per quanto riguarda la descrizione tecnica del display vi rimando al post su questo sito:

Utilizzo dell’LCD 16×2 Hitachi HD44780 1602 con modulo I2C PCF8574T

Per un utilizzo con micro:bit è sufficiente conoscere il tipo esatto di integrato I2C che gestisce la comunicazione tra display e micro:bit nella modalità indicata da questo tutorial.

Aprite un nuovo progetto dall’ambiente grafico di programmazione di micro:bit.
Aggiungiamo l’estensione che consente la gestione di un display 16×2 I2C, per far ciò selezionate “+Extensions”:

nel campo di ricerca inserite: I2C

dovreste ottenere il seguente risultato:

Selezionate l’estensione indicata nell’immagine:

All’interno dei blocchi disponibili ritroverete quelli che fanno riferimento al display:

Ogni dispositivo I2C dispone di un indirizzo, un codice a cui bisogna far riferimento in fase di programmazione e per quanto riguarda la scheda di comunicazione I2C disposta sul retro del display troverete due tipi di dispositivi con indirizzo differenti l’uno dall’altro. La differenza consiste nel tipo di circuito integrato che gestisce la comunicazione I2C:

  • PCF8574 > indirizzo 39
  • PCF8574A > indirizzo 63

L’indirizzo dovrà essere inserito all’interno di un apposito blocco come indicato di seguito.

Per sapere quale indirizzo usare potete leggere la sigla dell’integrato, come indicato nell’immagine che segue:

nel mio caso l’indirizzo da inserire sarà il 39.

L’altro metodo consiste nel sostituire, nel codice che segue, gli indirizzi sopra indicati in modo da individuare il numero corretto che permette la visualizzazione del testo sul  display.

Per il collegamento del circuito avete necessità di alimentare il display a 5V, in commercio esistono degli edge connector (connettore per collegare micro:bit alla breadboard) che prelevano dalla USB i 5 volt, nel mio caso questa funzionalità non è fornita, l’unica tensione disponibile è di 3,3V non sufficienti per alimentare il display.

Se anche voi siete nelle medesime condizioni allora alimenterete via USB il micro:bit mentre il display dovrà essere alimentato esternamente mediante una tensione di 5V. Se agite in questo modo ricordate che la terra (GND) dovrà essere la medesima (collegate insieme) per entrambi i dispositivi. Fate riferimento allo schema di seguito indicato:

Sul micro:bit il pin 20 corrisponde all’SDA e il pin 19 all’SCL, pin che avranno una corrispondenza con il display. Per le mie sperimentazioni dispongo di un cavo USB modificato per poter inserire su breadboard la tensione di 5V proveniente dalla USB del computer.

Realizzeremo un semplice programma che consente di visualizzare su due righe il testo:

BBC micro:bit
Italy timer

dove timer è il numero di secondi trascorsi dall’avvio del programma.

L’inserimento della prima istruzione provocherà la visualizzazione del display I2C:

L’istruzione “LCD initialize with Address 39” assegna al display l’indirizzo 39

L’istruzione “show string” mostrerà sul display il testo incluso nel primo campo: “BBC micro:bit” che verrà scritto a partire dalla colonna 0 e riga 0 (in prima riga).

La seconda “show string” mostrerà sul display il testo “Italy” alla colonna 0 e riga 1 (in seconda riga):

Definiamo una nuova variabile che andremo successivamente ad incrementare:

assegnamo alla variabile il nome: contatore

All’interno della funzione “forever” inserire l’istruzione “change” per incrementare di una unità la variabile “contatore”.

Con l’istruzione “show number” visualizziamo sul display un numero, inserendo nel primo campo la variabile “contatore” il numero visualizzato sarà quello memorizzato nella variabile contatore:

La visualizzazione del numero contenuto in “contatore” avverrà in colonna 6 riga 1:

Aggiungendo una pausa di 1 secondo l’incremento del numero che appare sul display sarà di 1 secondo:

Questo il risultato:

Buon Coding a tutti 🙂

BBC micro:bit holder per 10 schede

Puntata n. 2 – Cronache estive
Pulizie di inizio estate

La scrivania straborda di appunti, relazioni, stampe 3D. La pila di vecchi compiti ed esercizi sovrastata dall’oscilloscopio usato come fermacarta. Afferro la pila di appunti e sento una fitta alla mano, come se 10 vespe si fossero accanite su di me, ovviamente nulla di così pericoloso, solamente i piedini appuntiti di un serie di circuiti integrati della famiglia 74XX riposti in una busta di carta e per qualche assurdo motivo collocati all’interno dei compiti…. maledette porte logiche! 🙂

Basta! Si svuota l’intero studio e si fa ordine!
La buona volontà viene minata dal figlio, che di fianco alla mia scrivania, occupato nella preparazione dell’orale di Fisica 1 al Politecnico, si lascia sfuggire sottovoce: “si si ci credo proprio”,

i figli “so piezz e core”.

Procediamo con ordine,
ho individuato la scatola che contiene i kit micro:bit si trova ancora nell’ingresso di casa nella medesima posizione lasciata più di 10 gg fa dopo l’ultima lezione che ho svolto presso una scuola di Torino.

Micro:bit in disordine, cavi usb sparpagliati, no! No non è modo!

Se Giovanna (moglie) rientra e la trova ancora li mi costringe a dare il bianco in tutta la casa.

Ma che bello sarebbe se le schede fossero tutte riposte ordinatamente allineate nella valigetta,
ecco che il “diavoletto perditempo” sta prendendo il sopravvento…
lo sapevo! Lo sapevo!

Quasi quasi mi invento qualcosa in 5 minuti per sistemare le mie schede.

Seduto alla scrivania, in compagnia di un bicchiere di acqua e limone con ghiaccio, incomincio a disegnare,
da qualche parte bisogna pur incominciare
e poi avrò il diritto di un momento di pausa?

Il diavoletto perditempo ha vinto! 🙂

Figlio: papàaaaa che stai a fà!
Io: pensa al tuo esame! Io mi sto rilassando!
Figlio: ma non avevi appena incominciato a mettere ordine?

e dopo 5 minuti di pausa, iterati 4 volte, ho generato questo semplice supporto per 10 schede micro:bit che condivido con voi su Thingiverse.

Ora vado a metter ordine 🙂

Buon Making a tutti.

BBC micro:bit: usare WebUSB

Una delle operazioni che ritengo più noiose quando si programma con micro:bit è quella del trasferimento del programma sulla scheda che prevede: il download del programma sul proprio PC, la connessione della scheda al PC ed il trasferimento sulla scheda.

Come molti utenti Windows sapranno, da qualche mese è possibile utilizzare una versione locale sul proprio PC dell’IDE di Programmazione, ciò però non è possibile per gli utenti MacOS e Linux.

Ne avevo dato notizia qualche tempo fa: BBC micro:bit – Disponibile Javascript Blocks in versione standalone per Windows 10

Esiste un’altra modalità che permette di accelerare le operazioni di download ed esecuzione del programma sulla scheda reale, è quella che fa uso della funzionalità WebUSB utilizzabile su qualsiasi sistema operativo che sia dotato dell’ultima versione di Chrome: Chrome 65+ per Android, Chrome OS, Linux, macOS e Windows 10.

E’ indispensabile inoltre che sul micro:bit sia presente una versione del firmware aggiornata, uguale o superiore alla versione 249.

Trovate indicazioni sul sito di riferimento: Updating your micro:bit firmware

In un mio precedente post avevo descritto la procedura di aggiornamento del firmware: BBC micro:bit – Come aggiornare il firmware

Nel momento in cui scrivo l’ultima versione disponibile è la 253

Procedura per utilizzare WebUSB

Passo 1

Connettere il micro:bit al vostro computer attraverso un cavo microUSB.

Passo 2

Aprire un nuovo progetto.

Passo 3

Aprire il menù “More…” collocato in alto a destra, identificato dall’icona di un ingranaggio.

Passo 4

Selezionate la funzione “Pair device”.

Si aprirà una finestra, fate click sul pulsante “Pair device”:

Passo 5

Selezionate BBC micro:bit CMSIS-DAP o DAPLink CMSIS-DAP dalla lista.

Passo 6

Fate click su “Connect”

Avrete percezione che il pairing ha avuto esito positivo quando verrà visualizzato il messaggio: “Device paired! Try downloading now.”

Passo 7

Per eseguire il programma sulla scheda reale sarà sufficiente fare click sull’icona “Download” che effettuerà direttamente il download sulla scheda ed eseguirà immediatamente il programma.

Una grande comodità che vi invito ad utilizzare.

Buon Coding a tutti 🙂