Bonjour à tous,
j'ai deja fait un peu le tour des topics à ce sujet et j'aurais besoin d'un léger coup de pouce pour mon programme utilisant un module RTC.
En effet, je n'arrive pas à faire marcher ma fonction "si l'heure est supérieur à...alors...".
La première condition de ma boucle fonctionne parfaitement mais pas la deuxième...
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC; //Classe RTC_DS1307
int LED = 3;
void setup () {
pinMode(LED, OUTPUT);
Serial.begin(57600); //Démarrage de la communication
Wire.begin(); //Démarrage de la librairie wire.h
RTC.begin(); //Démarrage de la librairie RTClib.h
//Si RTC ne fonctionne pas
if (! RTC.isrunning()) {
Serial.println("RTC ne fonctionne pas !");
//Met à l'heure à date à laquelle le sketch est compilé
RTC.adjust(DateTime(2016, 1, 14, 15, 30, 0));
//Cela fonctionne également :
//RTC.adjust(DateTime("Dec 5 2012","12:00:00"));
//RTC.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
}
void loop() {
DateTime heureRTC;
heureRTC = RTC.now();
if (heureRTC.hour()==11 && heureRTC.minute()==45){
digitalWrite(LED,1);
delay(100);
digitalWrite(LED,0);
delay(100);
}
if (heureRTC.hour() > 11 && heureRTC.minute( ) > 45){ //si l'heure est passé la led clignote lentement
digitalWrite(LED,1);
delay(1000);
digitalWrite(LED,0);
delay(1000);
}
//Affichage de l'heure
DateTime now = RTC.now();
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(3000);
}
Merci