mercoledì 25 maggio 2011

Arduino e la fotografia in time lapse

In questo articolo voglio presentare, per chi ancora non la conoscesse, la scheda elettronica ARDUINO ed il suo ambiente di programmazione che insieme consentono di sperimentare e divertirsi con l'elettronica e la programmazione.

Nel mio lavoro mi trovo spesso a sviluppare software per sistemi di acquisizione dati ed impianti sperimentali. Cioè devo scrivere programmi che servono per controllare i sensori installati sugli impianti, misurare e leggere i fenomeni fisici in fase di studio(temperature, pressioni, etc.). I software e l'hardware utilizzati in laboratorio, sono purtroppo poco accessibili, economicamente parlando, per chiunque voglia sperimentare e divertirsi con l'elettronica in casa o a scuola. Quando scrivo sperimentare e divertirsi intendo,  per esempio, realizzare piccoli sistemi di controllo per impianti d'illuminazione, per il giardino, o il riciclo e la conversione di vecchi elettrodomestici in innovativi oggetti di design. Per un'ampia panoramica dei progetti realizzati con la scheda ARDUINO ovviamente vi consiglio di fare una rapida ricerca con Google e scoprirete centinaia di simpatiche idee da realizzare.
Quindi, venendo al dunque, cos'è questa ARDUINO?

"Arduino è una piattaforma open-source di prototipazione elettronica basata su del hardware e del software flessibili e facili da usare. E' pensata per artisti, designer, hobbysti, e chiunque sia interessato alla creazione di oggetti ed ambienti interattivi"

Questa la definizione tradotta letteralmente dal sito.
Personalmente ho scoperto Arduino qualche mese fa leggendo Wired. Su questa rivista vengono pubblicati degli interessanti tutorial sulle applicazioni di Arduino.  I creatori del progetto sono: Massimo Banzi,David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis. Questo gruppo di professori e studenti ha realizzato una scheda elettronica per scopi didattici ed hobbistici, con microcontrollore ed elettronica annessa ad un basso costo ed alla portata di tutti e quindi ne hanno rilasciato schemi elettrici e sorgenti software con licenza aperta! Open Hardware e Open Source! Roba da pazzi? No. Roba da illuminati direi io, visto che nel giro di un paio d’anni Arduino è diventata una hit della rete. La scheda è stata già venduta in decine di migliaia di copie ed è commercializzata dai più importanti fornitori di materiale elettronico e di robotica del mondo(circa €25)!
Il microcontrollore usato è un ATMEL (ATMEGA8 - ATMEGA168 – ATMEGA328); l'ambiente per lo sviluppo software è basato sul linguaggio di programmazione Processing ed è ovviamente rilasciato con licenza libera. La scheda Arduino consente di interfacciare il microcontrollore con diversi componenti e  sensori esterni: Sensori di temperatura, sensori di prossimità,  sensori di luminosità, etc. etc.; la scheda è infatti dotata di 14 ingressi/uscite digitali e 6 ingressi analogici; è dotata inoltre in gran parte delle versioni di una porta USB per il colloquio con il computer(caricamento del software e output seriale).
L'ambiente software consente di scrivere semplici programmi che permettono alla scheda di interagire con l'elettronica circostante. Tutto l'ambiente di sviluppo software è ovviamente multi piattaforma e può essere utilizzato con Windows Mac e Linux. Altro punto fondamentale, che caratterizza tutti i prodotti Open Source di successo, è la presenza di una grande comunità online di appassionati il Playground che condivide tutto dalle specifiche elettroniche fino ai codici più disparati, permettendo così anche un non esperto di iniziare a giocherellare con il mondo di Arduino.

Ora chiedo scusa per questa lunga presentazione che però era doverosa e vengo all'argomento del post. Io sono un appassionato di fotografia e mi diletto a fare fotografie soprattutto naturalistiche e paesaggistiche ed una delle sfide più interessanti in questo campo è il time lapse ovvero la possibilità di riprendere per lunghi periodi processi molto lenti con fotografie scattate ad intervalli di tempo fissi. Alcune macchine fotografiche digitali professionali o semi professionali hanno già la funzione di time lapse incorporata ma la mia fotocamera, una Canon PowerShot G11 non la ha. Così ho scoperto un interessante progetto chiamato intervaluino: Ideato e sviluppato da Tim Suess e poi migliorato da Massimo Banzi permette di costruire con una scheda Arduino un intervallometro  per camere digitali. Tutto il necessario è reperibile sul web ed è anche meticolosamente dettagliato, a partire dal materiale elettronico, passando per gli schemi ed i video sull' assemblaggio  e finendo con il codice sorgente per programmare il funzionamento dell'intervallometro.
Per me che non sono un vero elettronico assemblare l'hardware non è stato complicatissimo grazie proprio  ai video realizzati da Banzi per Wired.
Questa è la playlist con i sei video che spiegano come realizzare il progetto 






Seguendo quindi le istruzioni contenute nei video, sono riuscito a costruire il mio intervaluino





Come accennato il costo di realizzazione non è stato per niente eccessivo visto che la scheda è costata solo 25 Euro ed il resto del materiale pochissimi euro.

L'ambiente Arduino dà la possibilità a chiunque di poter giocare con l'elettronica che ci circonda, per sperimentare senza la paura di fare danni, considerando anche i costi ridotti e la semplicità di utilizzo.
La febbre di Arduino mi ha ormai contagiato ed ultimamente mi diverto a cannibalizzare ogni vecchio componente elettronico che trovo: vecchie stampanti e drive floppy(per i motorini passo-passo), vecchi cellulari(per i monitor lcd), etc. etc. E probabilmente, fra non molto, leggerete altri nuovi post su Arduino e quello che ci si può fare.

Concludendo, che siate professionisti dell'elettronica o semplici elettronici della domenica(come me) giocare con Arduino rappresenta un sistema intelligente ed economico di realizzare un po' di fai-da-te elettronico.
Ah! Dimenticavo...Ecco i risultati di questo mio primo progetto Arduino, cioè il video di alcuni test di time lapse effettuati. Fatemi sapere se vi piacciono.




AD MAiora

4 commenti:

  1. @modenetto: Per una maggiore condivisione delle informazioni ti rispondo qui sul blog alla tua domanda:” Io possiedo una macchina digitale reflex Nikon D40 che purtroppo non presenta l'ingresso jack per lo scatto remoto, o meglio wired. Ho visto su alcuni siti che hanno progettato sempre degli intervallometri però senza il jack ma con un led IR, praticamente come se fosse un telecomando. Mio figlio si è appena diplomato in elettronica e si sta appassionando all'Arduino. Potrebbe cortesemente darmi delle dritte su come realizzarlo, immagino che basterà effettuare delle varianti all'ottimo tutorial da lei realizzato.”
    Come da te anticipato, ovviamente il web è pieno di tutorial su come realizzare intervallometri per Nikon usando come interruttore un led IR. Tra i molti tutorial ti consiglierei di leggere quello di Martin Koch sul blog Control Your Camera che oltre allo schema elettrico fornisce anche il codice per Arduino e nel complesso mi sembra abbastanza esplicativo e semplice da realizzare. E poi direi che la miglior cosa da fare per iniziare a giocare con Arduino è proprio provare senza paura(come suggerisce Massimo Banzi creatore di Arduino)!
    Io non sono nemmeno un elettronico e ci sono riuscito, immagino che per un neo diplomato in elettronica sia ancora più facile ;-)
    Per ulteriori quesiti di carattere elettronico inoltre suggerisco di consultare e chiedere sui forum di Arduino.
    Dai fammi sapere come va ed a progetto finito invia una foto che la pubblichiamo!
    Buon divertimento e... Ad MAiora!

    ah! dimenticavo se ti è piaciuto il blog continua a leggermi iscrivendoti tra i followers con Google Friends Connect o NetworkedBlogs

    RispondiElimina
  2. Ciao
    Allora, con grande entusiasmo ci tenevo a condividere con te e i lettori i progressi, a mio avviso già importanti dal punto di vista qualitativo.
    Abbiamo realizzato un intervallometro con l'Arduino per la mia Nikon D40 collegando un led IR sull'uscita 13 e la terra e utilizzando lo script preso da questo sito:
    http://blog.tinyenormous.com/2009/09/30/17-arduino-nikon-ir-intervalometer-code/
    Dopodichè ho portato per comodità fuori il led semplicemente allungando il filo.
    Veniamo al video di cui ti posto il link:
    http://youtu.be/iI95cHvT9z8

    Il mio obiettivo era di fare per ogni video 30 sec di filmato a 24 fps per cui la regola da tenere è questa: 30 x 24 = 720 scatti che ho suddiviso in 5 h di intervallo temporale.
    quindi 5h sono 18000 sec / 720 (scatti) = uno scatto ogni 25 sec, questo è il Delay (va impostato in millisecondi) per l'Arduino.
    Qualche info di fotografia: è meglio impostare la macchina in manual focus per evitare cambiamenti di ripresa in base al variare della luce, bilanciamento del bianco fisso, diaframma e tempi pure, iso fisso e soprattutto se volete che la batteria duri (io ci arrivo al pelo) togliete tutto quello che consuma (display, luce autofocus, informazioni varie, etc) oppure compratevi una battery grip.
    montato con QuickTime pro e Sony Vegas.
    Spero che il video ti piaccia.
    Grazie e a presto

    RispondiElimina
  3. per evitare casini: sono sempre @modenetto ..

    RispondiElimina
  4. @Cello62(aka modenetto):
    GRANDE!!! Complimenti!
    Bellissimo il filmato anche perchè le Alpi sono stupende.
    Sono contento che tu abbia voluto condividere con me e gli altri lettori questa tua esperienza. Questo è lo spirito giusto per far smuovere il nostro paese! Continua così.
    Ad MAiora

    RispondiElimina

Per cortesia quando lasciate un commento identificatevi con il nome. Rispondere ad un anonimo per me che ci metto la faccia non è proprio il massimo ;-) Grazie