Hey a thread about LCD issues... yay. I've gone and been a bad boy and ventured away from the "recommended LCD". My eyes are sensitive to glare, esp. at night, and a bright blue LCD would be unbearable to me, not to mention a distraction while driving. I picked up another HD44780-compatible LCD, the TEG16717, and am having some issues.
After running on the bench for just a couple minutes, the screen seemingly is losing synch (possible timing issue?) and just displays a single scrolling row of garbage: "?0°?█??█/o??█/█0" etc. When running v0.11, the █ blocks would show the custom characters from the 'duino memory so I assume that's where they're coming from in v0.62 from the big characters.
I can reproduce the issue at will by pulling LCD power and putting it back on (loses synch - would need a reset). I have verified via debug that the 'guino is still running, because I added a serial output of the time from the CPU Monitor screen. I can switch between the screens and enable/disable my serial output, even with my LCD corrupt.
It also seems that sometimes just touching my wires (longest being about 5" from the breadboard to the LCD) will put it into the corrupt state, but other times I can really shake them and nothing will happen. Seems random.
Could it possibly be timing? I don't see any delays in the LCD code such as other 4-bit libraries have, though they seem across the map. I haven't studied the code and HD44780 spec thoroughly enough yet to be sure.
Also, out of curiousity, is there a reason we're not using consecutive pins for the 4 data bits?
|