Timelapse con Canon Rebel (EOS), Arduino, y FFMPEG
July 20, 2009Introducción
Éste pequeño tutorial (WIP), si es que merece llamarse así, muestra cómo tomar fotografías automáticamente cada cierto lapso de tiempo, para luego generar un video con las mismas, logrando el bien conocido efecto “Timelapse“.
El código es bastante sencillo, espero mejorarlo en algún momento y agregar mas inputs para hacerlo autónomo y no depender de una computadora si es que se quiere modificar el valor.
Materiales utilizados
- Canon Rebel XT (ó 300 / 350D)
- Cable USB / Mini USB
- Seeeduino (Arduino Diecimila Compatible). Se puede adquirir en Ditentec
- Optoacoplador 4N26 (ó 4N28, 4N35) = u$s0,63 en Ditentec
- Plug 2.5 mm Stereo(3/32″)
Softwares utilizados
Proceso
Las cámaras Canon Rebel o EOS nos permiten conectar un control remoto a través de un plug estándar de 2.5 mm (3/32″), para disparar a distancia, lo cual facilita automatizar la tarea, en este caso con un Arduino (Seeeduino) y un Optoacoplador 4N26.
“Un optoacoplador, también llamado optoaislador o aislador acoplado ópticamente, es un dispositivo de emisión y recepción de luz que funciona como un interruptor excitado mediante la luz. La mencionada luz es emitida por un diodo LED que satura un componente optoelectrónico, normalmente en forma de fototransistor. De este modo se combinan en un solo dispositivo semiconductor, un fotoemisor y un fotorreceptor cuya conexión entre ambos es óptica. Estos elementos se encuentran dentro de un encapsulado que por lo general es del tipo DIP. Se suelen utilizar como medio de protección para dispositivos muy sensibles.” – http://es.wikipedia.org/wiki/Optoacoplador
Imágenes

Esquema del circuito.

Prototipo funcionando.


1: Digital Pin 9 del Arduino.
2: GND del Arduino.
3: No se usa.
4: Tip del plug.
5: GND de la camara, si juntáramos el cable verde con el rojo,
cerraríamos el circuito y se dispararía la cámara.
6: No se usa.

Shield: GND de la cámara.
Ring: Foco, equivalente al “Half Press”, no lo usamos en este caso.
Tip: Disparador (“Shutter”)
Código
Generando el video a partir de los .JPG’s
En GNU/Linux, teniendo instalado FFMPEG, éste comando obtenido en http://www.munz.li/?p=48 me dió excelentes resultados (Hacer cd /path/a/fotos/ ):
$ cd /path/a/fotos/
$ mencoder -nosound mf://*.jpg -mf w=800:h=371:type=jpg:fps=15 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2160000:mbd=2:keyint=132:v4mv:vqmin=3:lumi_mask=0.07:dark_mask=0.2:mpeg_quant:scplx_mask=0.1:tcplx_mask=0.1:naq -o time_lapse-test.avi
Bibliografía
http://wordpress.bolanski.com/
http://www.image-in.com/fredmiranda/Detector.doc
http://www.munz.li/?p=48
Seeeduino
July 4, 2009Había olvidado mostrar esta reciente adquisición:

Una Seeeduino (Arduino diecimila compatible) 1.1 de SeeedStudio adquirida a través de DitenTec.
En algún momento estaré subiendo un proyecto.
jQuery Puzzle mejorado.
June 12, 2009
Vlad de VladStudio.com tomó el source del Puzzle en jQuery que hice hace un tiempo, y lo mejoró considerablemente y a su vez creó 92 puzzles diferentes de hasta 16×10 piezas, con lista de records de tiempo y hasta Hints.
cafeycigarrillos.com.ar
May 12, 2009Processing.js y jQuery
May 4, 2009Hace unos días estaba haciendo ésto con ContextFree

Mas tarde, viendo que tal processing.js (Processing.org portado a JavaScript por el culpable de jQuery) vi el demo del arbolito, y pensé en meterle jQuery, en segundos salió esto: http://lab.deytec.net/processingjs/
3G en Ubuntu (de Movistar, Claro y Personal)
January 26, 2009Estoy en el campo conectado desde mi Gutsy y un Huawei E226 de movistar. A pesar de lo pésimo y limitado del servicio, es la única forma que tengo de conectarme desde acá.
Buscando encontré los siguientes enlaces que me fueron útiles a la hora de hacerlo andar:
http://groups.google.com.ar/group/gulcar/browse_thread/thread/b053069eb77fdc15?pli=1
http://www.taniwha.org.uk/gprs.html
http://www.taringa.net/posts/info/1221276/huawei-e226–con-claro-arg-funcionando-en-ubuntu.html
Entonces: Conectar el Módem 3G. Editar el archivo wvdial.conf
sudo gedit /etc/wvdial.conf
Ingresar las siguientes líneas para Movistar:
Phone = *99# Username = internet Password = internet
Para Claro::
Phone = *99# Username = ctigprs Password = ctigprs999
Para Personal::
Phone = *99# Username = gprs Password = adgj
Luego, ejecutar:
sudo wvdialconf
Esto va a completar los datos del archivo wvdial.conf dejando algo como ésto (mi caso):
[Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Modem Type = Analog Modem ISDN = 0 Phone = *99# Modem = /dev/ttyUSB0 Username = internet Password = internet Baud = 460800
DNS Movistar:
nameserver 200.49.193.140 nameserver 200.49.206.140
DNS Claro:
nameserver 170.51.255.100 nameserver 170.51.242.18
DNS Personal:
nameserver 172.25.7.6 nameserver 172.25.7.7
Entiendo que ésto funciona en Ubuntu 7.10 y 8.10 por lo menos.
Para mas información, acceder a los enlaces de arriba.
Voy a intentar hacer que levante automágicamente al conectar el módem y luego diré cómo.



