arduino mega+ethernet shield+ ntp ora

Salve a tutti

è un giorno che ci sbatto la testa ma senza un risultato, vorrei poter visualizzare su blink nel widget LCD l'ora e la data che si aggiornano via LAN, la base di partenza del codice è questa

#define BLYNK_PRINT Serial


#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include <TimeLib.h>
#include <WidgetRTC.h>


char auth[] = "YourAuthToken";

#define W5100_CS  10
#define SDCARD_CS 4

BlynkTimer timer;

WidgetRTC rtc;


void clockDisplay()
{
 
  String currentTime = String(hour()) + ":" + minute() + ":" + second();
  String currentDate = String(day()) + " " + month() + " " + year();
  Serial.print("Current time: ");
  Serial.print(currentTime);
  Serial.print(" ");
  Serial.print(currentDate);
  Serial.println();

 
  Blynk.virtualWrite(V1, currentTime);
 
  Blynk.virtualWrite(V2, currentDate);
}

void setup()
{
 
  Serial.begin(9600);

  pinMode(SDCARD_CS, OUTPUT);
  digitalWrite(SDCARD_CS, HIGH); 
  Blynk.begin(auth);
  
  rtc.begin();

  
  timer.setInterval(10000L, clockDisplay);
}

void loop()
{
  Blynk.run();
  timer.run();
}

primo problema fino ireri l'ora e la data ok, oggi per magia la data ferma al 1970 e l'ora non va piu.
Ho pensato di sincornizzare il tutto via lan , ma ho provato diverse soluzioni senza successo....

Che mi consigliate

Scaricata la batteria tampone dell'RTC?

la schedina rtc non la vorrei mettere, fare tutto via lan

Ah, ok, scusa, non conosco bene blynk quindi non sapevo se il widget RTC funzionasse correttamente anche senza una schedina RTC.

Però il tuo codice è molto simile a quello di uno degli examples della libreria ossia RTC.ino dove però vedo alcune differenze.

  1. hai definito SDCARD_CS, quindi tu HAI una schedina RTC (che in genere include anche un lettore SD)?

  2. Manca questa (che non so cosa faccia, anche se dal nome...):

BLYNK_CONNECTED() {
  // Synchronize time on connection
  rtc.begin();
}
  1. hai messo nel setup() anche una " rtc.begin();", che nell'esempio non c'è o meglio sta dentro a BLYNK_CONNECTED (?).

Se esegui quindi direttamente l'esempio che succede?

niente da fare mi da sempre un ora sballata e la data 1/1/1970...
dovrei inserire qualche stringa che all'avvio si sincronizzi con qualche cosa .....

Beh se non hai un vero RTC, si, dovrebbe sincronizzarsi con "qualcosa" ma non capisco in questo ambito (Blynk senza scheda RTC) con "cosa" dovrebbe sincronizzarsi? Ripeto, non conosco Blynk quindi non ho alcuna idea mi spiace...

in teoria, si dovrebbe sincronizzare con qualche server ntp, cioè prendere l'ora da internet , un po come i pc...

ho provato diversi progetti presi su internet come esempio, la cosa strana e che nel serial monitor mi da sempre la data 1970 e l'ora sballata, il dubbio che mi sta venendo e che se il problema fosse la versione 1.8.8 di arduino ??

ssono esempi che gli utenti dicono che funziona

risolto il problema....dopo tanti tentativi....
avevo due librerie Tim-master e SimpleTimer-master, forse andavano in conflitto , ho concellato la seconda adesso si sincronizza alla perfezione

grazie a tutti