Salve
vorrei iniziare a capire come usare l'RTC, per ora riesco a stampare l'ora corrente ma vorrei impostare degli eventi tipo ad ora x accendo led o relè, ad ora y lo spengo.
Ho trovato degli scketch piu complessi che permettono il settaggio di data e ora tramite pulsanti ma sono nettamente fuori dalla mia portata.
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_LiquidCrystal.h>
char buffer[10];
RTC_DS1307 RTC;
Adafruit_LiquidCrystal lcd(0);
void setup () {
Wire.begin();
RTC.begin();
lcd.begin(20, 4);
// RTC.sqw(1);
if (! RTC.isrunning()) {
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = RTC.now();
lcd.clear();
sprintf(buffer, "%02d/%02d/%d", now.day(), now.month(), now.year());
lcd.setCursor(0,0);
lcd.print( buffer );
char buffer[10] = "";
sprintf(buffer, "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
lcd.setCursor(0,1);
lcd.print( buffer );
delay(1000);
}
con questo scketch mi stampa data e ora ma ad ogni secondo ...delay(1000) il display sfarfalla esistono altre soluzioni per ovviare a questo?