Pages: [1]   Go Down
Author Topic: Enclenchement relais ampoule pendant un certain temps  (Read 994 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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,
Logged

France
Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: December 29, 2012, 05:02:09 am by Pac2Kro » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

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

Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
Jr. Member
**
Karma: 0
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5420
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 27
Breaks ? We don't need breaks !!!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Pages: [1]   Go Up
Jump to: