Introduction: Camara a Intervalos Timelapse De Bajo Presupuesto Con DigiSpark

About: Proyectos, articulos, y opiniones tecnologicas para el hogar y la industria

CAMARA LLAVERO

* This article is also available in English clicking here

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.

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 )

Para mas informacion visita Automatizanos.com

Step 1:

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.

Step 2:

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

Step 3:

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

Step 4:

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

Para mas informacion visita Automatizanos.com