Seguidor de estrellas tipo barn-door motorizado para tu cámara
Dos tablas, una bisagra y un motor paso a paso giran tu cámara con el cielo para que las estrellas salgan nítidas en exposiciones de varios minutos.
La Tierra gira una vez cada 23 h 56 min, así que las estrellas se mueven durante una exposición larga. Un seguidor barn-door gira sobre un eje que apunta al polo celeste, y una varilla roscada lo abre exactamente a la velocidad correcta.
Trabaja en la oscuridad con una linterna roja, mantén los cables ordenados para no tropezar y asegúrate de que la cámara esté bien fija en la rótula.
Pasos de la misión
Arma las tablas
Une dos tablas con una bisagra de calidad. Perfora el hoyo de la varilla exactamente a 228.6 mm del eje de la bisagra para una varilla M6 (paso de 1.0 mm).
Monta el mecanismo
Acopla el motor 28BYJ-48 a una tuerca o varilla M6 con un engranaje o acople impreso, y contrólalo con la placa ULN2003 desde los pines GP2–GP5 del Pico.
Programa la velocidad sideral
A 228.6 mm la varilla debe girar a 1 rpm; el código también corrige el error de tangente para que puedas exponer más tiempo.
Alinea con el polo
Apunta la bisagra a la Estrella Polar (o al polo celeste sur) con un popote o mira pequeña sobre la línea de la bisagra, y monta la cámara con la rótula.
Fotografía
Empieza con exposiciones de 1 a 2 minutos a 24–50 mm, revisa las estrellas al 100% y afina el valor de pasos por vuelta.
Código
# MicroPython: tangent-corrected barn-door drive (28BYJ-48 + ULN2003)
from machine import Pin
import time, math
pins = [Pin(p, Pin.OUT) for p in (2, 3, 4, 5)]
SEQ = [(1,0,0,0),(1,1,0,0),(0,1,0,0),(0,1,1,0),(0,0,1,0),(0,0,1,1),(0,0,0,1),(1,0,0,1)]
STEPS_PER_REV = 4096 # half-steps; real motors are close to 4076 - calibrate
R_MM, PITCH_MM = 228.6, 1.0
W = 2 * math.pi / 86164.1 # sidereal rate, rad/s
done, i = 0, 0
t0 = time.ticks_ms()
while True:
t = time.ticks_diff(time.ticks_ms(), t0) / 1000
target = R_MM * math.tan(W * t) / PITCH_MM * STEPS_PER_REV
while done < target:
i = (i + 1) % 8
for p, v in zip(pins, SEQ[i]): p.value(v)
done += 1
time.sleep_ms(2)
time.sleep_ms(5)Code comments are in English, like most libraries and docs — a good habit for makers.
Preguntas
¿Cuánto tiempo puedo seguir antes de reiniciar?
Con la corrección de tangente, tanto como dé la varilla: cerca de una hora de recorrido por cada 6 cm a este radio. Luego cierra las tablas y reinicia.