Lumex LCR-U01602DSF/DWH 16×2 Backlit LCD Display Problems

Hello,

This will probably get the "dumb question of the day" award, but I cannot get much of a response from the Lumex LCR-U01602DSF/DWH 16×2 Backlit LCD Display I bought recently.

I needed a large, bright LCD that can be seen from a bit of distance. For this reason I bought the aforementioned LCD here: http://www.newark.com/lumex/lcr-u01602dsf-dwh/alphanumeric-display-32-9-66mm/dp/65R6890?Ntt=65r6890

The datasheet can be found here: http://www.lumex.com/specs/LCR-U01602DSF+D-WH.pdf

I found out about this LCD after watching this tutorial: http://www.jeremyblum.com/2011/07/31/tutorial-13-for-arduino-liquid-crystal-displays/

Jeremy, the guy who made that tutorial, also wrote a review for it here: http://www.jeremyblum.com/2011/07/15/product-road-test-lumex-backlit-16x2-lcd-display/

I thought that this LCD should work like any other, except for the extra two pins it has at the end (17 and 18) which are used for the "heater." Also, although the logic is 5V, the LCD backlight requires around a 6V input. I got this 6V by dividing the voltage with two 222 ohm resistors from a 12V wall regulated wall wart from Adafruit (see the picture I linked to below).

Based on all of this information, I thought that it should be fairly simple to get working. However, I have the following problems/observations:

Backlight: this turns on when I apply the 6V, although it is not as bright as the pictures/videos made me expect.

Contrast adjustment w/ 10K trimmer pot: This seems to do absolutely nothing. No matter how much I twist it nothing changes.

General display: After wiring it according to this tutorial: http://arduino.cc/en/Tutorial/LiquidCrystal, I tried to some run some of the example LCD sketches in the Arduino library. In general, nothing happens. Occasionally I see bars that move around in an incoherent fashion on the screen, but this only lasts for a few seconds. These bars were sharp and well-defined, with good contrast at the setting that the pot was at.

I uploaded a picture of my current setup here: [url=http://www.flickr.com/photos/dwhittenphoto/7737781274/in/photostream[/url] The code I have been trying to use is identical to the code in this tutorial: http://arduino.cc/en/Tutorial/LiquidCrystal

I am no soldering expert, but I double checked my solder joints and they seem pretty ok to me.

So my main questions are: 1) Why does the contrast adjustment not do anything? 2) Am I wiring this LCD incorrectly? Is the pin arrangement different then the pin arrangement in the Arduino tutorial?

When I ask questions I usually try to be more specific, but I am kind of at a loss here. I really appreciate any assistance!

Thank you for your time.

Sorry, I tried to edit one of my links and it got messed up.

My setup is here: http://www.flickr.com/photos/dwhittenphoto/7737781274/in/photostream

A larger picture can be found here: http://farm8.staticflickr.com/7108/7737781274_6f1b512560_k.jpg

The tutorial I have been following is here: http://arduino.cc/en/Tutorial/LiquidCrystal

Thanks again

Your LCD module is wired incorrectly.

In general the LCD modules with the pins in the lower left have a non-standard pinout compared to the ones used in most tutorials, and yours is no exception.

You will have to rewire your display using the LCD pin numbers from the tutorial and the LCD pin locations from page 1 of your datasheet.

Don

Man, I knew this LCD should be wired differently, but wasn't sure how, until I realized that the first pin on this LCD is labeled as "14", not as "1" like I thought. Dumb mistake, thanks for letting me know.

So with this knowledge I re-rewired my connections. Now the contrast pot works. Thanks!

However, I guess I am still doing something wrong, because I can't get it to display anything. It basically looks like this picture http://learn.adafruit.com/assets/933 even when I am running a sketch.

This picture: http://farm8.staticflickr.com/7278/7741287966_ef201fc145_h.jpg is what I think the pins should be and how I connected them to the Arduino.

I am still trying to use the code in this tutorial: http://arduino.cc/en/Tutorial/LiquidCrystal, however I have changed

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

to

LiquidCrystal lcd(2, 4, 8, 9, 10, 11);

in order to reflect my pin configuration that I showed in the previous image.

Do you think either my pin configuration or program settings could be to blame?

Thanks again!

Do you think either my pin configuration or program settings could be to blame?

That's basically the problem. We need another photograph of your connections and a copy of the actual code that you are using in order to provide any actual help..

Don

Ok, no problem.

I took two pictures at slightly different angles in case one is more helpful than the other:

http://farm9.staticflickr.com/8288/7743552326_99e9a1e8b6_k.jpg

http://farm9.staticflickr.com/8431/7743551396_b66ab6bbc8_k.jpg

Here is the code I am trying to use (it’s one of the example sketches, all I changed was “LiquidCrystal lcd(2, 4, 9, 10, 11, 12);”):

/*
  LiquidCrystal Library - Hello World
 
 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the 
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.
 
 This sketch prints "Hello World!" to the LCD
 and shows the time.
 
  The circuit:
 * LCD RS pin to digital pin 2
 * LCD Enable pin to digital pin 4
 * LCD D4 pin to digital pin 9
 * LCD D5 pin to digital pin 10
 * LCD D6 pin to digital pin 11
 * LCD D7 pin to digital pin 12
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
 
 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe
 
 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 4, 9, 10, 11, 12);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

Here is my interpretation of the datasheet and rational for why I wired everything as I did: http://farm8.staticflickr.com/7268/7743550658_df8a1d60d0_h.jpg

As before, the datasheet can be found here: http://www.lumex.com/specs/LCR-U01602DSF+D-WH.pdf

Again, I really appreciate your time, let me know if you need other information or pictures.

Everything looks correct to me except for the fact that you are powering the backlight using a voltage divider, but that won't affect the LCD controller.

It's possible that your LCD controller is somewhat out of specification - did you get a really good deal when you bought the LCD module?

You could try the 8-bit interface, for some reason it seems to be less of a problem with marginal devices.

You could also try the LiquidCrystal1.0 library (4-bit only). This was written for the 40x4 displays but will also work with the more conventional displays. I believe that John made sure that this library accounts for slow controllers. Start looking for it here: http://code.google.com/p/liquidcrystal440/

Don

Did I miss something here I could swear that the adafruit code says , "LiquidCrystal lcd(2, 4, 9, 10, 11, 12);" and your says "LiquidCrystal lcd(2, 4, 8, 9, 10, 11);. Could this perhaps been overlooked?

Doc

Could this perhaps been overlooked?

You overlooked the missing comments.

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

Don

Everything looks correct to me except for the fact that you are powering the backlight using a voltage divider

That is interesting, why do you not recommend a voltage divider? I can't say I am terribly surprised, since the back light does not seem to be as powerful as it looks in pictures.

did you get a really good deal when you bought the LCD module?

I don't think I got a really good deal, I bought it here http://www.newark.com/lumex/lcr-u01602dsf-dwh/alphanumeric-display-32-9-66mm/dp/65R6890?Ntt=65r6890 for $20 or so. I bought it because it was used in the YouTube tutorial I mentioned in my first post, where it seemed to work fine.

You could also try the LiquidCrystal1.0 library (4-bit only).

Thanks, I will check out these links.

Do you think something could have been damaged since I had the wrong pin configuration initially?

Did I miss something here I could swear that the adafruit code says , "LiquidCrystal lcd(2, 4, 9, 10, 11, 12);" and your says "LiquidCrystal lcd(2, 4, 8, 9, 10, 11);.

Thanks for your response. I think I may have confused you because in an earlier post I had used "LiquidCrystal lcd(2, 4, 8, 9, 10, 11);" but in my most recent attempt (which is the code I included in my last post) I used "LiquidCrystal lcd(2, 4, 9, 10, 11, 12);". So I think I am in fact doing what you recommended. However I could be wrong.

Thanks again for the responses, and sorry for the confusion.

Contrast issues with VFD displays can be traced to 2 places and really the same place. 1 there is a "filament"... much the same as a light bulb but it isn't supposed to light up much... It's the "Cathode" or most negative connection for the Anode or display elements (plates) first the filament should connect to ground (one end and it usually doesn't matter which end. The Anodes or plates usually need to be about 12 - 20V above ground at Microamp current levels to cause them to glow. Be Careful to supply the correct voltage to those pins and to ground one end. The filament is usually operated from 3 to 6 V at anywhere from 100 to 300 mA current. Supply the correct voltage and it will work well too much voltage will destroy the filament destroying the display. Low or intermittent brightness is almost always due to filament issues. Follow the data sheet recommendations carefully or brick the display.

Doc

That is interesting, why do you not recommend a voltage divider?

Did you account for the loading effect of the backlight when you calculated the resistor values?

Don

Did you account for the loading effect of the backlight

Hmm, well since I had not heard of the "loading effect" before I am guessing I did not account for it. :roll_eyes: I used a voltage divider because that is how the guy in the YouTube tutorial powered it, however now that I think about it I would never power an LED with a voltage divider in a normal application so I'm not exactly sure why I would try that here.

Would it be better to just put a resistor in series with the 12V line so that there is a 6V drop across the LED?

Thanks again for both of your replies.

Would it be better to just put a resistor in series with the 12V line so that there is a 6V drop across the LED?

Not exactly because doesn't really work that way. The LED requires a certain amount of current to work. When you supply the correct amount of current then a certain voltage will be developed across the LED. Neither you nor anyone else can accurately predict what the specific voltage will be although the manufacturer provides some guidelines.

In your case the backlight LED is supposed to be supplied with a current of 15 mA. Under those conditions the voltage across the LED will typically be around 6.2 V but it may be as high as 6.8 V. You CANNOT supply 6 V to the LED because then it won't conduct, it won't draw any significant current, and it won't produce any light. You CANNOT supply any higher voltage directly to the LED because when you do supply a voltage high enough for it to conduct there will be nothing to limit the current. The LED will draw a large amount of current and supply a large amount of light, but only for a short amount of time, until it releases it's magic smoke.

You must supply a voltage larger than 6.8 Volts in order to cause the LED to conduct and you must also include a resistor to limit the current to a safe amount. In your case you are using a 12 Volt supply and you want the current to be 15 mA. This means that if the LED is 'typical', and if you get the resistor chosen correctly, there will be 15 mA through the LED and the resistor and there will be 6.2 V across the LED leaving 5.8 V across the resistor. This means that to get these conditions the resistor must be 5.8 / 0.015 = 387 ohms. So you should start out with a 390 ohm resistor and see what happens.

Don

Thanks for the reply.

Although I clearly am not very knowledgeable about LCDs, I have worked with LEDs before, so I am familiar with the process of choosing a current-limiting-resistor. When I made my vague statement about "putting a resistor in series with the 12V line..." that is what I was referring to, although I should have been more specific. But I still appreciate the detail! I am glad to know that choosing a resistor for LCD LEDs is not different from the normal approach (at least it doesn't appear to be so).

I guess I had assumed that there is some kind of resistor in series with the Anode/Cathode so that all I had to do was apply 6.2-6.8V and everything would be great. I misunderstood the datasheet I suppose.

You must supply a voltage larger than 6.8 Volts in order to cause the LED to conduct

Did you mean to say 6.2 Volts?

Thanks again for the info, maybe one day I'll be knowledgeable enough to help people as you do.

You must supply a voltage larger than 6.8 Volts in order to cause the LED to conduct

Did you mean to say 6.2 Volts?

Let me rephrase that. You must supply a voltage larger than 6.8 Volts in order to be sure that the LED will conduct.

If the LED is 'nominal' it will conduct with a voltage greater than 6.2 Volts. If it is a little different then it might require 6.4 V or 6.6 V, etc.

Don

Gotcha, that makes sense thanks!