Poor contrast on a 4x20 LCD... Any thoughts?

I recently picked up a PC2004-A and hooked it up to the Arduino. I'm using the 4Bit LCD library.

Strangely the text can only be seen when I connection the contrast pin to ground (rather than a pot), and by 'see' I mean only just.

Does anyone have any thoughts?
Datasheet is here:
http://www.datasheetcatalog.org/datasheets/70/35859_DS.pdf

FYI:

D4-7 > 5>2... VCC=5V. You can just make out the "Hello world" text if you turn it right on its side and squint

http://www.datasheetcatalog.org/datasheets/70/35859_DS.pdf

I have had the same problem once with a LCD.. interesteringly there was a difference between doing high Ohm resistors and putting it to ground. while using 5kO i had a clear view but when i had more or less than that it began to get 'faded' again.

Hmm, do you suggest using 5kO then? Surely a POT would provide 0<>10k?

I tried using a 5k resistor through to 5v. No difference.

The best results (only result) is grounding it. I wonder if it's not getting enough power?

Any thoughts anyone?

Hmm, upon further experimentation I think it has sweet bugger all to do with the POT.

This LCD (PC2004LRU PC2004A) seems to draw more power depending on the number of lines you use (sigh).

From what I've read. The reason the POT is so sensative is that you should drive it with 3v-GND... The contrast really only kicks in around .5V.

When I drive the LCD with 9V using a battery, instantly it's MUCH darker (as in you can see it now!)

Before: (Barely Visible)

After: (Near perfect)

There is a strong likelihood then that you have an LCD designed to be used "outdoors" and subject to wide temperature variations. These LCD's actually use a small negative voltage on the contrast pin to compensate for extreme cold/heat.

An ICL7660 could be used to generate a negative source from the +3V source.

Hmm, am I overdriving it on 9V? Should I be using the negative voltage you suggested?

Here is what I did for mine. Anything over 5 Volts on the LCD is likely causing some stress.

Hmm I've not seen that before.

I'm still fairly new to electronic diagramming. From the scematic you've provided, you dont appear to be driving off anything but the arduino. Is that right?

and the "ICL7660" is the chip you suggested?

Yes, the arduino supplies the voltages... very low current.

There are lots of options for LCD supply IC's. The 7660 is a generic voltage inverter chip and is one I had handy and used. If you need more contrast, you can swap the 3.3V input with the 5V and get -5V.

I've seen circuits that create negative voltage from the LM555 and some that even steal from the charge pump of the MAX232.

It's the simplest circuit I've come across without having a negative supply handy.

http://www.eetindia.co.in/ARTICLES/2001SEP/2001SEP03_AMD_MSD_AN.PDF?SOURCES=DOWNLOAD

That's a handy sheet, looking through at their "simplest" circuit I've only got 100uF capacitors which is a pain.

My ceramics are all in the pF range.

I managed to dig up a few SMD caps but I'm not sure how effective they'd be (I'm not entirely sure the value is correct. I'd still be missing a 22uFcap)

Seems I may be a little screwed here

FYI:
Capacitor identification: http://www.gwellwood.com/electronics/capacitors.html

Capacitor value conversion: http://www.gwellwood.com/electronics/capacitors.html

I would not consider the values 100% critical... but the ratio could be important and all of the HANTRONICS advice is.

You are responsible for generating the PSEUDO Alternating Current source (0v-5v-0v transitions) with maybe the Arduino or a some external clock source like an LM555.

Here is another example so you see what I'm talking about. Look for the negative voltage circuit. http://ourworld.compuserve.com/homepages/Bill_Bowden/page10.htm

An electronics tinkerer should always have something handy to take apart to scrounge for parts... old PC power supplies... TV's, radios... etc. It is the very best in recycling behavior. All the parts may not work... but a big collection of junkbox parts can rescue you in time of need. (like when the stores are all closed)

Yeah sadly I'm renting at the moment so I had to bin most of my 'junk' earlier this year.

I'm going to pickup a DIP version of the chip you suggested and build a shield. Thanks for your help mate. I'll post when I get them delivered.

Hey Willard, I picked up a ICL as you suggested. Do you think I would get away with using a 100uf cap rather than a 10? I know it's a huge difference, short of that I've only got <1uf caps.

Any thoughts

With 100uf, I'm afraid that the 7660 might not oscillate. (frequency will be too low) The 1uF would be a better choice but will not be as efficient as 10uF. So, I'd try the 1uf and cross my fingers if it were up to me.

I thought I'd try my luck with the 100uf and it works great. You can see the screen perfectly and with a 10k pot, it's adjustable.

My ownly concern is my multimeter is reading 5v DC. I dont know if you have any thoughts on that? (It's a cheapy mm)

Onto a new problem, can't seem to get the display to actually output anything now. It worked once when I fiddled with teh cables.

After some messing around with libraries and such, for some reason only an old library worked

I've hosted it just in case anyone else has a problem.
http://milesburton.com/downloads/Arduino/LCD4Bit.zip

I'm not entirely sure whether I'm overloading the IC by using 100uf resistors - I assume it's just pulling up the voltage to 5v which is being brought down by the 10k pot.

Could you send the code of your PC2004A for the 4 lines shown in the pictures to joako@unizar.es? I have tried the 4 line display, but only lines 1 and 3rd are displayed.

My model is PC2004M-P2

Thanks in advance!

Have you seen : MilesBurton.com

That has all my code and write up :slight_smile:

joaquin1973:

From the datasheet for your device it appears that there is a negative voltage source available on pin 17, much like that provided with many GLCD devices.

If that is the case you can hook up a 10 K potentiometer with one end connected to pin 2 (+5v), the other end to pin 17 (-?v) and the wiper to pin 3. With the backlight also powered you should now be able to adjust the potentiometer until you see "blocks" on rows 1 and 3.

Next you should follow the tutorial at http://arduino.cc/en/Tutorial/LiquidCrystal - except leave the potentiometer connected as outlined above. Use the latest LiquidCrystal library, it is the most reliable library currently available.

With the 'Hello, world' program running you know that your LCD and software are working and you can proceed from there.

Don