problema visualizzazione minuti su adafruit neopixel16x

biohazard91:
quindi, se ho capito bene.... con l'RTC faccio un IF che quando arriva a 00:00:00 fa in modo che mi resetti la variabile tTime

NO, in realtà io uso il DS1307 solo per "rimettere" ogni X minuti (es. una volta l'ora) il mio contatore di decimi di secondo che però è del tutto indipendente dal DS1307.

Per un oggetto banale come questo, rimettendo l'orario ogni X minuti/ore, la precisione della millis() è più che sufficiente ... ti do un estratto dal codice :

void loop() {
  ...
  // Update the clock variable
  if ((millis() - lastMillis) >= 100) {
    lastMillis = millis();
    tTime++;
    if (tTime >= 432000) tTime = 0;   // IF 12 hours, reset from 0
    showTIME();                       // Update the neoPiexel Array
  }
  ...
}

... come vedi, in realtà, lavoro sempre a 12 ore, tanto ... non hai la visualizzazione del valore numerico e considerare solo 12 ore è più semplice.

biohazard91:
... quel % 24 lo sostituisco con il 16 che è il numero dei pin del ring...

Non basta ... devi calcolarti anche i valori delle divisioni :wink: Quelli sono validi per 24 LED ... guarda i commenti ...

Guglielmo