Soporte motorizado para hacer timelapses

Escribo un post corto para comentar un proyecto que hice hace unos meses y por considerarlo simple o lo que sea no lo publiqué. La idea surgió con mi amigo Xisco -aficionado a la fotografía-, de hacer una base motorizada para su cámara y así poder hacer timelapses en movimiento. Los timelapses son esas filmaciones típicas a cámara lenta donde se ven las nubes pasando rápido, o las luces de los coches, etc. La cámara no es más que un teléfono Android con un programa que hace una foto cada x segundos.

La base


El armazón de la base se lo curró Xisco en un ratillo con sus herramientas de profesional:

BaseMotorizada

El circuito

El circuito es muy sencillo: un núcleo típico de ATMEGA328P (partes: el micro, el cristal con sus dos condensadores, la resistencia y botón de reset, y el conector del puerto serie para programación), más un conector para el servo, y un potenciómetro -llamado también resistencia variable- que sirve para regular la velocidad de movimiento. Ah, y un LED (con su resistencia) para debug.


EsquemaBaseMotorizada


El programa que hice no lo encuentro (cosa rara, no sé dónde lo habré metido), pero es tan sencillo con las librerías que vienen por defecto en el entorno Arduino, que lo recrearé en seudocódigo-c++ (el programa real usaría llamadas parecidas):

Servo miServo;
miServo.begin( PIN_SERVO );
int angulo = 0;
int direccion = 1;
while (1) {
float valorPotenciometro = analogRead( PIN_POTENCIOMETRO );
delay_ms( valorPotenciometro * CONSTANTE_TIEMPO );
angulo+= dir;
if ( angulo >= MAXIMO_ANGULO ) {
dir = -dir;
angulo = MAXIMO_ANGULO;
}
if ( angulo < 0 ) {
dir = -dir;
angulo = 0;
}
miServo.write( angulo );
}

El servo va haciendo un barrido de izquierda a derecha y luego vuelve hacia atrás, y así indefinidamente. El tiempo que tarda en hacer un barrido está controlado por el potenciómetro, y la constante de tiempo está ajustada para que el período sea de 5 horas con el potenciómetro al valor máximo, y un movimiento rápido cuando está al mínimo.

El circuito está alimentado por cuatro pilas NI-MH de 1,2V (3000mAh) lo que da 4,8V y una autonomía bastante buena (días), teniendo en cuenta que el servo se mueve muy lento.

Como el servo es de aeromodelismo y no tiene una gran precisión, el movimiento es algo brusco.

Aquí os dejo un link de lo que ha conseguido hacer Xisco con este proyecto: