L’intervallomètre à base d’Arduino proposé dans ce blog possède deux fonctions, celle d’intervallomètre et celle de télécommande pour appareil photo. La première fonction nécessite un code Arduino déjà présenté. Grace à la souplesse d’Arduino, voici un autre code Arduino qui permet une troisième fonction : la réalisation d’une gamme de pauses photographiques. Cette fonction peut être très utile afin de déterminer par des essais le meilleur temps de pause. Le code ci-dessous permet une gamme de 1/30e de seconde jusqu’à 2 secondes mais on peut le modifier comme bon nous semble. Il convient de paramétrer l’appareil photo en pause B puisque c’est Arduino qui effectue l’exposition. Arduino n’arrivera pas à faire des pauses inférieures au 1/30e mais nous quittons presque le domaine de l’astrophotographie avec des pauses aussi courtes.
/*
Programme de gamme de pauses pour astrophoto
Pour intervallomètre
Voir le blog Astronomie par les trois bouts
https://astronomiebbb.blogspot.com
*/
# define Declanche 3 // broche du déclencheur
void setup() // setup est exécuté une seule fois à la mise sous tension
{
pinMode(Declanche, OUTPUT); // la broche Declanche (3) est initialisée en sortie
delay(5000); // Délai de 5s entre la mise en tension et le début des déclenchements
digitalWrite(Declanche, HIGH); // Active le déclenchement
delay(33); // Délai 33 ms soit une pause de 1/30e
digitalWrite(Declanche, LOW); // Fin de l'impulsion de déclenchement
delay(1000); // Délai de 1 s (ou 1000 ms) entre deux pauses
digitalWrite(Declanche, HIGH); // Active le déclenchement
delay(67); // Délai 67 ms soit une pause de 1/15e
digitalWrite(Declanche, LOW); // Fin de l'impulsion de déclenchement
delay(1000); // Délai de 1 s (ou 1000 ms) entre deux pauses
digitalWrite(Declanche, HIGH); // Active le déclenchement
delay(125); // Délai 125 ms soit une pause de 1/8e
digitalWrite(Declanche, LOW); // Fin de l'impulsion de déclenchement
delay(1000); // Délai de 1 s (ou 1000 ms) entre deux pauses
digitalWrite(Declanche, HIGH); // Active le déclenchement
delay(250); // Délai 250 ms soit une pause de 1/4 s
digitalWrite(Declanche, LOW); // Fin de l'impulsion de déclenchement
delay(1000); // Délai de 1 s (ou 1000 ms) entre deux pauses
digitalWrite(Declanche, HIGH); // Active le déclenchement
delay(500); // Délai 500 ms soit une pause de 1/2 s
digitalWrite(Declanche, LOW); // Fin de l'impulsion de déclenchement
delay(1000); // Délai de 1 s (ou 1000 ms) entre deux pauses
digitalWrite(Declanche, HIGH); // Active le déclenchement
delay(1000); // Délai 1000 ms soit une pause de 1 s
digitalWrite(Declanche, LOW); // Fin de l'impulsion de déclenchement
delay(1000); // Délai de 1 s (ou 1000 ms) entre deux pauses
digitalWrite(Declanche, HIGH); // Active le déclenchement
delay(2000); // Délai 2000 ms soit une pause de 2 s
digitalWrite(Declanche, LOW); // Fin de l'impulsion de déclenchement
}
void loop() // loop est exécuté indéfiniment en boucle
{
}
Aucun commentaire:
Enregistrer un commentaire