aggiornato il 10-07-2010

WiFly Hammer

Un elettromagnete controllato tramite internet

Un'altra collaborazione con un artista. Dopo la proiezione interattiva, ora un opera "sonora". Ancora una volta per una iniziativa che ritengo meritevole.

Mi ha contattato Roberto Pugliese , un musicista esperto in musica elettronica che, tra le altre cose, si diletta in opere legate alla sperimentazione in questo campo piuttosto nuovo. Nel suo sito è possibile capire a fondo il suo concetto di musica e di interattività, oltre a vedere alcune delle sue opere esposte in diverse gallerie.

Questo è il risultato finale, esposto in una galleria di Berlino.

Anche solo ascoltando il suono del video, ricordando cosa simboleggia, si percepisce chiaramente le sensazione di disagio che l'artista vuole trasmettere.

Anche questa volta l'artista aveva idee molto precise su quello che voleva. La sua è un opera di denuncia sull'uccisione degli animali da pelliccia, per questo deve suscitare una forte sensazione nel visitatore che vi si trova di fronte con dei suoni molto incisivi. Un elettromagnete batte su una lastra di metallo ed ogni percussione rappresenta simbolicamente l'uccisione di un animale da pelliccia.

Il titolo dell'opera, "Lussuosa Macabra Vanità", rende molto bene questo concetto.

Anche in questo caso le parole dirette dell'artista rendono meglio il concetto: LMV.

Il circuito che mi è stato chiesto si deve connettere, tramite internet, al sito di Roberto per leggere il valore aggiornato del tempo medio che le statistiche dicono passare tra un'uccisione e l'altra di un animale da pelliccia. Sulla base del valore letto deve calcolare il momento per comandare la percussione sulla lastra.

Parlando di arte e di elettronica viene subito in mente Arduino, è semplice da programmare e dispone di molte interfacce (shield) facili da utilizzare anche per chi non si occupa direttamente di elettronica e programmazione. Per questo si è deciso di utilizzare una scheda Arduino o un suo clone, con il WiFly shield, un interfaccia che semplifica la connessione con i moduli della Roving che ho già usato e recensito nel mio sito.

Un'uscita digitale di Arduino pilota l'elettromagnete tramite un driver ULNxxxx.

Il software è abbastanza semplice. Per le temporizzazioni usa la libreria Metro .

Per collegari con il WiFly shield usa una versione modificata delle WiFly library . Ricordo che questo shield usa uno SPI to Serial converter SC16IS750 per collegare il modulo Roving con l'Arduino, in modo da lasciare libera la seriale della scheda per la programmazione e le funzioni di debug. La libreria è un punto di partenza molto valido per usare la SPI e per colloquiare con il WiFly in tutte le sue funzioni, però non è ancora completa e stabile. Per fortuna è disponibile il sorgente, questo mi ha permesso di modificare alcune funzioni e creare quindi la MyWifly Library , molto più affidabile per questo utilizzo.

Le modifiche apportate sono chiaramente commentate nel codice e sono le seguenti:

Aggiunto timeout nelle funzioni:

responseMatched(const char *toMatch)

waitForResponse(const char *toMatch)

skipRemainderOfResponse()

La Funzione:

sendCommand(const char *command, boolean isMultipartCommand = false, const char *expectedResponse = "AOK")
è stata cambiata da void a boolean. Ritorna false se il comando non è stato riconosciuto

Nel file "Credentials.h" si possono personalizzare le configurazioni della rete WiFi. È possibile anche configurare la sicurezza del collegamento come WEP, seppure con qualche limitazione dovuta alla non completa compatibilità del WiFly con questo vecchia modalità di autenticazione.

Come già detto il valore statistico, in millisecondi, letto tramite internet viene usato per la temporizzazione delle percussioni. Per rendere più realistico l'effetto, il tempo effettivo viene calcolato con una funzione randomica tra 200ms e 2*T-200ms, in modo da ritornare un valore medio uguale a T senza risultare troppo meccanico.

Se non è possibile accedere al sito per una ragione qualsiasi, viene preso il tempo dell'ultima letura valida, memorizzato in EEPROM.

Lo sketch completo è disponibile per il download: WiFly Hammer sketch .

L'hardware è talmente semplice che non riporto neanche lo schema. Nello spazio millefori dello shield sono stati aggiuunti alcuni led di segnalazione con le relative resistenze di limitazione, un cicalino (disinseribile tramite jumper) per il debug quando non è disponibile l'opera completa, e i connettori per il PIR e per collegare il solenoide tramite il suo driver.

Un sensore PIR abilita il circuito solo se una persona è presente nelle vicinanze dell'opera. Questo ha il doppio scopo di rendere l'opera interattiva con i visitatori e di non disturbare il personale della galleria quando la sala è vuota.