String LCD_line2 = " "; // Message for LCD line 2
// change it to this
LCD_line2 = "! OVER VOLTAGE !";
// print 2nd line of LCD
lcd.setCursor(0,1);
lcd.print(LCD_line2.toCharArray());
The '.toCharArray()' method returns the pointer to the internal buffer as a 'char *'.
The '.getBytes()' method is similar but returns 'unsigned char *' instead.
Great. The reference manual installed with Arduino 22 fails to mention that there are two arguments required. See: toCharArray() - Arduino Reference
String LCD_line2 = " "; // Message for LCD line 2
char buff[17];
// change it to this
LCD_line2 = "! OVER VOLTAGE !";
// print 2nd line of LCD
lcd.setCursor(0,1);
lcd.print(LCD_line2.toCharArray(buff,sizeof buff));