orario
Ciao, sul seguente listato, ora e data ho due problemi primari e due secondari
il principale è come settare inizialmente la rtc sull orario esatto, poi nella visualizzazione dei secondi e minuti unità sparisce la seconda cifre mi spiego i seconti 07 o i minuti 07, li visualizza semplicenete 7 allineato a sx.
Il formato data inizia per anno mese giorno e non g/m/anno.
grazie
il principale è come settare inizialmente la rtc sull orario esatto, poi nella visualizzazione dei secondi e minuti unità sparisce la seconda cifre mi spiego i seconti 07 o i minuti 07, li visualizza semplicenete 7 allineato a sx.
Il formato data inizia per anno mese giorno e non g/m/anno.
grazie
- Codice: Seleziona tutto
#define LCD_ADDRESS 0x27 // Define LCD characteristics
#define LCD_ROWS 4
#define LCD_COLUMNS 20
#define LCD_BACKLIGHT 1 // backlight turned on
#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>
#include <RTClib.h> // real time clock
LiquidCrystal_PCF8574 lcd(LCD_ADDRESS); // LCD I2C
RTC_DS3231 rtc;
uint32_t rsyncTime = 0; // time of last sync()
void setup(void)
{
Serial.begin(57600); // start serial port
while (!Serial); // wait to be ready
lcd.begin(LCD_COLUMNS, LCD_ROWS);
// backlight turned on
lcd.setBacklight(LCD_BACKLIGHT);
Serial.println(F("System is ready"));
if (! rtc.begin()) {
Serial.println("Couldn't find RTC Module");
while (1);
}
if (rtc.lostPower()) {
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
lcd.clear();
lcd.print("Sistema Pronto");
delay(5000);
}
void loop()
{
static long this_sec; // memory that hold temporary last second
DateTime now = rtc.now(); // update the time
// if one second difference
if (now.secondstime() > this_sec) {
// update the temporary data
this_sec = now.secondstime();
lcd.clear();
lcd.print(now.year(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.day(), DEC);
lcd.setCursor(0,1);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
delay(500);
// lcd.print(now.secondstime());
}
}