Paso 2: Sketch de Arduino
El código del sketch de Arduino requiere el uso de dos bibliotecas: IRcameraControl e paso a paso.
Aquí está:
#include //IRcameraControl biblioteca
#include //Stepper biblioteca
Debido a la longitud de la binaria (unos 60 cm), el número máximo de pasos es 6150
Tab1:
Si stepsset = 5 = > 1230 lazo
Si stepsset = 6 = > 1025 lazo
Si stepsset = 7 = > 878 lazo
Si stepsset = 8 = > 769 lazo
Si stepsset = 9 = > 683 lazo
Si stepsset = 10 = > 615 lazo
Si stepsset = 15 = > 410 loop
Si stepsset = 20 = > 307 lazo
Si stepsset = 25 = > 247 lazo
Si stepsset = 30 = > 205 lazo
Si stepsset = 35 = > 175 lazo
Si stepsset = 40 = > 153 lazo
Si stepsset = 45 = > 136 lazo
Si stepsset = 50 = > 123 lazo
Los siguientes datos son modificables por el usuario
Definir ahora el retraso en milisegundos antes y después de disparar
#define delaypre 6000
#define delaypost 6000
Editar el valor de stepsset a continuación teniendo en cuenta de lo que esta escrito arriba y también el hecho de que cada bucle es igual a (delaypre + delaypost) / 1000 en seconsds.
#define stepsset 10 //by multiplicando al número de bucles correspondientes a la stepsset para la duración del bucle solo que se obtiene la duración total. Obviamente el número de bucles también identifica el número de fotos. En este caso: con stepsset = 10 hemos definido 615 lazos = 615 fotos. bucles de 615 x (delaypre + delaypost) / 1000 = 7380 segundos = 123 minutos = 2 horas
Dejar de modificaciones
---(números del motor paso)---
#define STEPS_PER_MOTOR_REVOLUTION 32
---(Pasos de salida teniendo en dimensión de engranaje cuenta)---
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 //2048
Pines de Arduino a los cuales está conectado el chip del ULN2003
Paso a paso small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
definir los pines de conexión de LED IR
Nikon D5000(5); clavijas del IR LED para la filmación de auto
declara las variables
int numberofloopforward; para saber el número de serie de los bucles de avance
pasos de int = stepsset; indica el número de pasos definidos por el usuario (ver arriba)
int maxloop = 6150/pasos; Define el número máximo total de lazos teniendo en cuenta la longitud de la binaria.
int numberofloopbackward = maxloop; conocer el número de bucles hacia atrás
int Steps2Take;
void setup()
{Serial.begin(9600);
Serial.Print ("pasos =");
Serial.println(STEPS);
Serial.Print ("maxloop =");
Serial.println(maxloop);
}
void loop() / *---(bucle: funcionamientos constantemente)---* /
{
Si (numberofloopforward < maxloop)
{
numberofloopforward = numberofloopforward + 1;
Serial.Print ("numberofloopforward =");
Serial.println(numberofloopforward);
small_stepper.SETSPEED(500);
small_stepper.Step(STEPS);
Delay(delaypre); detener el tiempo antes de disparar
D5000.shutterNow(); Scatto
Delay(delaypost); tiempo después de disparar
}
otra cosa
{
Si (numberofloopbackward > 0)
{
numberofloopbackward = numberofloopbackward -1;
Serial.Print ("numberofloopbackward =");
Serial.println(numberofloopbackward);
small_stepper.SETSPEED(500); velocidad
small_stepper.Step(-STEPS);
}
otra cosa
{
small_stepper.SETSPEED(0);
small_stepper.Step(0);
}
}
}
Como puede verse en el código anterior, el LED IR está conectado al pin 5 y la Junta de pasos ULN2003 a pernos de 8 a 11. Aquí encima de un muy pequeño video de cómo funciona el sistema.