Declencheur-intervallometre pour appareil photo
Suite logique après avoir bien pataugé dans les méandres de L’arduino
construit sur la base d’un Arduino Méga 2560, un lcd shield Adafruit RGB, quelques optocoupleurs, (TIL 111) ou (4n35) et quelques composants
Arduino mega 2560 V3
Afficheur LCD RGB I2C ADAFRUIT
l’idée est de pouvoir tout paramétrer sans utiliser de PC ou potentiometres
j’ai pour le moment un truc fonctionnel particulierement bien dégrossi au niveau des menus, avec une nette amelioration de la partie déclencheur « laser » par rapport a un de mes essais ICI.
Pour optimiser le temps de réponse , je vais non pas utiliser une photoresistance, mais un photo-transistor , l’utilisation d’un laser n’est pas une obligation, mais procure de meilleurs résultats avec de l’eau par exenple, pour le passage d’objet une lampe LED est suffisante
Parametrage Menu laser
– Temps d’exposition
– Retard a l’enclencement
– Interval entre 2 prises
– Sensibilité
– Déclenchement sur un front montant / descendant / Les2
– Aide a la calibration du phototransistor
Parametrage Menu intervallometre
– Temps d’exposition
– Nombre d’images
– Interval entre chaques images
– Gestion AE/AF on/off en cours
– Pré-éclairage (debut /fin) en cours
– infos (estimation durée du film pour 25 i/s)
– infos (estimation durée de prises de vues jours/heures/minutes/secondes)
Parametrage Menu audio/choc
– en cours de programmation
Parametrage Menu mouvements
– en cours de programmation
ce projet est en cours de développement, et toujours en l’état de prototype, je vous tiend au courant sur les avancées !
vous pouvez consulter, telecharger, modifier ce code comme bon vous semble
lien vers le programme ICI version 1.2 Mai 2013
etat actuel du proto
Illustrations
Partie du code pour le déclenchement laser
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
value = analogRead(photores); // lecture de la valeur de la photoresistance // retard = analogRead(potar); // lecture de la valeur de retardement if (Mode == 0) { if (value > fval+sens) // Sombre Vers Clair { clic(); } } if (Mode == 1) { if (value < fval-sens) // Clair vers sombre { clic(); } } fval=analogRead(photores); delay (mesure); buttons = lcd.readButtons(); if (buttons) { if (buttons & BUTTON_SELECT) { Serial.println ("Menu"); lcd.clear(); delay (500); lcd.setCursor(0,0); lcd.print ("Parametrage"); menulaser(); } } goto debut; |