Home / Blog /

Microbit: cos’è e come si programma?

di Giuseppe Maggi

Hai mai sentito parlare di Maker? Probabilmente ti farà pensare a qualcosa di legato all’artigianato, ma in realtà è qualcosa di molto più ampio che si sta legando sempre più al mondo dell’Informatica. Indica – con i suoi derivati – chi si dedica alla programmazione di dispositivi elettronici tipicamente molto piccoli, dalle limitate dotazioni hardware e spesso piuttosto economici che possono essere utilizzati per controllare componenti elettriche o elettromeccaniche ad essi collegate. La definizione è piuttosto generica ma ciò non a caso: un maker può lavorare in qualsiasi ambito e con strumenti assolutamente variegati.

Un maker sviluppa su piccole piattaforme elettroniche che con il loro hardware costituiscono veri computer in miniatura. Questi strumenti prendono il nome di board e sono spesso accomunati da una caratteristica: la semplicità di programmazione. Ciò perché piattaforme di questo tipo devono essere adeguate ad informatici ma, ancora più spesso, ad elettronici, appassionati amatoriali ed in maniera crescente a studenti di ogni età. Per mettere d’accordo un’utenza così variegata, ognuna di queste piattaforme può essere programmata in vari modi: con linguaggi tradizionali come il C (vedi Arduino) con strumenti a blocchi dall’utilizzo del tutto visuale fino a versioni apposite di linguaggi maturi come Python.

In questa guida, ci concentriamo su una piattaforma molto duttile, pensata per l’approccio alla programmazione per studenti dai 7 anni in su: BBC microbit.

Cos’è microbit

La piattaforma microbit è stata ideata da BBC, la grande emittente britannica, per offrire un modo economico e facile per avviare tutti gli studenti del Regno Unito allo studio dell’Informatica. E’ un dispositivo molto piccolo (meno del palmo di una mano) e costa molto poco essendo disponibile alla vendita per circa 20 euro.

Nonostante ciò ha una struttura piuttosto articolata e diversi componenti visibili su un lato e sull’altro. Osserviamo bene la seguente figura.

microbit

Rappresenta le due facce di una piattaforma BBC microbit: in alto c’è la porzione frontale, in basso il retro.

Sulla porzione frontale notiamo:

  • Un display centrale, l’aspetto più evidente, costituito da 25 led. Si utilizza per l’output più immediato, quello visuale;
  • Due pulsanti che possono da usare come input, si trovano uno a destra e uno a sinistra del display e sono chiamati A e B;
  • Sul lato lungo inferiore, vediamo una striscia metallica con dei fori che viene utilizzata per fornire collegamenti a dispositivi elettrici mediante fili.

Sulla porzione posteriore si evidenzia la presenza di tutta la componentistica di comunicazione tra cui:

  • Il connettore al gruppo batterie: queste non sono montate sulla board ma vanno inserite in un apposito contenitore esterno;
  • Un pulsante di RESET per il ripristino del componente;
  • Una presa microUSB;
  • L’antenna per il collegamento Bluetooth Low Energy;
  • Il sensore di movimento.

A livello di risorse di elaborazione, BBC microbit ha a disposizione un processore a 32 bit con core ARM Cortex-M0, 256 KB di Flash ROM, 16 KB di RAM.

Quindi, come caratteristiche, microbit appare semplice, ma assolutamente completo. Il suo utilizzo può essere dei più vari.

» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «

Innanzitutto lo si può usare come essenziale piattaforma di programmazione. Con pochi step, si può realizzare un programma (con strumenti che vedremo a breve) tramite il proprio computer, caricarlo nella board grazie al collegamento USB e vederlo al lavoro. La disponibilità dei pulsanti A e B e del display di LED costituiscono già di per sé stessi basilari elementi di input e di output che non richiedono nell’immediato dispositivi esterni.

Esempi di questo genere potrebbero essere semplici giochi basati sul movimento di puntini, indovinelli e altre forme di interazione dove, oltre a concepire il programma, lo studente sarà chiamato a scegliere le forme di dialogo tra la board e l’utente che la userà.

In secondo luogo, si può abbinare alle capacità di programmazione suddette l’utilizzo di sensori e comunicazione bluetooth. In questo caso, si può creare velocemente un telecomando per dispositivi esterni dotati anch’essi di comunicazione Bluetooth. Non si avranno inizialmente molti comandi ma con l’utilizzo dei tasti A e B (la loro pressione congiunta viene rilevata come segnale a sé stante) si potrà decidere le direttive da inviare all’oggetto.

Come ulteriore forma si può pensare a programmi che scambino segnali elettrici attraverso i collegamenti e ciò permetterebbe di innestare un esemplare di microbit all’interno di un oggetto a cui sarebbe in grado di fornire intelligenza. Tale contesto potrebbe vedere la board collegata ad elettrodomestici, componenti di domotica e molto altro.

In generale, BBC microbit può essere considerato un nuovo contributo alla Internet of Things (IoT), quell’universo di oggetti che, dotati della capacità di rilevare dati e scambiarli, permettono a noi e alle nostre applicazioni di dialogare attraverso la Rete.

Programmare con microbit

Iniziare a lavorare con Microbit è davvero alla portata di tutti. Esiste un ambiente totalmente on-line ideato dalla Microsoft, gratuito e completo: MakeCode. Non appena invocata la pagina nel browser si apre la homepage che permette di scegliere tra creare un nuovo progetto o visionare esempi precedenti. Un progetto MakeCode si sviluppa in un ambiente come quello che appare in figura:

microbit makecode

Come si vede, è un pannello completo per tutto il ciclo di produzione di un’applicazione microbit:

  • Sulla sinistra c’è un emulatore che attivamente mostrerà i risultati del proprio programma, una volta completato;
  • La parte destra è dedicata allo sviluppo a blocchi. Con questa modalità si potrà creare dei programmi utilizzando non righe di codice bensì dei blocchi funzionali simboleggianti le possibili operazioni (cicli, input, output, segnali elettrici, costrutti condizionali e via dicendo). L’incastro tra i vari pezzi permetterà di dare spazio alla logica del programma che potrà essere provato, in primis, nell’emulatore e subito dopo scaricato nel dispositivo;
  • Al centro, vicino all’emulatore, c’è il menu completo dei blocchi che possono essere usati nella programmazione;
  • In basso a sinistra, è previsto un pulsante che avvia lo scaricamento del programma costruito.

Un ambiente così è ideale per chiunque: intuitivo e divertente per i bambini ma completo e funzionante per adulti che non amano scrivere righe di codice.

» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «

Comunque l’esistenza di MakeCode non deve far passare Microbit per una sorta di giocattolo. Anche in questa pagina, in alto, si nota uno switch che permette di passare dalla scrittura “a blocchi” all’editor Javascript. Una volta spostato su quest’ultima modalità, inizierà la conversione di ciò che già è stato fatto a blocchi in codice Javascript. Questo ha una doppia utilità: si può vedere in codice cosa rappresentano i blocchi imparandone meglio il valore e si può spostare il lavoro in un ambito più informatico per curare meglio i dettagli della logica.

Come abbiamo già detto, microbit dispone di una presa microUSB e con essa, una volta collegato al PC, si potrà passare il programma creato dal computer al dispositivo e vederlo funzionare all’istante.

Queste non sono tuttavia le uniche opzioni per programmare con microbit. Una soluzione sempre più interessante si dimostra il MicroPython. Basato su Python 3, è un linguaggio che offre moduli per scrivere programmi per i più diffusi microcontroller. Nel 2013 è nato il supporto MicroPython per microbit, ma già da tempo questo linguaggio era usato per le Pyboard, su cui è nato, Arduino e tante altre.

Conclusioni

Quindi si può considerare BBC microbit un’esperienza solo per bambini? Assolutamente no. I maker sono protagonisti del presente e lo saranno ancora di più del futuro: i libri di scuola dei ragazzi sono ormai pieni di esempi di coding con Scratch e programmazione a blocchi, Internet of Things mira ad inserire intelligenza in ogni oggetto e tanti di questi potrebbero essere animati proprio con una piattaforma piccola e compatta come BBC microbit. Inoltre abbiamo visto che i formalismi che impiega sono di assoluta universalità richiamando linguaggi importanti come Javascript e Python: quindi una programmazione di questo tipo completa alla perfezione una formazione professionale maturata in altri ambiti.

Iniziare costa pochissimo, se si vuole acquistare microbit, o addirittura niente se lo si vuole studiare direttamente on-line con MakeCode. Questo il primo grande passo per diventare un maker.

» VUOI IMPARARE A PROGRAMMARE? SCOPRI I NOSTRI CORSI ONLINE «