Piccolo problema, tutto va bene fino al 59esimo secondo, dopo di che lui porta a 0 i secondi ma i minuti ore e giorni attribuisce valori a casaccio, premetto che ho inizializzato tutti i valori = 0
questo è il codice
#include"secTimer.h"
int led = 13;
char select ;
unsigned long secondi=0 ;
int minuti =0;
int ore=0;
int giorni=0;
secTimer mytimer;
void setup(){
pinMode(led,OUTPUT);
Serial.begin(9600);
Serial.println("select 1 -> led ON\nselect 0 -> led OFF\nselect t -> show run time\n");
mytimer.startTimer();
}
void loop(){
select=Serial.read();
secondi=mytimer.readTimer() %60 ;
if(secondi==59 ){
minuti=minuti+1;
}
if(minuti==59){
ore=ore+1;
minuti=0;
}
if(ore==24){
giorni=giorni+1;
ore=0;
}
if(select=='1'){
digitalWrite(led,HIGH);
Serial.println("led HIGH");
}
if(select=='0'){
digitalWrite(led,LOW);
Serial.println("led LOW");
}
if(select=='t'){
Serial.println("aggiornamento tempo...");
Serial.println("giorni:");
Serial.println(giorni);
Serial.println("ore:");
Serial.println(ore);
Serial.println("minuti:");
Serial.println(minuti);
Serial.println("secondi:");
Serial.println(secondi);
Serial.println("**********");
}
}