Enclenchement relais ampoule pendant un certain temps

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,

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

Bonjour,

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

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

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

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://playground.arduino.cc/Code/Time

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.