Liquid Crystal Clashing with Interrupts

There are 2 types of serial communication mixed together in this discussion.

  1. Hardware Serial. Used by Serial.print(), Serial.read() and other methods of the serial library, Communication is via pins 0 and 1 on the Arduino. These pins are also used when uploading a program to the Arduino.

  2. Serial communication using the Wire library. This uses pins 2 and 3 on the Leonardo and is not used for Serial.print() etc

As you are using a Leonardo that implies to me that if you want to use the Wire library and Hardware Serial you cannot use interrupts 0 to 3 because all 4 interrupt pins are being used for other purposes. If you can do without Hardware Serial for debugging output or user input then you should be able to use interrupts 2 and 3 as well as interrupt 4 on pin 7.