Tempo fa avevo trovato un articoletto in cui era spiegato come realizzare un comando a filo per le reflex Canon. Il principio è molto semplice: il pulsante di scatto sulla macchina premuto a metà corsa chiude il circuio dell’autofocus, a fondo corsa quello di scatto. Il comando remoto non fa altro che chiudere gli stessi circuiti fuori dal corpo macchina, senza modificare alcun segnale: in altre parole, non c’è bisogno di aggiungere alcun tipo di elettronica, basta far sì che facciano contatto ‘i fili giusti’.
In sostanza è sufficiente un jack stereo da 2,5 mm (è più piccolo di quelli normalmente utilizzati per le cuffie) con rispettivo cavetto a cui applicare, secondo necessità, due interruttori: chiudendo il circuito tra ground e autofocus si attiva, come dice il nome, l’autofocus, chiudendo ground e scatto la macchina scatta la fotografia.
Nel mio caso un vecchio auricolare Motorola è stato sacrificato alla causa fornendo l’hardware di partenza. Lo smanettone che è in me tuttavia non poteva fermarsi a questa soluzione fin troppo semplice, e così ho pensato di collegare i circuiti al fido Arduino, in modo da poter gestire gli scatti via software, con la possibilità di aggiungere tutta la complessità desiderata.
Setup di Arduino
Il setup dell’hardware è piuttosto banale: si tratta di costruire i due ‘interruttori’ che dovranno essere comandati da Arduino. Non conoscendo i parametri elettrici dei circuiti in questione e volendo evitare di fare danni ho utilizzato due fotoaccoppiatori in modo da separare fisicamente scheda di controllo e macchina fotografica.
I pin di Arduino sono stati connessi in modo che il pin 9 gestisca l’autofocus (portandolo a HIGH viene chiuso il relativo circuito e la macchina mette a fuoco) ed il pin 3 lo scatto (portandolo a HIGH la macchina scatta).
Ora si tratta di decidere cosa far fare alla macchina: in questo primo giro ho caricato sul controller di Arduino il solo software necessario a scattare ‘a comando’, con l’idea di aggiungere altre funzionalità in momenti successivi. Lo sketch funziona così: quando il controller legge dalla seriale il carattere corrispondente al comando di scatto imposta a HIGH il pin 9, attende un secondo per consentire la messa a fuoco, imposta a HIGH il pin 3, attende mezzo secondo per ultimare lo scatto, riporta a LOW entrambi i pin (simulando il rilascio del poulsante di scatto).
Lo scatto pubblico
A questo punto il tutto è pronto per essere ‘remotizzato’: dato che Arduino è connesso al PC, ci sono moltissimi modi per azionare il mio ‘telecomando’ a distanza e, vista la premessa iniziale sulla complessità, ho pensato che potesse essere interessante esporre il tutto come un web service. Una mezz’ora di lavoro su Eclipse ed ecco fatto: il servizio di ‘scatto fotografia’ è pronto. Ha un solo metodo, ‘scatta’, ed è implementato da una manciata di classi Java che comunicano con la seriale utilizzando RXTX.
Ora, per poter essere attivato, manca solo il client che richiama il servizio. Volendo utilizzare un iPhone / iPad e non avendo intenzione di sviluppare un app dedicata (e non avendo un Mac a disposizione) ho scritto una mini paginetta web con un pulsantone da premere per scattare. Non resta che provare e… strano a dirsi… funziona!
Il setup:
L’utilità di un telecomando costruito in questo modo è tendente a zero, ma la possibilità di gestire lo scatto via Arduino apre la strada ad applicazioni più interessanti: temporizzatori per filmati tipo ‘time-lapse’, rilevatori di movimento, foto sincronizzate… vale la pena di esplorare!
Ciao, è possibile implementare lafunzione di scattare 70-80 foto ad una certa ora? Se si riusciresti a spiegare come !? Grazie in anticipo !
Ciao Luca, sì, in teoria poui fargli fare ciò che vuoi, basta che programmi Arduino in modo da settare a HIGH i pin di messa a fuoco e di scatto quando ti serve. Di fatto è solo una questione di software…almeno finchè non cerchi di superare i limiti della macchina fotografica.
Nel caso specifico hai il problema della corretta gestione dell’ora, il clock interno di Arduino non so quanto sia preciso, dovresti utilizzare un RTC (real time clock) esterno, immagino.
Poi dipende, se vuoi centrare esattamente il millisecondo forse non è la strada migliore.
Ciao e complimenti. Volevo chiedere se nel chiudere il circuito del autofocus é integrabile l azionamento di un motore elettrico esterno che ruoti la ghiera dell autofocus guidato dagli input avanti ed indietro della reflex…se sí sai a chi potrei rivolgermi per commissionarlo?
Ciao, scusa il ritardo nella risposta ma questo blog lo seguo ‘a tratti’…
Venendo alla tua domanda, quello che vorresti realizzare, se non ho capito male, è un sistema che riceva in ingresso in qualche modo il segnale che pilota la messa a fuoco automatica e che, sulla base di questo, azioni un motore collegato alla ghiera della messa a fuoco dell’obiettivo….In pratica vorresti un sistema di autofocus per obiettivi che non lo prevedono, è così?
Purtroppo non sono in grado di rispondere, l’accrocchio che ho messo insieme si limita a chiudere un cicuito che è già predisposto per poter essere aperto/chiuso esternamente alla macchina, quello che chiedi è molto più complesso…ti dovresi collegare ai contatti elettrici corpo/obiettivo senza però pregiudicare l’accoppiamento tra i due (in pratica smontare la macchina e arrivarci dall’interno), interpretare ‘cosa passa’ e agire di conseguenza.
In linea di principio potrebbe essere fattibile, ma non penso sia banale.