BBC micro:bit – schede di lavoro

In occasione dell’evento Megacoder attività organizzata nell’ambito della settimana della Code Week Europea 2017, avevo progettato una serie di attività di Coding con micro:bit, indirizzate ad allievi di scuola media, la durata totale delle sperimentazioni è stata di circa 2 ore.
Per l’occasione avevo realizzato una serie di schede di lavoro (semplificate) tratte dalle lezioni introduttive pubblicate su questo sito. Condivido con voi i file PDF delle 8 schede di lavoro, le ultime due schede, la 7 e la 8 fanno uso di DotBot:bit.

Attualmente sto migliorando ed espandendo le schede di lavoro, appena pronte pubblico.

Spero possa essere utile.
Saluti.

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , , | Lascia un commento

BBC micro:bit Italy

Durante le attività di questo periodo di calma lavorativa le giornate sono occupate in sperimentazioni e correzioni compiti ed avevo dimenticato di segnalare su queste pagine un’iniziativa pensata per riunire all’interno di una community tutte le persone che per passione o per lavoro (insegnanti e studenti) amano usare BBC micro:bit.

Ho quindi pensato ad un gruppo Facebook: BBC micro:bit Italy

Sul mio cammino ho incontrato moltissimi amici che chiedono consigli o che hanno sviluppato attività laboratoriali splendide che fanno uso di questa scheda è quindi mi è sembrato naturale realizzare questo gruppo che potesse fare da collettore, da supporto a quanti desiderano incominciare a far didattica con questa splendida scheda.

In meno di 24 ore ben 141 iscritti, pian pianino ognuno sta condividendo appunti, risorse con spirito costruttivo, spero continui così.

Cosa prevedo accadrà nel gruppo.

  • L’idea di sviluppare uno starter kit di riferimento, una serie di risorse che servono a chi vuole incominciare con questa piattaforma
  • Condivisione di sperimentazioni
  • Consigli sull’uso di sensori ed attuatori collegabili al micro:bit
  • Eserciziari per studenti
  • Manuali di programmazione per JavaScript Blocks Editor, Python, C
  • Consiglio per acquisto materiali
  • … e molto altro

Al gruppo possono iscriversi tutti, insegnanti di ogni ordine e grado, studenti, genitori… l’importante è contribuire. Non preoccupatevi se ciò che scrivete è troppo semplice o troppo complicato, l’importante è realizzare una rete di conoscenze che possa supportarsi.

Come sempre la raccomandazione n. 1, le persone che opereranno in questo gruppo, primo tra tutti io  potremmo non essere veloci nel dare soluzione ai quesiti per mancanza di tempo o di competenze non ancora acquisite, quindi siate paziente e cresciamo insieme un passettino alla volta. 

Grazie e buon Coding a tutti

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , , | Lascia un commento

Programmare micro:bit con l’IDE Arduino

Come avrete notato in questi mesi sto sperimentando molto con micro:bit, però sul mio computer è sempre aperto l’IDE di Arduino per progetti in corso per i miei studenti, ovviamente mi sono chiesto se possibile programmare micro:bit con l’IDE Arduino e certamente questo è possibile.

Qualche settimana fa ho raccolto un po’ di informazioni da questi tre link:

da queste risorse sto prendendo spunto per realizzare un manuale più corposo in cui mostro come utilizzare diversi microcontrollori con l’IDE Arduino, così come fatto qualche settimana fa su questo sito con l’uso dell’STM 32 Nucleo con l’IDE di Arduino

Lascio a voi le sperimentazioni.

Qualche Avvertenze

Nel caso voi abbiate usato in precedenza MicroPython il software di gestione della Bluetooth viene cancellato, l’IDE Arduino assume la parte di gestione sia installata, pertanto per per poterla installare potete operare in due modi:

  • scaricate il file microbit-bluetooth.hex (il file che scaricate è compresso) e tramite il JavaScript Blocks Editor installatelo
  • Usate il Library Manager di Arduino e procedete come segue:

Sketch -> Include Library -> Manage Libraries…

Scrivete BLEPeripheral dentro il campo di ricerca

Selezionate la riga in cui compare BLEPeripheral e fate click sul pulsante Install.

Per i successivi passi seguite quanto specificato nei link ad inizio post, quello che vi consiglio perché semplice ed intuitivo è Micro:bit with Arduino di Adafruit.

Buona sperimentazione a tutti 🙂

 

Articoli simili:

Pubblicato in arduino, micro:bit | Contrassegnato , , | Lascia un commento

BBC micro:bit – Come aggiornare il firmware

Durante il recente corso svolto per Tecnica Della Scuola oltre a spiegare tecniche di programmazione e modalità di comunicazione tra più micro:bit, ho mostrato come effettuare alcune attività “advanced” come ad esempio l’aggiornamento del firmware del micro:bit.

Il firmware è il software che consente il funzionamento della vostra scheda, con qualche approssimazione può essere assimilato ad un sistema operativo in grado di far colloquiare l’elettronica con i programmi che vengono realizzati dall’utente, si interpone tra l’hardware e il software creato dall’utente.

Aggiornare il firmware permette l’utilizzo di nuove funzionalità messe a disposizione dagli sviluppatori.

Il firmware viene memorizzato all’interno di di un chip elettronico chiamato KL26, disposto a destra della scheda, quello rappresentato nell’immagine che segue e può essere aggiornato dall’utente.


Il firmware si occupa ad esempio di gestire la connessione USB e permettere il trasferimento dei programmi .hex dal computer alla scheda, i file trasferiti vengono poi eseguiti grazie al microcontrollore l’nRF51 il chip più grande disposto a sinistra della scheda, come indicato nell’immagine che segue:

Se volete sapere quale versione di firmware è presente sul vostro micro:bit, collegatelo al computer ed aprite con un editor di testi il file DETAILS.TXT

Alla voce Version troverete un numero che ne identifica la versione:

Aggiornamento

L’ultimo versione del firmware rilasciato potete trovarla direttamente a questo link:

https://www.mbed.com/en/platform/hardware/prototyping-production/daplink/daplink-on-kl26z/

dove trovate una spiegazione su come effettuare l’aggiornamento e che riprendo di seguito in questo post.

Il repository GitHub dell’ultima versione pubblicata la trovate a questo link:

https://github.com/mbedmicro/DAPLink/releases/tag/0243

Fate click direttamente su questo link per scaricare l’ultimo firmware (ad oggi) pubblicato:

https://mbed-media.mbed.com/filer_public/1d/fd/1dfd4113-9c05-43c3-9889-c021e1fb32ba/0243_kl26z_microbit_0x8000.hex

Sempre dallo stesso repository GitHub trovate la sezione in cui sono conservate tutte le versioni pubblicate:

https://github.com/ARMmbed/DAPLink/releases

Per poter aggiornare il firmware è mettere il vostro micro:bit in MAINTENANCE mode sarà sufficiente:

PASSO 1

Scollegare batteria esterna

PASSO 2

prima di connettere il micro:bit al computer con cavo USB premere il pulsante reset, mantenendo il pulsante reset premuto collegate il cavo USB al computer:

Premete il pulsante e connettere il cavo USB


PASSO 3

Rilasciate il pulsante USB, vedrete l’unità MAINTENANCE sul vostro computer,

a questo punto trascinate il firmware che avete scaricato dal link precedentemente indicato sull’unità MAINTENANCE:

Per uscire dal MAINTENANCE mode scollegate la scheda dal cavo USB senza premere il pulsante reset.

PASSO 4

Al successivo collegamento il micro:bit verrà riconosciuto normalmente.

Controllando il file DETAILS.TXT noterete che sarà indicata la nuova versione del Firmware

Buon Coding a tutti 🙂

 

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: clear screen

Clear screen

L’istruzione spegne tutti i LED sulla matrice di LED del micro:bit

function clearScreen(): void;

Esempio

Il codice che segue permette la visualizzazione di un disegno sul display e successivamente vengono spenti tutti i LED

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show string

Show string

Visualizza una stringa di testo che entra da sinistra verso destra del display

function showString(text: string, interval?: number): void;

Parametri

  • text è una stringa e può contenere lettere, numeri e e segni di interpunzione.
  • interval è un numero opzionale e rappresenta il numero di millisecondi per far muovere ad ogni passo, da sinistra a destra, valori alti faranno muovere la stringa molto lentamente.

Esempio

All’interno della variabile stringa viene memorizzato il testo “Ciao” (il blocco testo può essere si trova nel blocco delle istruzioni nominato con “Text”), con l’istruzione “show string” visualizziamo il contenuto della variabile “stringa”.

I caratteri ASCII supportati dal micro:bit sono quelli compresi nell’intervallo codici da 32  126, qualsiasi altro carattere fuori da questo intervallo viene visualizzato sulla matrice di LED con un punto interrogativo.

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show leds

Show leds

function showLeds(leds: string, interval?: number): void;

Parametri

  • leds è una stringa che controlla quali LED sono accesi e spenti.ù
  • interval è un numero opzionale che indica quanti millisecondi bisogna attendere prima che venga visualizzata la figura sul display. Se utilizzate la programmazione a blocchi, l’intervallo è fissato per default a 400 millisecondi.

Esempio 01

L’esempio che segue utilizza l’istruzione show led per visualizzare l’immagine sul display

Se visualizzate il programma in modalità JavaScript:

La presenza di un carattere # identifica che il LED corrispondente è acceso mentre la presenza di un . indica che il LED è spento.

Lo schermo del micro:bit è costituito da 25 LED disposti in una matrice 5×5.

Come indicare ogni LED

Se usate le coordinate (x, y) per specificare un singolo LED nella griglia allora x identifica la posizione orizzontale (0, 1, 2, 3, 4) e y identifica la posizione verticale (0, 1, 2, 3, 4).

Nella figura che segue x, y sono le coordinate che identificano i singoli LED:

(0,0) (1,0) (2,0) (3,0) (4,0)

(0,1) (1,1) (2,1) (3,1) (4,1)

(0,2) (1,2) (2,2) (3,2) (4,2)

(0,3) (1,3) (2,3) (3,3) (4,3)

(0,4) (1,4) (2,4) (3,4) (4,4)

da cui si evince che la coordinata (2, 2) identifica il centro della griglia di LED.

Accendere e spegnere i Led all’interno della matrice

Con l’istruzione plot, che vedremo in modo approfondito più avanti, abbiamo la possibilità di accendere uno specifico LED, mentre con il comando unploat spegniamo uno specifico LED

Il programma accendere il LED collocato nella prima colonna e prima riga, accende un secondo LED in seconda riga e prima colonna, questo stato dura 1 secondo, dopo di che il LED in prima riga prima colonna viene spento, questo stato rimane attivo per 1 secondo e successivamente viene spendo anche il secondo LED in seconda riga prima colonna viene spento.

Come chiedere al micro:bit quale LED è acceso o spento

Per verificare se un Led è accesso o spento è possibile usare la funzione point

Esempio

Realizziamo un programma che verifica se il LED (0, 0) risulta acceso, nel caso sia ON il LED alle coordinate (2, 0) viene acceso, nel caso sia OFF viene acceso il LED in posizione centrale (2, 2)

Il buffer del display

Il micro:bit mantiene in memoria lo stato di tutti i 25 LED (acceso/spento), la parte di memoria in cui viene memorizzato lo stato del display prende il nome di “display buffer”. Le funzioni di controllo dei singoli LED: plot/unplot/point accedono direttamente al buffer del display. Qualsiasi funzione che mostra un’immagine, un numero o una stringa sulla matrice di LED sovrascrivono completamente il buffer del display, quindi ad esempio scrivere un numero mediante l’istruzione “show number” e poi usare un’istruzione plot è diverso che usare prima l’istruzione plot e poi scrivere un numero mediante un’istruzione “show number

Esempio

Codice

Risultato

Codice

Risultato

Non si vedrà acceso il LED in posizione 0,0 perché la funzione “show number” sovrascrive tutto il display buffer.

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show icon

Show icon

Consente di visualizzare l’icona selezionata

function showIcon(icon: IconNames, interval = 600);
  • icon, identifica l’icona da visualizzare sul display
  • interval (opzionale), tempo di visualizzazione in millisecondi, impostato per default a 400 millisecondi.

Per la scelta dell’icona fare click sulla frecci a lato dell’icona all’interno dell’istruzione show icon.

Esempio 01

Il programma visualizza una faccia che ride e dopo un secondo un faccia triste.

Esempio 02

Il programma visualizza una faccia che ride per un secondo e successivamente un faccia triste per un secondo, il tutto si ripete indefinitamente grazie all’uso della funzione forever.

Esempio 03

Modifichiamo il blocco editando direttamente il JavaScript per realizziamo un programma che all’avvio visualizza un cuore per due secondi e poi viene cancellato il display.

Passo 1

Realizziamo con il Block editor un programma che visualizza un cuore e poi cancella il display

Passo 2

Vediamo ora come ottenere la stessa funzione con solo due linee di codice.
Selezionate la modalità JavaScript

Il codice corrispondente sarà:

Variate il codice come indicato nell’immagine che segue:

Passo 3

Selezionate la modalità Blocks, il codice corrispondente sarà il seguente:

Che avrà lo stesso effetto del codice iniziale.

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show number

Show Number

Visualizza un numero sulla matrice di LED. Il numero si sposterà a sinistra se contiene più di una cifra

function showNumber(value: number, interval?: number): void;

Parametri

  • value: numero
  • interval: valore numerico opzionale che indica il numero di millisecondi necessari per far traslare verso sinistra la colonna di LED che compone il numero, valori elevati faranno apparire il numero lentamente.

Esempio: visualizzare il numero 10

Esempio: realizziamo un programma che all’avvio visualizza immediatamente il numero 1967 e successivamente il numero 125 con passo di scorrimento verso sinistra di 1 secondo (1000 ms).

Esempio: visualizzare un numero memorizzato in una variabile

Esempio: All’avvio del micro:bit contare fino a 9 mantenendo una pausa di mezzo secondo tra un numero e il successivo

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento