Clock Issue

I am making a clock on an LCD screen, and I am adding buttons to adjust time. I have four buttons, one for hours up, one for hours down, one for minutes up, a one for minutes down. I do not know what is wrong with it. Here is my code, and a picture of my design. For some reason, my electronic design doesn't show the time. I would just like some help with this, thanks! here is the link to the electronic design. Just click run simulation and click code editor to view the code. here is the code just in case you can't view it. My digital design and code.

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int hour = 10;        //Must change on each startup to real time
int minutes = 20;     //Must change on each startup to real time
int decBtn = 10;
int hrUp = 9;
int hrDwn = 8;
int minUp = 7;
int minDwn = 6;

void setup() {
  lcd.begin(16, 2);
  pinMode(decBtn, INPUT);
  pinMode(hrUp, INPUT);
  pinMode(hrDwn, INPUT);
  pinMode(minUp, INPUT);
  pinMode(minDwn, INPUT);
}

void loop() {
  if (digitalRead(hrUp) == HIGH) {
    hour = hour + 1;
    lcd.clear();
    lcd.print(hour);
    lcd.print(":");
    if (minutes < 10) {
      lcd.print(0);
    }
    lcd.print(minutes);
  } else if (digitalRead(hrDwn) == HIGH) {
    hour = hour - 1;
    lcd.clear();
    lcd.print(hour);
    lcd.print(":");
    if (minutes < 10) {
      lcd.print(0);
    }
    lcd.print(minutes);
  } else if (digitalRead(minUp) == HIGH) {
    minutes = minutes + 1;
    lcd.clear();
    lcd.print(hour);
    lcd.print(":");
    if (minutes < 10) {
      lcd.print(0);
    }
    lcd.print(minutes);
  } else if (digitalRead(minDwn) == HIGH) {
    minutes = minutes - 1;
    lcd.clear();
    lcd.print(hour);
    lcd.print(":");
    if (minutes < 10) {
      lcd.print(0);
    }
    lcd.print(minutes);
    delay(10);
    lcd.clear();
  } else {
    if (minutes == 60) {
      minutes = 0;
      if (hour == 13) {
      } else {
        hour = hour + 1;
      }
    }
    if (hour == 13) {
      hour = 1;
    }
    lcd.print(hour);
    lcd.print(":");
    if (minutes < 10) {
      lcd.print(0);
    }
    lcd.print(minutes);
    delay(60000);
    lcd.clear();
    minutes = minutes + 1;
  }
}

As wired, there is nothing to make the button pins change state. When a button is pressed, it goes high, then it floats and nothing makes it go low.
Suggest instead get rid of the resistors, use this in setup(), and wire the buttons to connect the pin to Gnd when pressed. Confirm the pins go High/Low with a meter. Wire diagonally across the button to ensure you are not connecting the Gnd and signal to the same contact on the switch when not pressed.

  pinMode(decBtn, INPUT_PULLUP);
  pinMode(hrUp, INPUT_PULLUP);
  pinMode(hrDwn, INPUT_PULLUP);
  pinMode(minUp, INPUT_PULLUP);
  pinMode(minDwn, INPU_PULLUPT);

and then use this loop():

if (digitalRead(hrUp) == LOW) {

for all button reads.
Thus, the pin will read High when not pressed, when pressed it will go Low, and when released the internal pullup will make sure it goes High again.

Also, check your incrementing logic, something looks off to me.

Thank you crossroads! i added the digitalRead(hrUp) == LOW, and it worked! However everything else you said did not solve my issue. Thank you for your time though! I have solved the problem on my own so no need to reply. Thank you!

If you want to get fancy with the buttons like detect long presses to do other things, like speed up how fast digits change when setting you may want to consider using a button library.
Here is one that I have used several times in various clocks:

It makes button detection really simple particularly if you want to more than just simple up/down detection.
It also handles button switch debouncing as well.

--- bill

Hi! thanks for the button library but I was able to do this without the library, and The buttons are still working fancy. You can find my creation here to see my code and a demonstration of it in use.