Camara a intervalos timelapse de bajo presupuesto

Error message

  • Notice: Undefined index: taxonomy_term in similarterms_taxonomy_node_get_terms() (line 518 of /home/venydivi/public_html/automatizanos/sites/all/modules/similarterms/similarterms.module).
  • Notice: Undefined offset: 0 in similarterms_list() (line 221 of /home/venydivi/public_html/automatizanos/sites/all/modules/similarterms/similarterms.module).
  • Notice: Undefined offset: 1 in similarterms_list() (line 222 of /home/venydivi/public_html/automatizanos/sites/all/modules/similarterms/similarterms.module).
administrador's picture
Camara a intervalos time lapse bajo presupuesto

CAMARA LLAVERO

Estas diminutas mini camaras que han tomado muchas formas como llavero, paquete de goma de mascar, encendedor, mechero, boligrafo, etc basicamente constan un sensor de imagen CMOS, un procesador de imagen y una bateria que cumplen la funcion de grabar video (con audio!) y tomar fotografias, generalmente en una memoria extraible micro SD.

* This article is also available in English clicking here

La calidad de la construccion de estas camaras y sus componentes es bastante pobre (su precio generalmente es de menos de 5 DOLARES / EUROS / LIBRAS ) por lo que suelen fallar con regularidad, La bateria recargable como en muchos otros dispositivos electronicos suele ser la principal falla. Si se posee una de estas camaras en algun cajon, por que dejaron de funcionar por problemas en la bateria, se le puede dar una segunda oportunidad como camara de fotografias a intervalos o "time lapse" con componentes que probablemente se tienen a la mano de forma que el presupuesto a invertir puede ser muy bajo.

Las caracteristicas del proyecto serian las siguientes:

* Intervalo programable
* Muy bajo consumo de energia
* Flash automatico
* Bateria externa
* Bajo presupuesto ( podria ser 0 )

CONEXIONES EXTERNAS

Estas camaras cuentan con interruptores o pulsadores externos para habilitar sus diferentes modos, como la grabacion de videos o la toma de fotografias fijas. Generalmente se cuenta con un pulsador que al dejarse presionado por un determinado lapso de tiempo enciende la camara y si se presiona de nuevo por un determinado lapso de tiempo apaga la camara. Este apagado/encendido de la camara es totalmente "por software" pues no se desconecta nunca la alimentacion.

El otro interruptor pulsador se utiliza como disparador para tomar fotografias fijas, si se pulsa y se suelta rapidamente tomara una fotografia, por el contrario si este interruptor se deja presionado por cierto intervalo de tiempo, se pondra en modo de grabacion de video continuo, y seguira grabando hasta que este boton sea presionado de nuevo o hasta que la bateria de la camara se agote. Si no se esta grabando video, la camara se apagara automaticamente despues de un determinado tiempo, sino se esta ejecutando ninguna accion como tomar fotografias.

La cantidad de interruptores, los intervalos para encender/apagar, tomar fotografias, iniciar/detener grabacion de video pueden variar un poco dependiendo del fabricante y modelo exacto de la camara, pero en general, suelen funcionar como se menciono anteriormente.

Para controlar de forma externa la camara y para alimentarla, en caso de bateria defectuosa o si se requiere una mayor autonomia, se deberan soldar cables en el circuito impreso tanto en los pulsadores, como en los contactos de alimentacion. En lo posible usar cable aislado y del menor calibre posible.

Conexiones externas camara llavero a intervalos time lapse

AUTOMATIZANDO PULSACIONES

Para automatizar la toma de fotografias, basta con un simple un simple circuito ya sea mediante un integrado 555, transistores, o reles. Sinembargo si se requiere cosas mas complejas como tomar fotografias en intervalos variables, o en un intervalo mas largo que el tiempo de apagado de la camara o si se requiere algun tipo de "flash" activado cuando hay poca luz, se requerira de algun tipo de "inteligencia programable".

Para realizar esta tarea puede usarse cualquier sistema microcontrolado de preferencia, en este caso se usara un Digispark, el cual es un sistema muy pequeño, muy economico ( cuesta aproximadamente 1 DOLAR/EURO/LIBRA con envio incluido a cualquier lugar del mundo ), se conecta directamente al puerto USB sin requerir de un cable, ademas con un poco de esfuerzo puede hacerse compatible con la suite ARDUINO.

La secuencia ciclica que realiza el microcontrolador es la siguiente.

* Dejar presionado el pulsador de encendido de la camara y luego soltarlo. (Enciende camara)
* Esperar mientras se inicializa la camara
* Determinar las condiciones de iluminacion ( mediante un panel solar miniatura usado en juguetes ) para encender o no el "flash"
* Dejar presionado el interruptor de disparo de fotografia y soltar rapidamente ( Para evitar entrar en modo de grabacion de video )
* Apagar el "flash" si es que este se encendio
* Esperar mientras se graba la fotografia en la memoria micro SD
* Dejar presionado el pulsador de encendido de la camara y luego soltarlo. ( Apaga camara )
* Poner el microcontrolador en modo bajo consumo, activar el temporizador de watchdog.

Los diferentes tiempos de espera como pulsacion de botones, inicializacion, encendido, apagado, deberan ser hallados de forma experimental pues pueden variar dependiendo del tipo de camara usada. Generalmente uno de los interruptores funciona en modo "pull up" y el otro funciona en modo "pull down" verificar bien esto con un multimetro para determinar la forma de conexion de los optoacopladores.

El sistema se programo en C usando AVR GCC, y se deberan instalar los drivers Micronucleus para poder programar el Digispark

Sistema microcontrolado Digispark

PROCESANDO IMAGENES

La camara almacenara las imagenes en la memoria Micro SD. En cada una de las imagenes se estampara la fecha y la hora que tenga programada la camara. Esto puede ser un problema si se quiere componer un video con todas las imagenes, pues no hay una forma de desactivar la estampacion de la fecha/hora en cada imagen. Existen algunas alternativas en el foro de 808, como modificar el firmware ( solo para algunos modelos especificos) , aplicar filtros de video mediante virtual dub, etc.

Una alternativa simple para eliminar la estampa de fecha/hora en muchas imagenes, es utilizar Imagemagick, la idea es recortar de la foto la porcion donde aparece lo que se quiere eliminar, ademas puede ser necesario redimensionar para que la imagen cuadre con el tamaño del video de la siguiente forma:

mogrify -crop 1280x720+0+64 *.*

De esta forma se produce una imagen de 1280 x 720 pixeles como resultado, de donde se han recortado los ultimos 64 pixeles de la parte baja de la imagen original.

Por ultimo para generar un video de 30 fps a partir de multiples imagenes, que tengan un nombre en secuencia y empiecen desde cero (p.e EKEN0000.jpg, EKEN0001.jpg, EKEN0002.jpg ...), se puede usar avconv

avconv -r 30000/1001 -i EKEN%04d.jpg -r 30000/1001 video.mp4

Procesamiento de imagenes para remover fecha y redimensionar

CONCLUSIONES

* La calidad de la imagen no es muy buena, por lo que se tiene que experimentar mucho con la distancia del objeto y la iluminacion para lograr resultados decentes.
* Poner el microcontrolador en modo bajo consumo y apagar la camara entre tomas, ahorra mucha energia, por lo que se puede utilizar baterias externas para tener un sistema relativamente "portatil"
* Existen muchas alternativas para toma de fotografias a intervalos time lapse, generalmente son mas costosas, o consumiran mas energia. Este simple ejercicio puede hacerse en par de horas, con elementos disponibles a la mano y con un bajo consumo de energia

DOCUMENTACION

(Ver en la parte inferior - Archivos adjuntos)

* Articulo completo en PDF incluye esquematico y codigo
* Codigo fuente
* Makefile

VIDEO

Video demostrativo de las modificaciones realizadas a la camara y un video de prueba de 3 dias de germinacion de semilla de frijol mung