Introduzione al Micro:Bit

Micro:Bit cos’è?

E’ una basetta di sviluppo indirizzata soprattutto ai più giovani. Assomiglia molto ad Arduino per certi versi ma con delle semplificazioni e degli elementi decisamente interessanti per introdurre i giovani alla programmazione e soprattutto al coding.

Caratteristiche

La scheda contiene:

  • una matrice 5*5 ovvero 25 LED rossi che possono essere accesi con diversa 10 livelli di luminosità
  • un accelerometro che rileva l’accelerazione sui tre assi. Con esso è possibile rilevare diverse tipologie di movimento: scuotimento, la rotazione e la caduta libera e tre livelli di accelerazione (2g, 4g, 8g).
  • una bussola elettronica in grado di riconoscere l’orientamento del micro:bit rispetto al nord magnetico. Potrebbe fungere anche da rilevatore di metalli.
  • due bottoni per applicazioni utente e un classico bottone di reset
  • modulo Bluetooth per la connessione con altri dispositivi
  • sensore di temperatura con intervallo misurabile tra -25 °C 4 75 °C, con una risoluzione di 0,25 °C ed una accuratezza di +/- 4 °C (non precisissimo)
  • un connettore a 24 pin sul bordo più largo di colore dorato con 5 spazietti più larghi ai quali possono essere connessi morsetti a coccodrillo. I fori sono previsti per eventuali ancoraggi o fissaggi a vite, mentre l’intero bordo ricorda molto i moduli ram o le schede pci con il classico zoccolo dorato. Questo zoccolo è usabile come interfaccia di I/O per vari componenti digitali, analogici, touch, pwm, bus di comunicazione seriale I2C e SPI, tutti elementi usati da moltissimi dispositivi elettronici, già noti ai maker di Arduino e simili.
    I terminali 0,1,2 possono essere abilitati come sensori touch. I terminali GND e 3V, assolvono la funzione di terra e di alimentazione.

 Per quanto riguarda l’hardware di calcolo siamo di fronte al classico micro-controllore dalle prestazioni non certo esaltanti ma assolutamente adeguate per le esperienza che vogliamo realizzare. Abbiamo:

  • Processore: ARM Cortex-M0 32 bit processor a 16 Mhz
  • Flash ROM: 256KB
  • RAM: 16KB

Le prestazioni possono sembrare esigue ma sono in linea con le reali necessità di questa basetta che ci serve a fare piccole esperienze di coding senza aspettative particolarmente esigenti sui tempi di risposta della scheda. Quindi in termini di velocità è del tutto adeguata anche per contenere i costi! Se, per qualche motivo, avete bisogno di qualche spinta in più conservando fattore di forma e caratteristiche di sensori a bordo, potete dare un’occhiata a Webduino.

Potete acquistare Micro:bit in versione “bulk”, ovvero solo la schedina, oppure con un pratico starter kit a pochi euro in più dove troverete un cavetto microusb per collegarlo al pc, un cassettino per inserire due pile, anch’esse incluse, per alimentare la basetta anche se non direttamente collegata al pc.

Alimentazione

Per alimentare la nostra schedina o lasciamo il cavetto micro usb collegato al pc oppure usiamo il connettore per batterie a cui può essere collegato un cassettino con due pilo da 1,5V. Terza alternativa è usare due morsetti e i pin 3V/GND ma è una prassi più per applicazioni avanzate in quanto una tensione sbagliata potrebbe bruciare direttamente i chip della scheda.

Scambio dati

Sia l’alimentazione che lo scambio dati può essere facilmente realizzato con la porta micro usb, quella dei nostri comuni cellulari Android. Se colleghiamo la scheda col cavo ad un pc viene riconosciuta come una qualsivoglia memoria usb o scheda sd, sia su Windows che Linux. I file con i nostri programmi li sposteremo direttamente nella memoria in questione senza particolari connessioni o porte virtuali come sarà noto agli sviluppatori di Arduino

Come si programma

Esistono diversi modi di programmare la nostra scheda:

  • Microsoft Block Editor (una versione di Scratch della Microsoft online qui)
  • JavaScript
  • MicroPython (una versione di Python minimale sviluppata per micro-controllori)
  • C/C++ (decisamente più complesso, ad esempio con un compilatore online https://www.mbed.com)

Qualche esempio

Facciamo qualche esempio molto semplice per poter iniziare a prendere confidenza con questa basetta.

Per cominciare a scrivere applicazioni possiamo collegarci al sito https://microbit.org/ e cliccare sul menù in alto “Let’s Code” . Se vogliamo invece fare un giro ulteriore nei menù Ideas e Teach ci sono svariate risorse, tutorial in inglese. Nella finestra che ci si apre ci sono due modalità: la più semplice basata su Scratch visuale e quella più avanzata in Python. Per la versione Python vi consiglio caldamente di leggere il menù Reference che vi fornisce istruzioni sulla API e quindi i comandi che potete utilizzare. Per iniziare vi consiglio a prescindere scratch per prendere confidenza sia come docenti che alunni con le funzionalità e la gestione dei vari sensori ed eventi che possiamo usare sul nostro micro:bit. Una volta entrati in Let’s code, trovate un ambiente con i vostri progetti che rimangono in cache anche senza un account e alcuni tutorial su esercizietti semplici. Clicchiamo su “New project””

Vediamo subito un giochino simpatico da proporre agli alunni più giovani: indovina Testa o Croce con una moneta…a led. L’idea è quella che premendo un bottone sul nostro micro:bit, sullo schermo compaia un testa o croce in modo casuale, ad esempio stampando una lettera T o C. Potenziamo il nostro esercizio conteggiando quante volte escono i due simboli sul numero di lanci totali e stampiamolo sullo schermetto.

Per assemblare i nostri mattoncini colorati trasciniamoli dalla barra laterale e dai vari sottomenù. Come per Scratch, gli incastri sono determinati dalle forme tondeggianti piuttosto che trapezoidali o squadrate. Per cancellare un blocco selezionatelo direttamente e trascinatelo verso il menù a sinistra o usate il tasto destro per trovare la voce “Delete”. Provate!

Una volta completato il vostro programma, il simulatore sulla sinistra può già darvi una idea di come viene nella realtà. Potete usare i tasti schiacciandoli col mouse! Se siete soddisfatti, premete download e copiate il file hex che esce fuori nella memoria microbit  che avete attaccata al pc e provate dal vivo col tasto fisico.

Il codice completo del semplice testa o croce lo trovi ->  qui

La versione con l’uso delle variabili lo trovi ->  qui

Vi rimando ai prossimi post per trovare altri esempi che sfruttino gli altri sensori e proprietà della nostra basetta.

Ultima modifica 12 Settembre 2024