LCD I2D stops program

I am somewhat at a loss to find an answer for the following and would appreciate some advice.
I have a program to control a stepper motor which works fine, however when I add a I2C display it just doesn’t want to know. Yet both work on other programs. I have attached the complete sketch. If left complete the sketch shows on the LCD the required information.
If I /* */ out the lcd display after void loop the rest of the sketch works fine. Just don’t understand why?

Fish_tank_feeder.ino (6.91 KB)

however when I add a I2C display it just doesn't want to know.

What doesn't want to know what?

  //If we remove the comment from the following line, we will set up the module time and date with the computer one
  //RTC.adjust(DateTime(__DATE__, __TIME__));


Maybe you need to init() the LCD a few more times...

It is not clear what that code actually does, or what you want it to do.

You do NOT need three variables to keep track of the state of one switch, or changes to the state of that switch.

Why are you not using a Stepper library?