bonsoir a tous et toute,
voila j'ai un Pb avec mon code
-
sur le serial il m'affiche une fois sur deux la bonne date et heure et un fois la mauvaise
-
je n'arrive pas a faire une fonction if qui pilote mon module relais en fonction de l'heure
auriez vous une idée de code et pourquoi le mien fonctionne pas
(mauvaise librairie, mauvais code je suis perdu avec se module rtc)
voici mon code
#include <DS1302.h>
#include <Wire.h>
DS1302 rtc(2, 3, 4);
const int RELAIS = 8; //declaration broche 8 output
boolean etatRelais = 0; // Etat du relais (on / off)
void setup()
{
// rtc.halt(false); // utiliser juste une fois pour mettre RTC a l'heure si pas la bonne
// rtc.writeProtect(false); // utiliser juste une fois pour mettre RTC a l'heure si pas la bonne
Serial.begin(9600);
pinMode(RELAIS, OUTPUT); //Configure la broche RELAIS en sortie
// rtc.setDOW(TUESDAY); // enlever les // pour mettre le module a jour
// rtc.setTime(22, 40, 0); // enlever les // pour mettre le module a l'heure 22:40:00 (Formato 24hr)
// rtc.setDate(28, 8, 2018); // enlever les // pour mettre le module a l'heure 28 aout 2018
}
void loop()
{
// Serial.print(rtc.getDOWStr());// renvoi le jour de la semaine
// Serial.print(" ");
// Serial.print(rtc.getDateStr()); // renvoi la date 28/02/2018
// Serial.print(" -- ");
Serial.println(rtc.getTimeStr()); // renvoi l'heure
delay (1000);
///////////////////////////////////////////////
if (now.minute() > 50 && now.minute() < 55) {
etatRelais=!etatRelais; // inverse l'état du relais
digitalWrite(RELAIS,etatRelais); // met la broche de commande dans l'état voulu
Serial.println(etatRelais); //Affichage dans le serial monitor pour contrôle
delay(10000); // pause
}
else {
}
}
merci a vous pour votre aide