Ardulapse 1.0, il mio intervallometro con Arduino

Già ai primi test del progetto precedente la "fotocamera" del lettore mp3 ha mostrato tutti i sui limiti, fornendo risultati appena dignitosi solo in condizioni di luce ottimali. E' emerso fin da subito che per realizzare filmati di qualità accettabile è imperativo l'utilizzo di una vera macchina fotografica. Nel caso in cui il modello disponibile abbia la presa per l'azionamento remoto la parte elettronica puù essere utilizzata senza problemi; nel mio caso ho dovuto ideare una soluzione diversa. Il progetto Ardulapse associa un intervallometro ad un sistema di azionamento meccanico del pulsante di scatto di una generica macchina digitale, realizzato con un servocomando per modellini radiocomandati tramite un cinematismo che soddisfa anche l'aspetto scenografico dell'insieme. Mesi fa ho trovato in rete il layout di una scheda Arduino riproducibile in ambito casalingo chiamata Severino (SErial VERsion arduINO, vedi https://www.arduino.cc/en/Main/ArduinoBoardSerialSingleSided3). Avendo già in casa i componenti necessari alla realizzazione, compreso il controller ATmega8, mi sono cimentato nell'impresa. Allo stesso tempo ho voluto testare i limiti delle fresette a corredo di un simil-dremel acquistato in fiera, dunque ho riportato il layout dello stampato su una piastra ramata e ho giocato al dentista. Il risultato dal punto di vista estetico non è un gran che, ma funziona; inoltre ho imparato che le dimensioni e la densità di questa piastra sono il limite massimo umanamente sopportabile. Il secondo esemplare sarà realizzato con il metodo press 'n' peel, senza alcun dubbio.



Comunque, caricato il bootloader e testato il classico sketch "blink" il Severino ha riposato in un cassetto... fino ad oggi. Infatti, cercando la soluzione più idonea per l'intervallometro, mi sono ricordato di lui e del servocomando; due più due, e "la cosa" ha cominciato a prendere forma. All' arduino serviva però un ulteriore componente, indispensabile all'utilizzo senza computer collegato: una interfaccia utente. Ho quindi realizzato la mia prima "shield" da inserire nei connettori della scheda, costituita da un display LCD 2x16, quattro pulsanti e quattro LED. Il tutto riciclabile per altri progetti quando mi sarà passata la "scimmia" per i filmati in time lapse. Qualcosa di simile (LCD keypad shield) è disponibile bella e pronta a pochi euro, ma me ne sono accorto tardi...

Schema elettrico


Layout componenti


Lo sketch
Trattandosi del mio primo progetto con Arduino ho dovuto faticare un po' per apprendere i rudimenti necessari a programmare il micro; sono comunque rimasto piacevolmente sorpreso di come gli esempi disponibili in rete, per quanto banali possano sembrare a prima vista, permettano in poco tempo di approcciare casi di impiego reali. L'acquisizione dello stato di un pulsante, l'accensione di un LED, lo sweep di un servo costituiscono i "mattoncini" che, combinati fra loro (e alle esperienze precedenti di programmazione dei PIC!) consentono di raggiungere i risultati attesi. Il codice che ho scritto per Ardulapse è ancora minimale, ma fa il suo dovere. I quattro pulsanti disponibili operano come segue:
  • SW4: funge da start/stop del timer di acquisizione delle foto;
  • SW3: in fase di impostazione dei tempi incrementa il valore in esame, nello stato "stop" una pressione porta il meccanismo nella posizione "focus" (mezzo scatto del pulsante), la pressione successiva provoca lo scatto, la terza pressione riporta il meccanismo in posizione di riposo;
  • SW2: nello stato "stop" acquisisce una foto portando il meccanismo in posizione "focus", quindi dopo un intervallo di 1.5 secondi in posizione di scatto, infine dopo un ulteriore ritardo riporta il tuto in condizioni di riposo;
  • SW1: la pressione (lunga) del pulsante avvia la funzione di setup nella quale vengono impostate le posizioni del servo per la funzione "focus" e la funzione "scatto", nonchè il valore in ore, minuti e secondi che il timer conteggerà fra uno scatto ed il successivo nella modalità automatica. Al termine della procedura i valori vengono memorizzati nella EEPROM del controller.
Il codice è scaricabile da questo link;Sketch Ardulapse
Assemblaggio meccanico
Il servocomando, il braccio di azionamento e la biella di collegamento sono montati su una struttura in legno a sua volta fissata al contenitore di un alimentatore ATX trapassato, in cui trova posto la macchinetta utilizzata per le prove. Questa è trattenuta in posizione dalla vite da 1/4" di un piccolo treppiede passante dal fondo del contenitore attraverso un'asola che permette di regolarne la posizione. Ho effettuato qualche test ed il circuito fa quello che deve. Come si nota nelle foto, alla fine del braccio di azionamento ho montato una gomma da cancelleria opportunamente intagliata per non graffiare il pulsante e ottenere un contatto morbido. Il posizionamento è molto preciso e dopo aver memorizzato le posizioni di "fuoco" e "scatto" i movimenti sono ripetuti con ottima affidabilità, nonostante l'escursione fra di esse sia di un millimetro o anche meno. Nel sonoro del filmato che segue è udibile il "bip" della avvenuta messa a fuoco ed il "click" dello scatto.




All'opera...
To Do list
  • Alimentazione fotocamera: per riprese lunghe occorre alimentare esternamente la fotocamera tramite la presa di ricarica che nel modello attualmente utilizzato è a standard USB, quindi 5volt, forniti da un alimentatore a muro;
  • Accorciare la lunghezza della biella in modo tale da ottenere lo scatto della fotocamera quando il servo è vicino a quello che in un motore sarebbe il "punto morto superiore" per aumentare la precisione di funzionamento ed evitare possibili danni se il servo dovesse sfuggire al controllo;
  • Per la scheda Arduino servono 8 o più volt non stabilizzati; bypassando il regolatore a bordo, sarebbe possibile alimentare fotocamera + arduino con un'unica fonte a 5 volt, magari una grossa power bank, ottenendo una buona autonomia di funzionamento, svincolata dalla rete elettrica
praz2004 chiocciola libero punto it