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:
- la scelta del colore del LED, via wifi, dal PC di classe;
- 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
--
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