I attached a standard LCD 16*2 to my atmega328 via breadboard and wires (~ 15 cm). 4 Data lines, RS, E, GND, 5V , added a trim pot to the Contrast pin and 5V/GND via 100 Ohms to the Backlight. R/W is connected to GND, the other 4 data pins are empty.
5V for both atmega328 and LCD come from a 5V 1.3A wallwart, showing 5.1V. 100 nF are to stabilize the atmega328 Vcc Controller runs the standard Arduino LCDLibrary 1.0.5R2
All works fine but sometimes it happens that the display shows weird patterns. "sometimes" is typically, when I touch something on the breadboard, attached to RxTx.
I know, I should first make my breadboard wiring better, mechanically stable.
But besides that, I noticed that even pushing the Arduino Reset button does not solve the situation, but I have to remove the 5V completely (from the LCD) to get it running again.
My question: Does a standard LCD Display need a power on / off, to return into a stable state or should the library resolve that ?
I added a little delay(10) in setup() before lcd.begin(16,2); but that did not help. ( I understand it might just affect the situation after power return, which is fine, anyway )
Is this normal, just beyond tutorial level? Do you usually add some reset "electronics" (an n/c button in the simplest case ?) for real projects ? Do you have the 5V supply for the LCD controlled by the Arduino software?
Any more hints ?