Intervalómetro para time-lapses.

Diego Liedo.

La licencia es Creative commons. attribution-share alike

Hola. Un time-lapse es el nombre de una secuencia de fotos que después es reproducida a un intervalo diferente. El efecto es como si las cosas estuvieran aceleradas.

Un intervalómetro es un aparato que automatiza el proceso de tomar las fotos cada determinado tiempo.

Hice uno con arduino, debe funcionar con cualquier cámara que tenga jack para control remoto alámbrico. Sé que las Canon son fáciles.

Las piezas necesarias:

  • Arduino
  • Relay de 5V (yo usé RAS-0510). $13
  • LED (hay unos en oferta a 60 centavos en el primer recurso)
  • Push de 2 patas. $1.50
  • Jack de 3.5mm para audio. $4
  • plug de 3.5mm. $3
  • plug de 2.5mm (sólo para cámaras Canon). $3
  • Resistencia 10 Ω (pull up del interruptor).
  • Resistencia 120 Ω (para led verde).
  • Placa fenólica perforada (a menos que quieran hacerlo a mano, yo usé el modelo 405). $11
  • Headers. $5
  • Alambre.

El funcionamiento es el siguiente:

Calcular la exposición y el foco y dejarla fija.

Se conecta todo y se aprieta el botón, empieza a contar el tiempo, cuando se presiona por segunda vez termina de contar. Queda grabado el intervalo al que disparará la cámara.

Presionar el reset del arduino para terminar.

El programa (lo lamento mucho pero tumblr no acepta código):

//INTERVALÓMETRO de Relay programable por medio de botón.

//V.0.2

//Diego Liedo Lavaniegos.

//Creative Commons Attribution - Share alike.

/*El botón de la placa se aprieta 2 veces, el intervalo es medido e introducido como retraso del cierre de circuito. */

#define led 10

#define relay 11

#define boton 12

int lectura;   //variable para leer el botón.

long tiempo1;   //tiempo de primer presión del botón.

long tiempo2;   //tiempo de segunda presión del botón.

long transcurrido;   //resta de tiempo2 - tiempo1 = intervalo.

int toggle=LOW;   //variable para guardar el estado del botón.

void setup(){

//debugging Serial.begin(9600);

pinMode(led,OUTPUT);

pinMode(relay,OUTPUT);

pinMode(boton,INPUT); }

void intervalo(){

analogWrite(led,32);   //LED baja intensidad a 1/8 cuando el intervalómetro está funcionando.

digitalWrite(relay,HIGH);

delay(100);

digitalWrite(relay,LOW);

delay(transcurrido-600);   //menos 600 para quitar el delay antirebote y de disparo. }

void loop(){

lectura=digitalRead(boton);

transcurrido=(tiempo2-tiempo1);

if (lectura==HIGH&&toggle==LOW){

toggle=!toggle;

analogWrite(led,255);   //LED enciende al 100% mientras el tiempo es medido.

tiempo1=millis(); }

else if(lectura==HIGH&&toggle==HIGH){

toggle=!toggle;

tiempo2=millis();}

else if (toggle==HIGH&&lectura==HIGH){

digitalWrite(led,LOW);}

if (transcurrido>=1){

intervalo(); }

/*debugging

Serial.print(“Boton:”);

Serial.print(lectura);

Serial.print(“\t toggle: “);

Serial.print(toggle);

Serial.print(“\t tiempo:”);

Serial.println(transcurrido); */

delay(500);   //evita rebote del interruptor }

  1. arduinouva posted this
Taller de arduino "Bichos luminosos"

view archive