Reloj con lcd con botones para configurar la hora

buen día, estoy haciendo la programación de un reloj con 2 botones que puedan configurar la hora (un botón para las horas y otro para los minutos). ya tengo el código pero al momento de ejecutar el botón este me incrementa y me vuelve a tomar el valor inicial de la hora, que puedo hacer para arreglar ese problema?
pd: aquí abajo adjunto el código

#include <LiquidCrystal.h> 

LiquidCrystal lcd(3, 2, 4, 5, 6, 7); 

int segundos=0;
int minutos=0;
int horas=0;
boolean boton_horas, boton_minutos;

void setup() {
lcd.begin(16, 2); 
pinMode(8, INPUT);
pinMode(9, INPUT);
}

void loop() {
segundos = (millis()/1000);
minutos=(segundos/60);
horas=(minutos/60);
boton_horas= digitalRead(8);
boton_minutos= digitalRead(9); 
if(segundos>59){
    segundos= ((millis()/1000)-(60*minutos)) ;
    if(10>(millis()/1000)-(60*minutos)){ 
     lcd.setCursor(11, 1); 
     lcd.print(" ");
    }
  }

if(minutos>59){
   minutos=(minutos-(60*horas));
   if(10>(minutos-(60*horas))){ 
     lcd.setCursor(8, 1); 
     lcd.print(" ");
   }
  }
if(horas>=24)
  {
   horas=(horas-(24*(horas/24)));
    if(10>(horas-(24*(horas/24)))){ 
     lcd.setCursor(5, 1); 
     lcd.print(" ");
    }
  }
if(boton_horas==1){
   
   horas= ++horas ;
   
}
if(boton_minutos==1){
   minutos= ++minutos ;
}

  
lcd.setCursor(2, 0); 
lcd.print("RELOJ DIGITAL"); 
lcd.setCursor(4, 1); 
lcd.print(horas); 
lcd.setCursor(6, 1); 
lcd.print(":"); 
lcd.setCursor(7, 1); 
lcd.print(minutos); 
lcd.setCursor(9, 1);
lcd.print(":"); 
lcd.setCursor(10, 1); 
lcd.print(segundos); 

}

reloj_digital.ino (1.22 KB)

Te vuelve a tomar el valor anterior (mas o menos) porque lo vuelves a "poner en hora" al principio del loop().

En este momento no puedo intentar pasarte una solución, lo intento más tarde.

Saludos

Hiciste repost de este tema (algo que no está permitido) a pesar de que ayer te dije cuál era el problema que tenías.

Te iba a pasar la solución pero ya que decidiste ignorar mi respuesta anterior y no me gusta perder el tiempo, perdiste.

Que te responda algún otro desprevenido.

Saludos

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.