Archivi tag: micro:bit

I miei corsi per Tecnica della Scuola: Laboratori STEAM con BBC micro:bit

Nuova edizione del corso sull’uso di BBC micro:bit. In questa edizione prenderò in considerazione sperimentazioni specifiche che fanno uso delle nuove funzionalità della versione 2 di BBC micro:bit in cui mostrerò nuove idee di progetti STEAM che ho realizzato in questi ultimi mesi anche di carattere IoT e del  datalogging.

Mostrerò inoltre una nuova versione di robot didattico specificatamente pensata per micro:bit che potrà essere realizzato in autonomia con materiale di facile reperibilità. Come per le edizioni passate l’obiettivo del corso è quello di fornire le competenze necessarie per realizzare in piena autonomia attività di Coding con BBC micro:bit tracciando con esercizi ed esempi specifici, per ogni ordine di scuola, un percorso immediatamente spendibile in classe.
Ne verrà dettagliata la programmazione e le possibilità di simulazione in diverse modalità in modo da poter sviluppare anche sperimentazioni in DDI. Durante il corso verranno rese disponibili tutte le risorse: programmi e schede di progetto.

Saranno svolti 4 incontri in webinar di 2 ore ciascuno per un totale di 8 ore di formazione nei seguenti giorni:

  • Martedì 11 maggio 2021 – Ore 17.00/19.00
  • Venerdì 14 maggio 2021 – Ore 17.00/19.00
  • Martedì 18 maggio 2021 – Ore 17.00/19.00
  • Martedì 1 giugno 2021 – Ore 17.00/19.00

Per maggiori informazioni sui contenuti del corso e le modalità di iscrizione seguire il link.

Conosciamo BBC micro:bit V2

E’ ormai da qualche mese disponibile sul mercato la versione 2 di BBC micro:bit e mi ero ripromesso di fare una breve recensione indicandone le differenze rispetto alla prima versione. Approfitto di questo breve periodo di pausa per indicare le nuove funzionalità in modo che siano note anche ai corsisti che stanno seguendo in queste settimane il mio corso sulla didattica laboratoriale. Ho preso a riferimento le informazioni che possono essere trovate sul sito microbit.org, trovate tutti i link in questo post.

La caratteristica più evidente di questa nuova versione è la presenza del microfono e dell’altoparlante integrati sulla scheda che permetteranno il rilevamento e la riproduzione di suoni senza la necessità di collegare un dispositivo esterno.

Interessantissima anche l’aggiunta del rilevamento tattile capacitivo sul logo disposto sulla scheda.

Aggiunta una modalità di risparmio energetico ed aumentata la potenza di calcolo.
La nuova versione del micro:bit funziona senza problemi con tutti i blocchi MakeCode e nell’ambiente di programmazione sono stati aggiunti nuovi blocchi specifici per la V2. Ciò accadrà anche nel caso in cui voi vogliate programmare in MicroPython. Quindi se avete prodotto del codice per la V1, questo funzionerà senza problemi anche con la V2.

Caratteristiche

  • Altoparlante integrato sulla scheda
  • Microfono MEMs con indicatore LED che ne indica il funzionamento
  • Logo capacitivo sensibile al tocco
  • Modalità sleep/off incorporata ciò vuol dire che la scheda può essere spenta con le batterie collegate
  • Regolatore di corrente in grado di fornire fino a 190mA di corrente ai componenti elettronici esterni collegati alla scheda

Miglioramenti

  • Connettore Edge dentellato, ciò rende più facile collegare clip a coccodrillo e filo conduttivo
  • Indicatore LED di alimentazione. Oltre all’indicatore di attività USB, un LED di alimentazione mostra se il micro: bit è acceso o spento
  • Antenna placcata oro, per identificare facilmente il componente radio/Bluetooth

Specifiche hardware
Una descrizione dettagliata sull’hardware può essere trovata al seguendo il link.

  • Target MCU, Nordic Semiconductor nRF52833 (Cortex-M4F a 64 MHz, Flash da 512 kB, RAM da 128 kB)
  • Interfaccia MCU: NXP KL27, 256 kB Flash (128 kB riservati per miglioramenti futuri), 32 kB RAM
  • Sensore di movimento: ST LSM303
  • Microfono MEMS: Knowles SPU0410LR5H-QB-7 MEMS
  • Consumo di corrente 300mA (fino a 190mA per l’elettronica collegata)

Comparazione caratteristiche tra la V1 e la V2

Fronte

Retro

Universal Editors & Universal Hex Files

Nella nuova versione del micro:bit gli utenti, in fase di programmazione con MakeCode o l’Editor Python, non dovranno in alcun modo selezionare la versione del micro:bit che dispongono, pertanto la procedura di programmazione e trasferimento resta la medesima della versione V1.
Gli ambienti di programmazione supporteranno il nuovo formato di file chiamato “universal hex” (esadecimale universale) che può essere eseguito su tutte versioni di micro:bit.
L’evidenza che state lavorando nel formato “universal hex” è dato dal fatto che un file .hex compilato avrà una dimensione di circa 1,8 Mb invece che di circa 700 KB.
Maggiori informazioni sul sul formato “universal hex” potete trovarle seguendo il link.

IMPORTANTE

Ma cosa accadrà ai vostri vecchi file .hex creati per la versione V1 se trasferiti sulla nuova versione V2?
I programmi così trasferiti non funzioneranno, il micro:bit visualizzerà un errore di compatibilità, ad es. 029. Dovrete aggiornare i file trascinandoli e rilasciandoli nell’editor del software in cui sono stati creati. Quindi prendete il vostro file .hex importatelo nell’editor e scaricatelo nuovamente, trasferitelo sul microbit V2 e tutto funzionerà, lo stesso file convertito funzionerà anche sulla versione V1.

Come utilizzare le nuove funzionalità?

L’altoparlante funziona nello stesso modo in cui ci si aspetterebbe quando si collegano le cuffie o un altoparlante esterno al micro:bit. Per impostazione predefinita, l’uscita audio sarà sia sull’altoparlante che sul connettore Edge.

Per quanto riguarda il microfono troverete un set di blocchi aggiuntivi in MakeCode e nuove funzioni in MicroPython da utilizzare.
La funzionalità touch sul logo funziona allo stesso modo della versione V1.

Il microfono avrà un set aggiuntivo di blocchi in MakeCode e oggetti in MicroPython, in modo da poter monitorare e rispondere al suono. Il tocco del logo è implementato nello stesso modo in cui si tocca un pin sul connettore Edge, ritroverete ad esempio in MakeCode nella sezione input la sottosezione: micro:bit (V2) in cui sarà disponibile anche l’istruzione “on logo”, ciò accade anche in MicroPython con funzioni specifiche.

Si noti che il logo è un sensore capacitivo, mentre per impostazione predefinita i pin 1, 2 e 3 sul connettore Edge sono di tipo resistivo.
Per accedere solo alle funzionalità della versione V2 (ad es. Per emettere il suono solo sull’altoparlante e non sul connettore Edge), sarà necessario aggiungere del codice specifico ai programmi.

Le funzioni Microfono e Logo touch si trovano nel menu Input, mentre le funzioni dell’altoparlante si trovano nel menu music.

Nuove istruzioni MakeCode

IDE di programmazione: Editor MakeCode

Microfono

Suono/altoparlante

Logo touch e pin mode

Nuove istruzioni – Python

IDE di programmazione: Editor Python

Buon Coding a tutti 🙂

BBC micro:bit – funzioni

Sto svolgendo in questi giorni il corso sulla didattica laboratoriale e nelle giornata di ieri ho svolto un approfondimento sull’uso delle funzioni con il MakeCode editor di micro:bit che rendo pubblico su questo sito.

NOTA. Gli esempi in questo post hanno il solo scopo di mostrare l’utilizzo delle funzioni (chiamata di una funzione, passaggio per valore, restituzione di un valore da una funzione, ecc…) e non quello di risolvere un specifico problema, pertanto gli esempi potrebbero essere realizzati in modalità sicuramente più efficiente.

Le funzioni con BBC micro:bit

Una funzione consente di creare una porzione di codice che possiamo riutilizzare più volte nel nostro programma, quindi invece di copiare lo stesso codice in molte sezioni del programma, possiamo semplicemente utilizzare un unico blocco funzione da utilizzare all’interno del nostro codice tutte le volte che ci necessita.

Una funzione è definita dal suo nome e dal corpo della funzione che ospita tutte le istruzioni.

La funzione ha un nome univoco e non può essere costituita da parole staccate tra loro. E’ utile assegnare alle funzioni nomi che specificano cosa fa la funzione, ad esempio “calcoloVolume”, “calcoloArea”, “distanzaOstacolo”, “impostaLed”, “displayOn”. Si consiglia inoltre di adottare una notazione camel case (testo a cammello), ovvero scrivere parole composte o frasi, come il nome di funzioni, unendo tutte le parole tra loro, ma lasciando le loro iniziali con lettera maiuscola, in questo modo viene meglio decodificato da un essere umano il significato del nome composto. E’ buona regola adottare una strategia di questo genere anche per il nome delle variabili.
La prima lettera della frase può essere maiuscola o minuscola, tendenzialmente si preferisce usare la lettera minuscola.

Il corpo della funzione è il codice all’interno del blocco funzione, quello che viene chiamato body.

Continua a leggere

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 🙂

I miei corsi per Tecnica della Scuola: Il Coding con il nuovo Scratch 3 per una didattica attiva – 3 edizione


Scratch 3: dallo storytelling all’interazione con il mondo reale.
Nuova edizione del corso su Scratch 3 che condurrò a partire dalla prossima settimana per 4 lezioni da due ore nelle seguenti date:

  • Lunedì 20 gennaio 2020 – Ore 17.00/19.00
  • Lunedì 27 gennaio 2020 – Ore 17.00/19.00
  • Mercoledì 29 gennaio 2020 – Ore 17.00/19.00
  • Venerdì 31 gennaio 2020 – Ore 17.00/19.00

Sempre numerose sono le richieste che fanno riferimento all’uso di BBC micro:bit e Lego Mindstorms EV3 con Scratch 3 pertanto mostrerò un numero superiori di attività didattiche laboratoriali che fanno uso di questi dispositivi. Tante le richieste in cui mi si chiede di mostrare attività di robotica da sviluppare con Scratch 3 ed alcune fanno esplicito riferimento alla costruzione di dinamiche di gara simili a quelle di ROB-O-COD, però sviluppando un percorso di Coding con Scratch 3 che conduce come fase conclusiva alla realizzazione di un contesto di gara simile a quello che viene svolto nella trasmissione di Rai Ragazzi, pertanto mostrerò come, dal mio punto di vista ciò possa essere realizzato a scuola.
Se siete curiosi vi rimando al link su Rai Play della stagione 1 della trasmissione. In queste settimana si stanno svolgendo le registrazioni della stagione 2 e come per la precedente edizione mi sto occupando della progettazione dei campi gara e del supporto tecnico in trasmissione.

Per maggiori informazioni sui contenuti del corso e sulle modalità di iscrizione vi rimando al sito di Tecnica della Scuola.