Marco Pucci

personal website

Tutorial #17 – Time-lapse con Arduino

Tutorial #17 – Time-lapse con Arduino

Materiale utilizzato – Arduino UNO – base per robot – 2 servo motori continui – 2 ruote – 2 ruote a sfera – porta batterie – 3 interruttori.

Per vedere tutti i tutorial: www.marcopucci.it/arduino/

 

images (1)
Segui la pagina Tutorial Arduino su Facebook

N.B: Clicca qui per scaricare il file .zip con tutti gli sketch utilizzati per realizzare il carrello per time-lapse.

 

Questo tutorial è stato realizzato in collaborazione con www.robotics-3d.com che mi ha fornito i componenti per costruire il carrello per il time-lapse.
In fondo al tutorial il link per trovare i componenti che ho utilizzato.
Il time-lapse è una tecnica per realizzare un video partendo da una serie di fotografie scattate a brevi intervalli di tempo. L’effetto ottenuto è quello di un video dove tutto scorre molto velocemente, nuvole, persone, ecc…

Questo tipo di effetto è realizzato con delle macchine fotografiche in grado di scattare in maniera automatica centinaia di foto a breve distanza l’una dall’altra (2 secondi, 5, 10, ecc…).
Ad esempio le action camera come la GoPro possono essere utilizzate per questo scopo. Se avete una macchina digitale verificate se nelle varie funzioni è prevista quella del time-lapse.
Il time-lapse può essere realizzato con una camera fissa oppure con una macchina fissata su un carrello che si sposta ogni due secondi (o altri brevi intervalli di tempo). Di solito questi carrelli poggiano su binari lunghi circa un metro e sono molto costosi.
In questo tutorial realizziamo un carrello che segue un “binario” flessibile. Al posto delle barre rigide utilizziamo un grosso cavo. A questo possiamo dare la forma che volgiamo (cerchio, semi cerchio, sinusoide, ecc….). Il carrello che realizziamo può seguire queste forme grazie a due ruote a sfera
posizionate nella parte anteriore.

 

time_lapse_arduino10

 

Qui sopra un dettaglio del carrello. Le due ruote spingono la struttura lungo il cavo. In questo modo il nostro time-lapse avrà un maggiore effetto scenografico grazie al percorso che decidiamo di fargli fare.

 

La stuttura

Seguite le istruzioni qui sotto per costruire la struttura del carrello.

 

time_lapse_arduino Incolliamo due ruote a sfera davanti alla base circolare.
Le due sfere devono toccarsi. Qui passa il cavo che determina il percorso del carrello.
time_lapse_arduino9 Fissiamo Arduino.
time_lapse_arduino8 Inseriamo un modulo a X sopra il motorino e fissiamolo con una
vite (questi componenti sono presenti in ogni motorino)

time_lapse_arduino7

 

 

Incolliamo le ruote ai due motorini

 

 

 

 

 

time_lapse_arduino6

La struttura inferiore del carrello è terminata.
Giriamo il carrello e fissiamo il pacco batteria al centro e i tre interruttori all’estremità (vedere immagine qui sotto).

 

time_lapse_arduino2

 

Il primo interruttore serve per accendere e spegnere il carrello. In modalità base il carrello si muove, di un piccolo impulso, ogni due secondi.

Se attiviamo il secondo interruttore il movimento avviene ogni cinque secondi.
Se attiviamo il terzo il movimento ha un tempo di dieci secondi.
In questo modo possiamo impostare la velocità di time-lapse sulla nostra camera e, di conseguenza, impostare la velocità di movimento del carrello.

 

Schema elettrico

Qui sotto lo schema elettrico del circuito che dobbiamo realizzare.

schema_time_lapse

 

1 – Colleghiamo il porta batterie all’interruttore. Il cavo rosso va nel pin dell’interruttore (off), mentre quello di destra va collegato con il pin VIN di Arduino (il pin che alimenta Arduino).
Il cavo nero va collegato al pin GND di Arduino. In questo modo abbiamo chiuso il circuito. Quando l’interruttore verrà spostato a sinistra la corrente delle batterie alimenterà Arduino.
2 – Collegare i due servo motori seguendo lo schema elettrico.
3 – Gli altri due interruttori servono per reimpostare le varie velocità di movimento. Per poterlo fare dobbiamo inserire l’uscita dei due interruttori ai pin 4 e 5 di Arduino. Questi due pin verranno letti nello sketch per vedere quale dei due è stato attivato.

 

Informatica

Vediamo come funziona il codice per far muovere i due servo motori continui (360°).
Prendiamo come riferimento la pagina del sito di Arduino: http://arduino.cc/en/Reference/ServoWriteMicroseconds
Qui viene spiegato che tramite il comando servo.writeMicroseconds() possiamo controllare la direzione e la velocità di un servo motore continuo.
Inserendo un valore uguale a mille all’interno del comando servo.writeMicroseconds(1000) il servo si muoverà in senso antiorario. Con il comando servo.writeMicroseconds(2000) si muoverà in senso orario, mentre con servo.writeMicroseconds(1500) il motore si bloccherà.
Questi valori vanno bene per i motorini standard. Non è detto che valgano per tutti i modelli (alcuni possono variare tra 700 e 2300). In questo secondo caso dovete fare delle prove fino a quando i vostri motori andranno avanti e resteranno fermi.
Apritelo sketch precedentemente scaricato _1_2_secondi.ino per fare alcune di queste prove.
Uplodate il codice e verificate se i due motori rispettano il movimento assegnato (avanti, fermo). In caso contrario provate a cambiare i numeri nel codice myservo1.writeMicroseconds();

 

N.B: se nelle vostre librerie di Arduino non è presente la libreria Servo dovete installarla. Copiate la cartella Servo (presente nella cartella scaricata a inizio tutorial) e copiatela all’interno della cartella Libraries di Arduino.

 

#include <Servo.h>
Servo myservo1;
Servo myservo2;
void setup ()
{
myservo1.attach (3);
myservo2.attach (6);
I motorini devono essere collegati ai pin 3 e 6

}
void loop () {
avanti();
delay(2000);
Richiamo la funzione avanti()
aspetto 2 secondi

fermo();
delay(5000);
}
void avanti(){
myservo1.writeMicroseconds (1480);
myservo2.writeMicroseconds (1450);
}
Funzione avanti() – i due motorini hanno valori diversi perchè montati in maniera speculare. Provate a inserire dei numeri fino a quando i motorini vanno tutti e due avanti

void fermo(){
myservo1.writeMicroseconds (1460);
myservo2.writeMicroseconds (1470);
}
Funzione fermo() – Provate a inserire dei numeri fino a quando i motorini stanno fermi

 

 

Vediamo ora il codice relativo all’utilizzo dei due interruttori.
Aprite lo sketch _2_interruttori.ino

 

 

#include <Servo.h>
Servo myservo1;
Servo myservo2;
void setup()
{
Serial.begin( 9600 );
myservo1.attach(3);
myservo2.attach(6);
}
void loop()
{
int interruttore_1 = analogRead(A5);
int interruttore_2 = analogRead(A4);
Pin5 e Pin4 vengono utilizzati per leggere il valore dei due interruttori.

Serial.print(“interruttore n.1:”);
Serial.println(interruttore_1);
Serial.print(“interruttore n.2:”);
Serial.println(interruttore_2);
Aprite il Serial Monitor. Se il primo interruttore viene attivato il suo valore diventa uguale a 0. Stessa cosa con l’interruttore n.2.

if (interruttore_1==0){
avanti();
delay(75);
fermo();
delay(5000);
}
Se il valore del primo interruttore è uguale a 0 (attivo) allora sposta i motorini ogni 5 secondi.

if (interruttore_2==0){
avanti();
delay(75);
fermo();
delay(10000);
}
Se il valore del secondo interruttore è uguale a 0 (attivo) allora sposta i motorini ogni 10 secondi.
else{
avanti();
delay(75);
fermo();
delay(2000);
}
Se nessuno dei due è attivo allora sposta i motorini ogni 2 secondi.

}
void avanti(){
myservo1.writeMicroseconds (1480);
myservo2.writeMicroseconds (1450);
}
void fermo(){
myservo1.writeMicroseconds (1460);
myservo2.writeMicroseconds (1470);
}

 

time_lapse_arduino3

 

Decidete il percorso (linea diretta, curve, semicerchio) che deve percorrere il vostro carrellino nel riprendere le immagini e posate il cavo scelto come binario a terra. Dategli la forma desiderata e fissatelo con del nastro adesivo. Si consiglia di scegliere una superficie regolare.
Sopra il carrello posizionate la vostra macchinetta fotografica e impostate il tempo di scatto.
Attivate lo stesso tempo (2, 5 o 10 secondi) nel carrello.
Se non avete mai realizzato un time-lapse dovete prendere tutte le immagini che la macchina ha scattato e montarle con un programma di video-editing come Premiere o After Effects.
In rete esistono tanti semplici tutorial per aiutarvi a realizzare dei video incredibili.

 

MATERIALE UTILIZZATO
Potete trovare tutto il materiale per realizzare il carrello per time-lapse acquistando il box completo presso il sito www.robotics-3d.com

 

time_lapse_arduino5

 

 

 

 

 

 

time_lapse_arduino4

 

 

Licenza Creative Commons

I tutorial sono liberamente scaricabili e condivisibili sotto l’etichetta Creative Commons (non è possibile commercializzarli e modificarli)

 

 

icona_pdf

Scarica il Pdf del tutorial di Arduino  “Carrello time-lapse

 

 

Ti è piaciuto il tutorial? Se ti va offrimi un caffè… [paypal-donation]

 

 

 

 

 

 

 

 

 

Succ Articolo

Precedente Articolo

© 2024 Marco Pucci

Tema di Anders Norén