Étape 2: Sketch Arduino
Le code de sketch Arduino nécessite l’utilisation de deux bibliothèques : IRcameraControl e Stepper.
C’est ici :
#include //IRcameraControl bibliothèque
#include //Stepper bibliothèque
En raison de la longueur du fichier binaire (environ 60 cm), le nombre maximal d’étapes est 6150
Tab1 :
Si stepsset = 5 = > 1230 loop
Si stepsset = 6 = > 1025 loop
Si stepsset = 7 = > 878 loop
Si stepsset = 8 = > 769 loop
Si stepsset = 9 = > 683 loop
Si stepsset = 10 = > 615 loop
Si stepsset = 15 = > 410 loop
Si stepsset = 20 = > 307 loop
Si stepsset = 25 = > 247 loop
Si stepsset = 30 = > 205 boucle
Si stepsset = 35 = > 175 loop
Si stepsset = 40 = > 153 loop
Si stepsset = 45 = > 136 loop
Si stepsset = 50 = > 123 loop
Les données suivantes sont modifiables par l’utilisateur
/ Définir maintenant le délai en millisecondes avant et après le tournage
#define delaypre 6000
#define delaypost 6000
Modifiez la valeur de stepsset ci-dessous en tenant compte de ce qui est écrit ci-dessus et aussi du fait que chaque boucle est égale à (delaypre + delaypost) / 1000 en seconsds.
#define stepsset 10 //by multipliant le nombre de lignes correspondant à la stepsset pour la durée de la boucle, que la durée totale est obtenue. Évidemment, le nombre de boucles identifie aussi le nombre de photos prises. Dans ce cas : stepsset = 10, nous avons défini 615 boucles = 615 photos. boucles de 615 x (delaypre + delaypost) / 1000 = 7380 secondes = 123 minutes = environ 2 heures
Arrêter des modifications de l’utilisateur
/---(step numéros du moteur)---
#define STEPS_PER_MOTOR_REVOLUTION 32
---(Étapes de sortie prenant en dimension de compte gear)---
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 //2048
Broches de l’Arduino à wich est relié la puce ULN2003
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11) ;
définir les broches de connexion d’IR LED
Nikon D5000(5) ; goupilles de LED IR pour le tournage d’auto
déclare les variables
int numberofloopforward ; pour connaître le numéro de série de transférer les boucles
étapes d’int = stepsset ; indique le nombre d’étapes défini par l’utilisateur (voir ci-dessus)
int maxloop = 6150/étapes ; Il définit le nombre maximal total de boucles en tenant compte de la longueur du fichier binaire.
int numberofloopbackward = maxloop ; pour connaître le numéro de séquence de boucles en arrière
int Steps2Take ;
void setup()
{Serial.begin(9600) ;
Serial.Print (« étapes = ") ;
Serial.println(Steps) ;
Serial.Print ("maxloop =") ;
Serial.println(maxloop) ;
}
void loop() / *---(boucle : fonctionne en permanence)---* /
{
Si (numberofloopforward < maxloop)
{
numberofloopforward = numberofloopforward + 1 ;
Serial.Print ("numberofloopforward =") ;
Serial.println(numberofloopforward) ;
small_stepper.setSpeed(500) ;
small_stepper.Step(Steps) ;
Delay(delaypre) ; arrêter le temps avant le tournage
D5000.shutterNow() ; SCATTO
Delay(delaypost) ; arrêter le temps après le tournage
}
d’autre
{
Si (numberofloopbackward > 0)
{
numberofloopbackward = numberofloopbackward -1 ;
Serial.Print ("numberofloopbackward =") ;
Serial.println(numberofloopbackward) ;
small_stepper.setSpeed(500) ; Vitesse
small_stepper.Step(-Steps) ;
}
d’autre
{
small_stepper.setSpeed(0) ;
small_stepper.Step(0) ;
}
}
}
Comme peut être vu à partir du code ci-dessus, l’IR LED est connecté à la broche 5 tandis que le Conseil de Stepper ULN2003 aux broches du 8 au 11. Voici ci-dessus une très courte vidéo de fonctionnement du système.