LCD

You have no Serial.begin() in setup() so why open serial monitor? You are using the hardware serial Rx (pin 0) and TX (pin 1) pins for the LCD. You might want to use different pins for the LCD if you want to use Serial. Why call lcd.begin() every time through loop()? That really only needs to be done once in setup().

Please read the "how to use this forum-please read" stickies to see how to properly post code. Use the auto format tool (ctrl-t or Tools, AutoFormat) to indent your code properly for easier reading.