Go Down

Topic: Déclencher action avec DS1307 (Read 1 time) previous topic - next topic

gunsman76

Skywodd, ça fait plusieurs fois que tu me dépannes, je te remercie...


Les explications ne sont pas très clair, ou alors je n'ai pas les bons livres pour apprendre. Pourtant on ne peut pas dire que je n'essaye pas, je passe mes après midi dessus.  :P

gunsman76

ok merci à tous, ça fonctionne impeccable !


Maintenant si je veux lancer une action a tel heure le lundi, et à tel heure le mardi (pas la même heure pour les 2 jours)


Je procède comment ?



Et merci à tous pour votre aide !

gunsman76

Je vais me répondre, afin que ça serve aux autres :

Code: [Select]

if (now.dayOfWeek() == 4 && now.hour() == 17 && now.minute() == 17 && now.second() == 59) {
  digitalWrite (relais,HIGH);
  lcd.setCursor(0,1);
  lcd.print("declenche action");
  delay (1000);
  digitalWrite (relais,LOW);
  lcd.clear();


Il me suffit de faire autant d'if que j'ai besoin de déclenchement


J'ai bon ? ou il y a plus simple ?

patg_

#13
Apr 25, 2013, 05:25 pm Last Edit: Apr 25, 2013, 05:28 pm by patg_ Reason: 1
Non y'a pas vraiment d'autre solution.
Mais tu peux chercher à simplifier tes if() en en mettant plusieurs en cascade par exemple, ça rend parfois le code plus lisible
genre en pseudo code
Code: [Select]
if(lundi)
{
if(heure=x && min==y)
{
//...
}
}

if(mardi)
{
//...
}


Quand on débute c'est plus lisible que:
Code: [Select]
if((lundi && heure==x && min==y)
|| (mardi && heure==xx && min==yy))
{
//...
}

gunsman76

Ok toute façon je n'ai que 5 jours en tout, donc le code sera assez limité.



Un grand merci à tout le monde, car ça fait fait quand même 4 jours que je suis bloqué sur ce problème...

Go Up