Archivi categoria: micro:bit

L’ITIS Pininfarina alla 6° edizione del Festival dell’Innovazione e della Scienza.

L’edizione del Festival dell’Innovazione e della Scienza, che si svolge dal 14 al 21 di ottobre ha come focus: “pensa alla salute”.

Il calendario ricco ed articolato testimonia come la rassegna sia ormai diventata una delle più importanti del territorio nazionale a livello di divulgazione scientifica. Il record di presenze dello scorso anno testimonia come il Festival sia un vero e proprio motore di promozione del territorio. L’edizione 2018 consolida e rafforza le collaborazioni strette in area metropolitana rendendo protagonisti del Festival i comuni di Torino, Caselle Torinese, Castiglione Torinese, Collegno, Grugliasco, Leinì, Moncalieri, Nichelino, Rivoli e San Mauro Torinese.
Dal 14 al 21 ottobre, nella città di Settimo Torinese e nei principali luoghi di aggregazione culturale degli altri comuni coinvolti andrà in scena un programma ricchissimo di incontri, caffè scientifici, eventi, exhibit e laboratori finalizzati ad affrontare e valorizzare a tutto tondo le tematiche e i trend più attuali relativi al tema della salute. Dal corpo all’ambiente, dall’alimentazione alla medicina senza dimenticare lo sport, la prevenzione e il benessere della persona.

Anche quest’anno l’ITIS Pininfarina parteciperà al festival nella giornata del 20 di ottobre con attività condotte da un gruppo di allievi di ogni specializzazione dell’istituto che saranno tutor per gli studenti di scuola media.
Io e l’amico Stefano Mercurio abbiamo la fortuna di essere gli insegnanti degli studenti del Pininfarina e coordineremo le attività.

I laboratori svolti dai nostri studenti metteranno in evidenza come la scuola possa diventare un laboratorio aperto, in cui la creatività dei singoli allievi possa esprimersi, un luogo in cui l’aggregazione e il vivere bene insieme favorisce l’apprendimento e la voglia di essere cittadini attivi.

Luogo

BIBLIOTECA ARCHIMEDE
Piazza Campidoglio 50

Settimo Torinese

Il programma

Due attività di Coding

Attività 1

Mattina dalle 10 alle 12
Titolo: Arduino primi circuiti
Descrizione: Gli studenti insegnano ai bambini a realizzare semplici circuiti con Arduino

Attività 2

Pomeriggio dalle 14 alle 16,30
Titolo: Coding a scuola con BBC micro:bit
Descrizione: Attività di Coding e Making con BBC micro:bit, un piccolo computer (4×5 cm), la piattaforma è ideale per lo sviluppo di attività di Coding con forte interazioni con il mondo reale.

All’interno dell’attività 2 sono previste due azioni

Attività 1: Coding con micro:bit e gare robotiche di caccia al tesore e sumo.
Attività 2: Montaggio ed esposizione di robot e sistemi di automazione realizzati con Arduino. Gare robotiche sumo.

La partecipazione  è gratuita ed è possibile prenotarsi fino ad esaurimento posti attraverso il form allegato.

Vi aspettiamo 🙂

MicroPython – Python per microcontrollori – usarlo su BBC micro:bit – lezione 1

Da diverso tempo mi sto occupando di didattica con BBC micro:bit, una splendida scheda elettronica progettata appositamente per fare Coding a scuola, ben si adatta per studenti di scuola elementare, media e primi anni delle superiori. Su questo sito come saprete ho raccolto in una sezione specifica lezioni e sperimentazioni. Recentemente è stato aggiunto a Scratch, come segnalato in qualche tempo fa, il supporto a micro:bit quindi a livello didattico si potrebbero implementare percorsi interessanti che partono da Scratch, passano per JavaScript Blocks Editor per poi giungere a MicroPython.

Dal mio punto di vista MicroPython è il trampolino di lancio che mi permetterà di aggiungere sperimentazioni di automazione con microcontrollori, un modo naturale per realizzare continuità dal secondo anno dell’ITIS al terzo/quarto anno poi. Ovviamente non solo MicroPython, tanto C anche con Arduino, ma è essenziale per me aggiungere anche questa competenza.

MicroPython è una reinterpretazione di Python 3 per microcontrollori e sistemi embedded, inoltre Python è uno dei linguaggi di programmazione più belli, ottimo per la didattica ed averlo anche su sistemi elettronici rende incredibilmente divertente ed efficiente lo sviluppo di sistemi di controllo.

Per seguire queste brevi lezioni non bisogna essere professionisti nella programmazione di Python (anche io non programmo spesso in questo linguaggio) il percorso parte da un livello 0. Il mio obiettivo è quello di fornire uno strumento che poi invogli alla sperimentazione.

La documentazione è pensata per studenti ed insegnanti di ogni ordine e grado.

MicroPython non vuol dire solo micro:bit ma anche PyBoard, ESP8266/ESP 32 e molto altro.

Pertanto ho pensato di realizzare, nel limite del tempo didattico che posso dedicare a queste piattaforme un corso introduttivo, didascalico e spero semplice. Ciò che scriverò sarà indirizzato all’uso di micro:bit, ma con qualche impostazione iniziale, tutto si adatta benissimo anche alle altre piattaforme.

Da dove incominciare?

Nei link indicati sopra trovate i riferimenti essenziali, ma un libro fondamentale è: Programming with MicroPython – by Nicholas Tollervey and pyboard lite il link rimanda ad amazon.it, l’acquisto può essere fatto anche con la 18app o con la carta del docente.

Tutto il percorso si basa sull’ottimo lavoro realizzato da Mike Rowbitt con First Steps with MicroPython ne ho fatto in parte una traduzione ed in parte ho aggiunto altri argomenti ed esercizi.

Per essere informati sulle nuove versioni del manuale in lingua inglese sviluppato da Mike Rowbitt potete iscrivervi alla mailing list: microbit@python.org
(https://mail.python.org/mailman/listinfo/microbit).

Le mie lezioni sono in costruzione, conto di pubblicare almeno un paio di guide alla settimana in modo che per chi vorrà potrà prendere questi appunti reinterpretarli secondo le proprie necessità e realizzare un percorso nella seconda parte dell’anno scolastico.

I progetti e gli esercizi sviluppati in MicroPython su BBC micro:bit fanno uso di:

Mu – un semplice editor di codice, credo che sia il modo più semplice per incominciare a programmare in MicroPython su BBC micro:bit.

Vi invito quindi a scaricare l’editor “mu” per poter lavorare con le lezioni proposte.

Tutte le istruzioni per il download e l’installazione potete trovarle sul sito di riferimento, sono ben fatte e di facile comprensione.

Mu funziona con Windows, OSX and Linux (anche Raspberry Pi).

L’ultima versione di Mu vi permette di selezionare mediante il pulsante “Modes” la modalità di programmazione in funzione della piattaforma: Adafruit CircuitPython, BBC micro:bit, Pygame Zero, Python 3.

Una volta installato Mu selezionate il modo micro:bit, collegate il vostro micro:bit al computer tramite un cavo USB.

Il processo di scrittura è upload su micro:bit richiede pochi passaggi:

  • scrivete il vostro script nella finestra dell’editor
  • fate click sul pulsante “Flash” per trasferire il programma sul micro:bit.
  • se il trasferimento non avviene, assicurati che il vostro micro:bit appaia come periferica USB nel vostro file system.

Faremo queste operazioni tra breve scrivendo un semplicissimo programma.

Prima di andare oltre un richiamo sulle caratteristiche del micro:bit riprese dal corso introduttivo che trovate su questo sito.

La scheda BBC micro:bit è costituita da:

  • 25 LED rossi che possono essere utilizzati per comporre un testo o una icona stilizzata.
  • Due pulsanti programmabili (A e B) che possono essere utilizzati per dire a micro:bit quando si avvia o si interrompe un’operazione.
  • Un sensore di temperatura per rilevare la temperatura ambiente.
  • Un sensore di luce per rilevare le variazioni di luminosità ambientale.
  • Un accelerometro per rilevare un movimento.
  • Un magnetometro per rilevare la direzione del campo magnetico.
  • Connessione Radio e Bluetooth Low Energy per interagire con altri device.

Il primo programma – “Hello World!”

E’ possibile pensare al Coding con micro:bit come ad un ciclo costituito fa 4 fasi:

Il modo tradizionale per iniziare a programmare in una nuova lingua di programmazione è quello di far dire al computer “Hello, World!”.

Fare questo è semplice in MicroPython:

from microbit import *
display.scroll("Hello, World!")

Analizziamo le due linee di codice.

La prima linea:

from microbit import *

Nella prima riga viene richiesto a MicroPython tutto il materiale (codice) necessario per lavorare con micro:bit. Il codice richiesto è un modulo chiamato microbit  (un modulo è una libreria di codice preesistente). Quando fate l’import  (importate qualcosa), state dicendo a MicroPython che volete usarlo, “*” è il modo in cui Python dice tutto.
Quindi from microbit import *  significa, in inglese, “Voglio poter usare tutto ciò che è disponibile dalla libreria di codici microbit”.

Seconda linea:

display.scroll(“Hello, World!”)

dice a MicroPython di usare il display per far scorrere la stringa di caratteri.

La parte di codice display  permette la visualizzazione del testo Hello, World!  .

display  è un oggetto dal modulo microbit che rappresenta la visualizzazione fisica del testo “Hello, World!” sul dispositivo.

La parte di codice indicata con display  è un object (oggetto) del modulo microbit  che rappresenta il display fisico. Possiamo dire al display di eseguire l’operazione indicata fino al .  dopo il .  è presente qualcosa di molto simile ad un comando (che chiameremo metodo). In questo caso stiamo usando il metodo scroll  (scorrimento). Poiché scroll  ha necessità di sapere quali caratteri far scorrere sul display fisico, questi saranno specificati tra doppie virgolette () tra parentesi ( (  e )  ). Tutto ciò che è tra parentesi e tra le virgolette prende il nome di argomento. Quindi, display.scroll(“Hello, World!”)   significa, in inglese, “Voglio che tu usi il display per far scorrere il testo ‘Hello, World!'”. Se un metodo non ha bisogno di argomenti non inseriremo nulla tra parentesi: ()  .

Copiate all’interno dell’editor il codice “Hello, World!” ed eseguite l’upload sul vostro BBC micro:bit.

Siete in grado di capire come cambiare messaggio?

Potete farlo salutare? Ad esempio, potreste far dire “Ciao, Michele!”.
Suggerimento: è necessario modificare l’argomento del metodo di scroll. 🙂

Avvertimento

Potrebbe non funzionare 🙂

Nel caso in cui venga commesso un errore MicroPython ci viene in aiuto, in questo caso scorrerà sul display del micro:bit un messaggio di errore, sempre sul display apparirà il numero della linea di codice in cui è presente l’errore.

Python si aspetta che voi digitiate ESATTAMENTE il codice. Quindi, ad esempio l’istanza, Microbit  , microbit  e microBit  sono tutte cose diverse per Python. Se MicroPython restituisce un errore NameError  , probabilmente avete digitato qualcosa in modo non corretto.

Se MicroPython restituisce un SyntaxError  probabilmente avete scritto qualcosa che MicroPython non riesce a capire. Verificate che non manchino ad esempio i caratteri speciali   o :  .

Usiamo Mu

Colleghiamo il micro:bit al computer:

Utilizziamo Mu per codificare:

Un click sul pulsante Repl per estendere la finiestra di editing e visualizzare l’area in cui vengono mostrati i messaggi inviati dal micro:bit

Per trasferire il programma sul micro:bit click sul pulsante “Flash”:

Durante la fase di trasferimento del programma il led giallo di stato incomincia a lampeggiare al termine il micro:bit verrà disconnesso dal computer ed immediatamente il programma incomincerà a funzionare:

Nel caso in cui nel vostro programma sia presente un errore, nella parte bassa della finestra di editing vi verrà restituito un messaggio che indica il tipo di errore. Usando il comando help() potrete consultare una guida che vi aiuterà a risolvere il problema.

Nel caso di errore sul display del micro:bit apparirà il messaggio di errore.

Buon Coding a tutti 🙂

DotBot:Smart – un robot didattico veloce da costruire

Durante alcuni corsi di Coding e robotica per colleghi di scuola media mi è stato manifestato il desiderio di poter avere a disposizione un kit robotico estremamente semplice da realizzare poco costoso e che occupasse poco spazio, che potesse adattarsi, come sempre, a microcontrollori di ogni tipo, soprattutto Arduino e micro:bit.

Esplorando per altri scopi il sito youmagine ho scoperto i moltissimi lavori realizzati da RCCM anche lui come me insegnante (vi consiglio di guardare i suoi lavori) ed ho notato il progetto Micro Servo Chassis, per cui sulla stessa idea ho realizzato una struttura simile ed inserito gli elementi di aggancio per i servomotori che avevo realizzato per il DotBot:bit.

Per ridurre la quantità di materiale ho eliminato, rispetto alle strutture precedentemente realizzate la caster ball, la biglia di supporto, che ho sostituito con una piccola bacchetta costituita da un punto di appoggio al terreno ricurvo, il tutto vincolato alla struttura portante dei motori.

Nel caso si debba aggiungere parecchia elettronica, per aumentare ancor di più la stabilità ho sviluppato una doppio supporto strisciante così come potete notare nelle immagini allegate.

Su questo piccolo chassis robotico potrete, secondo necessità ed in funzione di ciò che disponete, predisporre una base di appoggio come ad esempio: cartone, compensato o plexiglas fissata con viti o fascette di plastica.

Ecco giustificato il nome DotBot:Smart perché veloce da costruire, due elementi da stampare e poi Coding a volontà 🙂

Questo nuovo kit didattico si aggiunge alla famiglia DotBot.

Nel caso desiderate effettuare la stampa questo il link diretto di DotBot:Smart su Thingiverse.

Come sempre se durante le sperimentazioni con i vostri allievi si evidenziano correzioni o miglioramenti da fare, non esitate a contattarmi.

Di seguito le foto che mostrano come costruire il robot.

Materiali occorrenti

  • qualsiasi tipo di microcontrollore: micro:bit, Arduino, oppure Raspberry Pi (qualsiasi modello)
  • n. 2 bulloni M3 – viti da 10 mm
  • n. 2 FS90R servo a rotazione continua
  • n. 2 due ruote per FS90R 60mm x 8mm

La barra centrale deve avere un orientamento, rispetto ai servomotori, identico a quello indicato nell’immagine (notate l’albero di rotazione del servo). I servomotori sono fissati con piccole viti in dotazione quando acquistate i servo:

Le viti di blocco della barra centrale sono sotto il livello di appoggio della base in modo da non creare un rialzamento:

Scegliete il materiale di cui disponete, (nell’immagine cartone) e con del nastro biadesivo fissate breadboard ed elettronica:

Il fissaggio può avvenire mediante fascette di plastica:

Nel caso abbiate necessità di maggior superficie di appoggio e maggior stabilità potete utilizzare la barra centrale con doppio appoggio:

Buon Coding a tutti.

Scratch 3.0 e BBC micro:bit installazione e primi test

Quando avevo annunciato su queste pagine il 16 luglio scorso il futuro supporto di micro:bit da parte di Scratch 3.0 la funzionalità non era ancora disponibile, finalmente da qualche giorno questa possibilità è stata resa disponibile ed ora possiamo incominciare a sperimentare.

L’utilizzo di micro:bit con Scratch 3.0 richiede pochissimi passi, di seguito trovate le schermate che ne dettagliano l’installazione ed un paio utilizzo.

Aggiungiamo l’estensione micro:bit:

Selezionate micro:bit

Per consentire il collegamento con Scratch 3.0 è indispensabile installare “Scratch Link” per poterlo prelevare un click sul punto interrogativo “?” (o fate click sul link che vi ho indicato), si aprirà un’altra pagina che vi guiderà passo passo all’installazione:

Pagina di aiuto che trovate direttamente a questo link:

Ricordate che dovete:

Connettere il micro:bit

Scaricare e scompattare il file: scratch-microbit-1.0.hex.zip

Copiare il file .hex all’interno del micro:bit

Avviate Scratch Link:

Scratch Link attiverà un pannello di controllo:

Un click sulla voce di menù Scratch Link mostrerà l’indirizzo di collegamento e la versione:

Selezionando nuovamente l’icona di aggiunta libreria apparirà il pannello di collegamento al micro:bit, fate click sul pulsante “collega”

Avrete notifica dell’avvenuto collegamento, premete “Torna all’Editor” per proseguire con  la programmazione:

La percezione dell’avvenuto collegamento si vedrà anche sul display del micro:bit su cui comparirà il nome assegnato alla vostra scheda, nel mio caso “zuvop”:

Trascinate nell’area di programmazione il blocco:  “mostra Ciao! su display” ed ogni volta che farete click sul blocco visualizzerete il testo sul display:

La realizzazione di un programma che reagisce alla pressione dei pulsanti A e B è estremamente semplice:

Nell’attesa che giungano nuove funzionalità vi auguro…

Buon Coding e Buon inizio di Anno Scolastico 🙂

TinyTrak:bit – un cingolato con il cuore di un micro:bit

Idee che nascono sotto l’ombrellone 🙂

Qualche mese fa parlavo con l’amica e collega Maria Grazia Berardo dell’IIS Vallauri: “Michele se ti chiedessi di progettare un robot con gli allievi che tipologia realizzeresti?”

Io: “sicuramente un cingolato”

Maria Grazia: “ecco come tutti i ragazzi preferite i cingoli! 🙂 ma da cosa dipende?”

Io: “… banalmente dal fatto che da bambino sognavo di guidare un escavatore o un trattore cingolato… e poi posso andare ovunque… ed il rumore del motore… sinfonia 😊… ma in ogni caso dipende dal contesto e dalla gara robotica”

Maria Grazia: “ma sai che nel decidere con i miei allievi quale tipo di robot costruire per le varie gare robotiche quasi tutti i ragazzi hanno optato per un cingolato… sarà come per te qualcosa che nasce dall’infanzia 😀”

E per non smentirmi era da tempo che desideravo mettere i cingoli al DotBot:bit e surfando senza meta sul web sono giunto al gruppo Facebook Tiny Trak – Micro FPV Crawler che mi ha colpito, potrete vedere molti piccoli cingolati con telecamera. Il progetto mi ha ricordato una chiacchierata fatta qualche hanno fa ad un JobOrienta con un artificiere della Polizia di Stato in cui si parlava di realizzazione di micro robot con telecamera a bassissimo costo di produzione da far transitare in tubazioni o spazi ristretti… al tempo le micro telecamere erano parecchio costose, i tempi sono cambiati e gli obiettivi pure… didattica e gioco 😊

Ulteriori risorse su questa tipologia di cingolati le potete trovare su Thingiverse trovate molte informazioni.

Facendo il mix tra i progetti trovati sul gruppo Tiny Track e quanto già fatto per DotBot:bit ho realizzato velocemente il primo prototipo del piccolo cingolato. Per velocizzare la produzione ho utilizzato un cingolo Lego e modificato strutture già realizzati da altri.
Renderò disponibile tutto nei prossimi giorni, voglio solamente ottimizzare i supporti che reggono il micro:bit, bilanciare il tutto e costruire qualche piccolo esempio di programmazione.

Nel caso abbiate suggerimenti/necessità utili per le sperimentazioni che desiderate fare con i vostri allievi volentieri accetto suggerimenti.

Buon Coding a tutti.