Go Down

Topic: Enclenchement relais ampoule pendant un certain temps (Read 1 time) previous topic - next topic

mika47

Bonjour,
Je viens à vous pour une petite question, J'aimerai allumer une ampoule à l'aide d'un relais et un bouton poussoir. En appuyant sur le bouton, peut on gérer le temps d'allumage style pendant 2h, 3h, 4h? A t'on automatiquement besoin d'une horloge style ds1307 pour gérer le temps? Un simple delay ne suffirait pas ?

Merci d'avance,

Pac2Kro

#1
Dec 29, 2012, 10:56 am Last Edit: Dec 29, 2012, 11:02 am by Pac2Kro Reason: 1
Bonjour,

Si tu fais un delay sur 4 heures, ton arduino ne pourra pas effectuer d'autres tâches pendant ce temps là.
Regardes plutôt du coté de millis().

Tu as un exemple d'utilisation de millis() dans le troisième post de ce thread : http://arduino.cc/forum/index.php/topic,139615.0.html

mika47

Bonjour,

De tte façon je demande juste ds le code d'enclencher le relais.
Merci je vais regarder ce lien

MrPoulet

Sinon tu peux faire un monostable purement électroniquement, sans passer par ton arduino.

mika47

Style NE555? Le but de la manœuvre est de rester le plus possible dans le numérique mais bonne idée merci ! :)

skywodd

Bonjour,

Pour faire des délais sur de longue période tu peut utiliser millis(), delay() n'est pas d'une grande précision sur de longue durée.
Sinon tu as aussi la librairie Time.

La doc :
http://arduino.cc/en/Tutorial/BlinkWithoutDelay
http://playground.arduino.cc/Code/Time
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

DrWaX

Bonjour,

utilises millis(), mets une constante tempsEclairage à la valeur (en ms) que tu veux laisser la lampe éclairée, quand tu appuies sur ton poussoir tu mets une variable tempsBoutonPresse à la valeur de millis() et tant que la condition tempsBoutonPresse + tempsEclairage < millis() n'éteint pas la lampe.

L'avantage par rapport à delay() c'est que ça ne bloque pas la boucle principale de ton programme si tu veux faire autre chose en même temps, tu as juste à tester la condition énoncée ci-dessus.

Go Up