Robotica educativa con Arduino

Arduino, è un mondo intero, non solo uno strumento per costruire robot educativi, ma una vera e propria piattaforma di sviluppo di idee, progetti e prodotti di qualunque tipo.

Igor Guida*

Tra le molte tecnologie e prodotti sempre più presenti ormai nel mercato della robotica educativa e che verranno da altri trattati in queste stesse pagine, prediligo ed incentivo sempre quelle che si basano sul Software Libero (Open Source Software) e sull’Open Hardware[1].

Tra i diversi che soddisfano questi requisiti, trovo di particolare interesse Thymio[2] di Mobsya e la piattaforma Arduino[3] con particolare riferimento ad Arduino/Genuino UNO.

Di Thymio si parlerà già diffusamente in questo dossier di Pedagogika.it che vanta peraltro un contributo del professore di robotica Francesco Mondada del Politecnico Federale di Losanna (EPFL) luogo nel quale è stato sviluppato inizialmente il progetto Thymio e pertanto non ne parlerò oltre, dato che avremo comunque modo di sperimentare diffusamente il suo utilizzo in tutte le attività che svolge la cooperativa Stripes. Per quanto riguarda Arduino, è un mondo intero e dunque, non solo uno strumento per costruire robot educativi, ma una vera e propria piattaforma di sviluppo di idee, progetti e prodotti di qualunque tipo; ma andiamo con ordine. Arduino è un progetto italiano che nasce nel 2005[4] ed arriva nel giro di pochissimo tempo a fama mondiale soddisfacendo le esigenze di artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi come ad esempio i maker[5].

 

Arduino viene utilizzato ad esempio per tutto ciò che viene identificato con l’acronimo STEM (Scienza, Tecnologia, Ingegneria e Matematica) per “pensare con le mani” o più propriamente fare tinkering e cioè quella cosa che nasce dalla volontà di armeggiare, adoperarsi, darsi da fare con le cose per capirne il funzionamento, creare nuovi oggetti, studiarene le logiche attraverso un’attività dinamica, concreta, stimolante e divertente.

L’idea è che imparare concetti della fisica, della matematica e più in generale della tecnologia, non debba necessariamente essere noioso e difficile, ma possa invece essere appunto un’avventura entusiasmante. Il movimento dei tinkerer, ormai diventato corposo a livello mondiale (ad esempio in Italia il Museo della Scienza e della Tecnologia di Milano[6] è stato uno dei primi a partire), conta ormai laboratori creativi disseminati un po’ ovunque che spesso con spirito “open source” condividono le loro realizzazioni con una comunità crescente a livello internazionale.

Si trovano enormi quantità dunque di siti su internet nei quali vengono presentati i vari progetti, ad esempio, uno molto interessante è questo http://tinkering.exploratorium.edu/projects dove si possono reperire oltre che indicazioni su come costruire robot, anche come e dove cercare materiale di recupero che possa essere utile per realizzare qualcosa di nuovo secondo la logica del D.I.Y. (Do It Yourself).

Arduino, per le proprie caratteristiche, diventa fin dagli esordi nel 2005, lo strumento principe di questa rivoluzione del tinkering, permettendo grazie alla sua semplicità d’uso di interagire con il mondo circostante avvicinando l’informatica agli oggetti presenti nel mondo reale che è oggi sfociato nelle tecnologie IoT (Internet of Things).

Diventa così possibile accendere luci, leggere dei valori da termometri, collegare sensori di qualunque tipo e poter operare con l’elettronica anche per chi è totalmente a digiuno di competenze tecniche specifiche. Basandosi su un hardware open source e su software open source si riescono a creare le premesse per un uso estensivo di queste tecnologie rendendole non più solo appannaggio dei tecnici ma condividendole con le persone ed in particolare con i bambini ed i ragazzi che ritrovano in questo modo il contatto con il “com’è fatto” tanto importante per apprendere attraverso l’imitazione.

Uno degli aspetti che ha sempre entusiasmato infatti le persone curiose, era in passato la possibilità di aprire, anche rompere gli oggetti per capirne il funzionamento. È sempre stato possibile utilizzare questo approccio fino a quando la miniaturizzazione dell’elettronica ci ha portato in una situazione nella quale era impossibile comprendere il significato di ciò che c’è dentro. Per un bambino che abbia invece la fortuna di fare tinkering, risulterà estremamente chiaro quali sono i componenti in campo ad esempio in un computer, un cellulare o un tablet perché avrà imparato a riconoscere i diversi componenti in gioco e, se anche miniaturizzati non li potrà vedere, avrà una chiara idea di come comunicano tra loro, di “cosa si dicono” e di come lo fanno avendo pertanto un indubbio vantaggio nella comprensione del mondo che li circonda.

 

Esempi di robot basati su Arduino

Attraverso Arduino forse l’attività più divertente inerente la robotica è proprio quella di autocostruirsi un robot seguendo uno qualunque delle centinaia di risorse presenti su internet, un interessante punto di partenza può essere questo http://www.makeuseof.com/tag/8-arduino-robots-can-build-less-125/.

Se si volesse analizzare qualche soluzione già pronta e disponibile sul mercato si potrebbe pensare ad esempio a Cubetto (https://www.primotoys.com/it/), il cui segno distintivo risiede nel fatto che è stato pensato in particolare per i bambini tra i 3 ed i 6 anni anche se nulla osta ad usarlo con quelli più grandi.

 

Permette di imparare alcuni concetti base del coding[7] prima ancora che i bambini imparino a leggere e scrivere. Inoltre possiede un intelligente sistema tattile attraverso il quale viene programmato: a differenza di altri strumenti analoghi, fa si che i bambini possano programmare con le mani invece che attraverso uno schermo. Attraverso una sorta di scatola di legno, i bambini posso scegliere tra 4 diversi elementi colorati ognuno dei quali rappresenta una funzione particolare.

È ad esempio possibile scegliere l’elemento giallo per far ruotare di 90° Cubetto e componendo un insieme di questi elementi in maniera consecutiva come in un percorso del gioco dell’oca, Cubetto eseguirà i movimenti programmati.

 

Qualunque selezione dei robot educativi basati su Arduino sarebbe comunque riduttiva vista l’estensione delle soluzioni proposte, sia commerciali che in kit di autocostruzione che sono appunto suggerite da maker e tinker di tutto il mondo, ma per darvi uno spunto per la scoperta di questa incredibile piattaforma posso senz’altro segnalare Sparki http://arcbotics.com/lessons/sparki/ che rientra tra i robot che si muovono con funzionalità classiche come il disegno, il seguire una riga, evitare gli ostacoli etc; uArm http://ufactory.cc/#!/en/uarm1 che è invece un braccio robotico, altra tipologia interessante di robot educativi; i sempre in piedi Lil Bot http://www.lil-bot.com/ e Balanduino http://www.balanduino.net/ che rientrano invece nella tipologia self-balancing robot; oppure ancora l’economico ma completissimo mBot http://www.makeblock.com/mbot-v1-1-stem-educational-robot-kit anch’esso appartenente alla categoria su due ruote che vanta però un sistema semplificato di collegamento con i sensori attraverso cavetti di tipo telefonico oltre che una gamma di addendum (led, bracci ed altro) che ne estendono le funzioni.

 

Altra menzione speciale va invece al sito web dell’insegnante di scuola superiore Michele Maffucci http://www.maffucci.it/, ricchissima risorsa per chiunque voglia approfondire l’argomento. In particolare presenta nel suo sito delle lezioni da lui indicate come serie EduRobot UNO ed EduRobot DUE entrambe basate su Arduino ed il particolarmente entusiasmante a mio avviso DotBot K http://www.maffucci.it/2016/10/09/dotbot-k-il-robot-per-i-piu-piccoli-e-non-solo/ coadiuvato in questo suo sforzo da Ludovico Russo, dottorando presso il Politecnico di Torino dove si occupa di robotica e formazione. Il progetto è rigorosamente Open Source ed Open Hardware e ha come obiettivo principale l’insegnamento del coding per ogni ordine e grado di istruzione, pensato per la scuola elementare, media superiore ed università. Stanno implementando modalità di programmazione sul modello di Scratch https://scratch.mit.edu/ software per la programmazione visuale ideato al M.I.T. (Massachusetts Institute of Technology) che è ormai uno standard de facto, soprattutto nella scuola elementare e media (esiste anche la versione Junior per i piccolissimi disponibile come software scaricabile gratuitamente sui tablet) che quindi rende considerevolmente più semplice soprattutto ai bambini più piccoli accedere al mondo della programmazione.

Arduino nasce con un ambiente di sviluppo software molto semplice scaricabile da https://www.arduino.cc/en/Main/Software attraverso il qule si producono i programmi detti sketc che è basato sul Processing https://processing.org/. Nel tempo si sono però affiancate diverse altre modalità di programmarlo come ad esempio il già citato Scratch, Google Blockley https://developers.google.com/blockly/ (i team di sviluppo che stanno dietro a Scratch e Google Blockley stanno ora collaborando attraverso la creazione di Scratch Blocks) e visualino http://www.visualino.net/ (basato su Blockley ed altre tecnologie).

Tutti questi ambienti visuali, oltre ad essere imparentati tra loro, condividono la stessa metafora di utilizzo. Si agisce cioè su blocchi logici che vanno riempiti con informazioni che contengono la logica del programma. Pertanto, invece che dover imparare la sintassi di programmazione (passibile quindi di errori di scrittura, punteggiatura o tabulazioni) è possibile operare fin da subito selezionando graficamente “oggetti/blocchi” colorati che rappresentano le azioni che vogliamo fare compiere al nostro robot e/o alla nostra scheda Arduino. Esattamente come con Cubetto che agisce direttamente sul mondo fisico inserendo i blocchi/tasselli con il comportamento che ci interessa, attraverso questi software useremo i blocchi virtuali (rappresentati dalle icone) che si incastreranno tra loro formando programmi funzionanti senza l’esigenza di scrivere direttamente il codice.

 

In conclusione, vista la sterminata quantità di risorse presenti online ed il numero notevole di volumi scritti su questa piattaforma, è sicuramente possibile tarare progetti di robotica educativa ad ampio spettro basati sull’ottimo ambiente Arduino certi di poter progettare attività nella scuola partendo dall’età prescolare per arrivare fino all’ambito universitario.

 

*Vicepresidente e Responsabile area Informatica e Comunicazione Stripes Coop. Soc. Onlus. É stato tra i fondatori del MiLUG, Milano Linux User Group

 

[1]              Open Source – Software Libero – Open Hardware https://it.wikipedia.org/wiki/Open_source; https://opensource.org/; https://it.wikipedia.org/wiki/Hardware_libero

[2]              https://www.thymio.org

[3]              https://www.arduino.cc/

[4]              http://playground.arduino.cc/Italiano/StoriaDiArduino

[5]              https://it.wikipedia.org/wiki/Maker

[6]              http://www.museoscienza.org/tinkering-zone/default.asp

[7]              http://www.tecnicadellascuola.it/item/5949-il-coding-cos-e.html