Ciao a tutti, sono impiegato nella realizzazione di un tabellone dei punti con il relativo tempo generale e il tempo dell'azione.
Ho notato che i secondi sono un po' più lenti rispetto a quelli reali.
Leggendo in internet ho scoperto che è colpa di arduino infatti mi consigliavano di usare un modulo rtc.
Premesso che sono ancora alle prime armi, qualcuno ha idea di come fare un timer usando il modulo rtc?
Ho notato che nel mio caso perde circa un secondo a minuto forse anche di più.
void countdown(){
Serial.println("COUNTDOWN");
/*
if(new_tempo < 60) tempo_shot = new_tempo;
Serial.println("TEMPO < 60");
Serial.println(tempo_shot);
*/
int reading_start_stop = digitalRead(buttonPin_start_stop);
if (reading_start_stop != lastButtonState_start_stop) {
lastDebounceTime_start_stop = millis();
}
if ((millis() - lastDebounceTime_start_stop) > debounceDelay_start_stop) {
if (reading_start_stop != buttonState_start_stop) {
buttonState_start_stop = reading_start_stop;
if (buttonState_start_stop == HIGH) {
step_funzione = 0;
}
}
}
lastButtonState_start_stop = reading_start_stop;
//GENERAL TIMER
unsigned long currentMillis_general = millis();
if(currentMillis_general - previousMillis_general >= interval_general){
previousMillis_general = currentMillis_general;
m = new_tempo/60;
s = new_tempo%60;
new_tempo--;
if(new_tempo<0){
step_funzione = 3;
}
Serial.println(new_tempo);
}
//display.showNumberDec(new_tempo);
display.showNumberDec(m, true,2,0);
display.showNumberDec(s, true,2,2);
//TIMER SHOT
unsigned long currentMillis_shot = millis();
if(currentMillis_shot - previousMillis_shot >= interval_shot){
previousMillis_shot = currentMillis_shot;
//m_shot = tempo_shot/60;
s_shot = tempo_shot;//%60;
tempo_shot--;
if(tempo_shot<0){
step_funzione = 3;
}
Serial.println(tempo_shot);
}
//display.showNumberDec(new_tempo);
//display_shot.showNumberDec(m_shot, true,2,0);
display_shot.showNumberDec(s_shot, true,2,2);
}