au niveau code je pense faire les changements suivants :
code original (un extrait) - (DS1307) :
#include <TimeLib.h> //Time Library
#include <DS1307RTC.h> //Real Time Clock Library
#include <Wire.h> //Auxiliary Library for DS1307RTC (Real-Time Clock) - Pins to Arduino UNO: A4 (SDA), A5 (SCL)
//---------------------------------------------------
int hora, minuto, temp, umid;
int unidadeHora, unidadeMinuto, dezenaHora, dezenaMinuto;
int unidadeTemp, dezenaTemp, unidadeUmid, dezenaUmid;
unsigned long ti;
void setup() {
pinMode(LDRpin, INPUT);
pinMode(latchPin, OUTPUT); // Define the 3 digital pins as output
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
dht.begin();
setSyncProvider(RTC.get); // Update the time with data of RTC (Real Time Clock)
}
void read_time() {
hora = hour();
minuto = minute();
unidadeHora = hora % 10;
dezenaHora = hora / 10;
unidadeMinuto = minuto % 10;
dezenaMinuto = minuto / 10;
t = now();
varHr = hour(t);
varMin = minute(t);
setTime(varHr, varMin, 0, 0, 0, 0);
delay (100);
}
code modifié (DS3231):
#include <TimeLib.h> //Time Library
#include <DS3231.h> //Real Time Clock Library
#include <Wire.h> //Auxiliary Library for DS1307RTC (Real-Time Clock) - Pins to Arduino UNO: A4 (SDA), A5 (SCL)
//---------------------------------------------------
int hora, minuto, temp, umid;
int unidadeHora, unidadeMinuto, dezenaHora, dezenaMinuto;
int unidadeTemp, dezenaTemp, unidadeUmid, dezenaUmid;
unsigned long ti;
void setup() {
pinMode(LDRpin, INPUT);
pinMode(latchPin, OUTPUT); // Define the 3 digital pins as output
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
dht.begin();
setSyncProvider(RTC.get); // Update the time with data of RTC (Real Time Clock)
}
void read_time() {
hora = hour();
minuto = minute();
unidadeHora = hora % 10;
dezenaHora = hora / 10;
unidadeMinuto = minuto % 10;
dezenaMinuto = minuto / 10;
t = now();
varHr = hour(t);
varMin = minute(t);
setTime(varHr, varMin, 0, 0, 0, 0);
delay (100);
}
je ne change que #include <DS1307RTC.h> vers un #include <DS3231.h> ... je pense que le TimeLib.h fonctionne aussi avec le DS3231 ... sinon j'ai vu dans des exemples qu'il utilise le RTClib.h ... mais ca implique d'autre changements ...