Aggiungo un paio di mie considerazioni sul dibattito "informatica intangibile" vs. "informatica tangibile" di qualche giorno fa. Da laureato in Scienze dell'Informazione (anno 1995), ho trascorso oltre 20 anni completamente all'interno dell'informatica "intangibile": applicazioni e pagine web, script per la gestione di sistemi, applicazioni "classiche". Per oltre 20 anni, l'unico "feedback" tangibile che avevo dalle mie "creazioni" è stato quasi esclusivamente visivo (le videate) e, in minimissima parte (< 1%) "audio" (tipicamente "suoni" che evidenziassero l'insorgere di "allarmi" particolarmente impattanti sui sistemi che avevo in gestione). ~6 anni fa, dovendo decidere come far realizzare l'impianto elettrico della mia nuova abitazione, decisi che le luci della mia casa --la casa di un signore che per 20 anni aveva lavorato come "programmatore"-- non potevano accendersi attraverso un interruttore "meccanico": una "componente informatica" era imprescindibile. Forte del fatto che gli interruttori "meccanici" fossero gia' scomparsi dall'interno degli autoveicoli (dove --da molti anni-- i "pulsanti" non chiudono un circuito elettrico ma richiedono delle azioni gestite da "centraline" e, nel caso dei fari, "relay") e che non avevo traccia di disastri/problemi/inaffidabilità di questi ultimi, mi sono deciso ad utilizzare lo stesso identico approccio: mettere nelle pareti dei normalissimi "pulsanti" la cui pressione viene rilevata da un oggetto intelligente (un microcontrollore) il quale, a sua volta, "ordina" l'accensione/spegnimento della lampadina attraverso un relay. Ho analizzato le principali soluzioni commerciali (sulle cui brochure è ben evidenziato il termine "domotica") e le ho _SCARTATE_ non solo per gli aspetti economici ma, soprattutto, per le dinamiche di lock-in: in quel periodo, infatti, ho metabolizzato l'idea che --in linea teorica-- da mia moglie mi sarei potuto separare, mentre da un impianto domotico "proprietario" che gestisce le luci di casa, _NO_. Il rapporto con quest'ultimo, quindi, è decisamente più "delicato" rispetto a quello con il proprio partner. I mesi successivi sono stati una continua scoperta: * Arduino [1] e la sua architettura "libera" che ne consente l'acquisto di "cloni" cinesi a prezzi dell'ordine di 5 € (cinque!); * ESP8266 [2] che supporta il wifi nativamente, è completamente/liberamente programmabile e si puo' acquistare a prezzi inferiori ai 5 € (cinque!); * community relativamente "di nicchia" ma comunque molto diffuse in Italia ed all'estero, caratterizzate da uno spirito di "condivisione", di "altruismo", di "crescita costruttiva" tali da rendere il concetto di "open-source" un default del proprio modus-operandi [3] Spendendo meno di 100€ (di cui 50 spesi fra legname, plexiglass, portalampade, lampade e pulsanti) ho allestito il mio primo prototipo: una "scatola" di legno al cui interno c'erano: * due arduino connessi fra loro; * 4 pulsanti, la cui pressione richiede l'accensione/spegnimento di luci; * 4 relay che accendono/spengono 4 lampadine * una presa di corrente (a cui si puo' collegare un abat-jour, ad esempio). e poi, per far funzionare il tutto: * ~150 righe di codice, che facevano si che quando si preme un pulsante, arduino rileva la pressione e chiede al relay di accendere/spegnere la luce associata. La costruzione di questa scatola --per me, che arrivavo da ~15 anni di vita professionale in ambito ICT-- ha rappresentano qualcosa di nuovo e incredibilmente soddisfacente: ricordo molto chiaramente il momento della prima accensione, quando ho dato corrente per "accendere" gli Arduino e poi, il primo "click" sul pulsante, con la prima luce accesa. È una sensazione indescrivibile. Nulla a che vedere con il classico "Hello World!" stampato a video come prima applicazioni su un PC classico. Da allora (~5 anni fa) ho approfondito significativamente tutto l'ecosistema Arduino (e dei microcontrollori) e _NON_ riesco a capacitarmi del fatto che siano sostanzialmente sconosciuti al mondo dell'istruzione. L'ESP8266, ad esempio, ha delle versioni straordinariamente utili per far approcciare gli studenti a queste tecnologie. Il Witty Cloud [4] ad esempio, a fronte dei ~7 € (sette!), include: * un chip wireless programmabile, che puo' comportarsi come "access point" (e quindi essere visto dal cellulare) o "client" (e quindi collegarsi al wireless di casa); * un LED RGB, che puo' essere acceso con una luce di colore programmabile * un sensore di luce, che puo' essere "letto" da applicazioni che, in funzione della luce disponibile, si comportano di conseguenza * una interfaccia USB per essere banalmente collegabile ad un PC, per essere programmato * una interfaccia USB per essere "alimentato" * alcuni PIN che possono essere utilizzati per "pilotare" oggetti esterni (es.: relay o altri sensori) Evidenzio che tale attrezzo (che, ripeto, costa 7€) consente di avere su un banco di scuola un oggetto (lui), che si puo' programmare con il notebook di classe e poi "accendere" semplicemente collegandolo ad un power-bank via USB. E di li, a sperimentare: * il cambiare colore del LED in funzione della luminosita' della stanza; * l'accensione del LED quando si mette un dito sopra al sensore di luminosita'; * il concetto di "energia", semplicemente verificando quanto tempo durano due batterie AA, _CON_ e _SENZA_ wifi "acceso"; * e, per i piu' grandi: o la scelta del colore del LED, via wifi, dal PC di classe; o lo sviluppo di una piccola APP per accendere/spegnere il LED. È veramente difficile immaginare con quanto poco sforzo tutto questo sia fattibile. Con uno sforzo leggermente maggiore (servono ~10 € di accessori) è possibile far scattare negli studenti il meccanismo della competizione: * costruire un "line follower" [5]: una piccola macchinina in grado di muoversi (grazie a due ruote azionate da motori) e che, grazie a tre sensori infrarosso riesce a "mantenersi" su una linea (di fatto, prendete un pavimento chiaro... ci piazzate sopra una lunga striscia di scotch nero (nastro da elettricistia classico)... ci piazzate sopra la macchinina.. e lei va); * chiedere agli studenti di "competere" per vedere chi riesce a costruire la macchina piu' veloce, in grado di fare tutto il circuito nel minor tempo (...e senza incidenti) Questa banale idea consente agli studenti di capire cose fondamentali quali: * accelerazione / frenata: se vai troppo veloce, la macchina non riesce ad avere il tempo di restare sulla linea e... esce di strada; * riuscire a discriminare (algoritmicamente parlando) fra "curve" (dove si deve andar piano) e "rettilinei" (dove si puo' accelerare); * riuscire a organizzarsi per preconfigurare (almeno in parte) il "circuito" * ....tante altre cosettine E per tutti quelli che pensano che si tratti di sciocchezze.... invito a dare un'occhiata a questo video: https://youtu.be/IngelKjmecgnexa@server-nexa.polito.it prestando attenzione attorno a: 01:30, 02:10, 03:33 e soprattutto 04:03 e seguenti Non e' banale (per un "non addetto ai lavori") capire quanti problemi (informatici) devono essere risolti per consentire a quel micro-mouse di fare quello che fa... Certo è che mi piacerebbe che in una qualche finale, prima o poi, ci fosse qualche Italiano/Italiana... Scusate la prolissità. Buona fine settimana, DV [1] https://en.wikipedia.org/wiki/Arduino [2] https://en.wikipedia.org/wiki/ESP8266 [3] http://dvblog.soabit.com/arduino-what-i-missed-most-during-last-ten-years/ [4] https://cutt.ly/1vc0RPs [5] https://www.instructables.com/Line-Follower-Robot-Using-Arduino-2/ -- Damiano Verzulli e-mail: damiano@verzulli.it --- possible?ok:while(!possible){open_mindedness++} --- "...I realized that free software would not generate the kind of income that was needed. Maybe in USA or Europe, you may be able to get a well paying job as a free software developer, but not here [in Africa]..." -- Guido Sohne - 1973-2008 http://ole.kenic.or.ke/pipermail/skunkworks/2008-April/005989.html