LCD 16x2 right half won't work

This is the SECOND! LCD that has the same problem. Anyone know how to fix it? I checked the pins and other connections. It is running by itself with the Uno. There is enough power. Nothing is burning or was burning. It was working fine for the past few days, then suddenly... I'm seriously about to just code my project using only the right-half, and never buy from ebay again.

20140901_164748_Richtone(HDR).jpg

20140901_164809_Richtone(HDR).jpg

How is your contrast control hooked up?

Yes, contrast control effects both sides.

ld3300:
How is your contrast control hooked up?

vd853:
Yes, contrast control effects both sides.

Of course it does - rather unhelpful comment there. :~

Well, given both of those pictures are of the display that is "malfunctioning", it started to look like an initialisation fault and I was checking whether initialising it as the wrong display dimensions, such as accidentally defining it as LCD.begin(16,1) would cause that behaviour, but I am quite unable to replicate it.

Darn!

It is looking like a hardware fault. But you better post the offending sketch anyway.

I've bought a few of these from ebay, one of these modules has been (with an Arduino) running now for over a year solid all that's happened is the led output is a little duller but still perfectly readable!

Your first photo shows the entire first line to be working...

I think it could be a software issue.

Your first photo shows the typical result of a display that has not been correctly initialized.

If you just connect pins 1, 2, and 3 of a 16x2 display you will get that picture because the internal reset circuit sets up the controller for a 1-line display.

If you connect all of the required pins and run a proper initialization routine then the display will be blank or all of the character positions will show blocks (depending on the contrast setting).

If one or more wires are incorrectly connected (this would include poor soldering) or if you do not run a proper initialization routine then you will get one row of blocks on a two row display, two rows of blocks on a four row display, or if you have a true 16x1 display (very rare) eight blocks on the left and 8 blank spaces on the right.

In your case I would look into the soldering - it looks pretty bad. Check out this information from Adafruit --> Common Soldering Problems | Adafruit Guide To Excellent Soldering | Adafruit Learning System

Your second photograph shows the typical results of a display with a poor connection between the pc board and the display. Try pressing (lightly) on the display bezel and see if things change.

Don

Well, given both of those pictures are of the display that is "malfunctioning", it started to look like an initialisation fault and I was checking whether initialising it as the wrong display dimensions, such as accidentally defining it as LCD.begin(16,1) would cause that behaviour, but I am quite unable to replicate it.

Try doing that again because, as I mentioned above, that (the first photo) is precisely what should be displayed if you initialize a 16x2 as a 16x1. I haven't got an LCD set up right now but I'll check it out when I get a chance.

Don

floresta:
Try doing that again because, as I mentioned above, that (the first photo) is precisely what should be displayed if you initialize a 16x2 as a 16x1. I haven't got an LCD set up right now but I'll check it out when I get a chance.

The first line is an uninitialised display. Once you initialise it, all is blank, notwithstanding how you set it up. I tried 16 by 1, 8 by 1, 2 by 1, 16 by 4, all sorts of things. The only difference in the end was whether it actually displayed text on one line or two.