A Padova tra ottobre 2011 e febbraio 2012 c’é stata la mostra organizzata dall’ordine del architetti SUPERURBANO, con grande entusiasmo, i ragazzi/e di SIAMO TUTTI TUFI hanno reso possibile la presenza di questa mostra a Gravina in Puglia da ottobre 2012 a gennaio 2013. Mentre la mostra è ormai terminata, io ho finalmente trovato un po di tempo per scrivere due righe sull’utilizzo di Arduino nelle postazioni di proiezione, come strumento per selezionare il video di interesse per il visitatore.

Nella mostra a Padova, pare ci fossero delle Kinect per ogni postazione e il visitatore poteva scegliere il video da visualizzare con dei gesti delle mani, opportunamente riconosciuti. Ovviamente questo non è stato possibile realizzarlo a Gravina a seguito del budget che richiedeva e con un pò di spirito “makers” si sono realizzate delle torrette in tufo con qualche sensore e Arduino. Il principio alla base è il seguente:

rilevare il comando del visitatore => passare al video successivo in playlist

  • rilevare il comando del visitatore

Si è scelto di rilevare il comando del visitatore facendo strisciare la mano in una fessura luminosa, simulando un pò i gesti che oramai siamo abituati a fare con i dispositivi touch(smartphone e tablet). Per fare ciò, sono stati usati dei LED bianchi ad alta luminosità, dei phototransistor(per frequenze infrarosse) e dei LED IR. IRLED I LED bianchi sono stati saldati collegando il catodo al collettore del photo transistor e rispettivamente l’anodo del LED a +5V e l’emettitore del phototransistor a massa. A distanza sono stati collegati dei LED Infrarossi (con una piccola resistenza da 150 ohm) e l’effetto che si è creato è tale che alla presenza del fascio di infrarossi prodotto dal LED IR corrisponde l’accensione del LED bianco. Se il fascio viene interrotto, ad esempio dalla mano che sfiora la torretta in tufo, il led in direzione si spegne. Per ogni torretta sono presenti circa 5 coppie di LED bianchi+Phototransistor IR e, nascosti nel lato opposto, circa tre LED IR. Nel video seguente c’è il primo prototipo di on/off del LED bianco, con questo sistema

  •   passare al video successivo in playlist

Per passare al video successivo è stato clonato il codice inviato dal telecomando del lettore utilizzato per la riproduzione della playlist,  tramite una scheda Arduino UNO e un ricevitore IR Remote Receiver 38KHz come indicato in questo post: Clone a Remote with Arduino. Successivamente è stato realizzato un semplice codice per Arduino che trasmettesse il codice rilevato ogni qualvolta venisse rilevato un ingresso alto su un determinato pin digitale. A tale pin è stato collegato un photoreansistor IR come nel caso dei LED precedenti. Collegando il collettore al pin di Arduino e l’emettitore a massa, posizionando il phototransistor assieme ai LED bianchi, si ottiene che in pin sia sempre a massa fintantochè non ci siano ostacoli con la sorgente IR sul versante opposto, mentre al passaggio della mano, viene persa la condizione di pin a massa, pertanto viene trasmesso il codice di “traccia successiva”. Nel video seguente è visibile il LED infrarossi collegato alla scheda Arduino che invia la sequenza. I LED infrarossi accesi sono visibili tramite le camere digitali.

Nel caso del telecomando utilizzato dai lettori a cui erano attaccati i proiettori, il tasto “video successivo” equivaleva al codice 0xFFA857 inviabile tramite un LED IR collegato ad un pin digitale dell’Arduino UNO utilizzata, pilotato dalla libreria IRremote

CODICE: /* * IRremote: IRsendDemo – demonstrates sending IR codes with IRsend * An IR LED must be connected to Arduino PWM pin 3. * Version 0.1 July, 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com */ #include <IRremote.h> #define NEXT 0xFFA857 #define SEND_PIN 13 #define PIN_NEXT 7 IRsend irsend; void setup(){ pinMode(PIN_NEXT,INPUT_PULLUP); digitalWrite(PIN_NEXT, HIGH); pinMode(SEND_PIN,OUTPUT); digitalWrite(SEND_PIN, HIGH); delay(1000); } void loop() { if(digitalRead(PIN_NEXT) == HIGH){ digitalWrite(SEND_PIN, !digitalRead(SEND_PIN)); //for debug irsend.sendNEC(NEXT, 32); // An IR LED must be connected to Arduino PWM pin 3. delay(1000); } delay(20); }

 

 

Ringrazio Piero Boccadoro per le diritte sul mondo IR.