Archivi categoria: micro:bit

Attività didattiche in costruzione: rilevatore di vibrazioni con BBC micro:bit

Nuove idee per il prossimo corso che realizzerò per Tecnica della Scuola sui laboratori STEAM con BBC micro:bit tra le nuove sperimentazioni proporrò:

il rilevatore di vibrazioni dovute al camminamento degli allievi nei corridoi della scuola.

Presto disponibile su questo sito la scheda didattica per la realizzazione dell’attività di laboratori e i file per la stampa 3D della struttura che regge il sensore e la bacchetta di legno.

Nell’attività sono previsti:

  • generazione dei grafici dell’oscillazione,
  • allarmi di vibrazione,
  • trasmissione remota dei dati rilevati,
  • datalogging.

Il tutto diventerà un’attività didattica per i miei studenti dell’ITIS Pininfarina di Moncalieri, percorso di Elettronica e Automazione.

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

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 🙂