LCD (16x2) GDM1602a

Hey guys

I've just got a lcd a GDM1602a but i just cant get it to work.... any tips?

I downloaded the 4bit lib but no luck so far... I cant even get the backlight to work...

Junke1990:

... any tips?

  1. Get the backlight working first. This doesn't require the Arduino so (assuming the backlight isn't defective) if you can't get it to work you may have a power supply problem.

  2. Connect the power and contrast pins (1, 2, and 3) and make sure you can see the black boxes on the first row of the display.

  3. Use Arduino v0017 and its updated LiquidCrystal library.

Don

  1. there’s the first problem

I connected the +5v of the arduino to pin 15 op the lcd and the gnd to pin 16 and 1 of the lcd but i doesnt light up…

Where did you get the display? It may not have a backlight or it could be EL.

Junke1990:

I connected the +5v of the arduino to pin 15 op the lcd and the gnd to pin 16 and 1 of the lcd but i doesnt light up....

What about the 56 ohm series resistor?

Don

I bought it in a local electronics shop, it clearly says + backlight

http://grootaers.nl/index.htm?http://grootaers.nl/toonafbeelding.php?ProductNr=10600030&hoofd

@floresta
56 ohm series resistor?

Junke1990:

56 ohm series resistor?

The one mentioned in the data sheet. It's possible that it is already on the PC board, but you should check. If you apply 5 volts to an LED whose maximum forward voltage rating is 4.4v (also in the data sheet) it will be very bright for a very short time and then it will be very dark from then on ....

Don

I upgraded to v 17 and a (hopefully) a little further. I took couple examples like http://arduino.cc/en/Tutorial/LiquidCrystal and connected them.

( made a little table for in the code )

// ATMEGA       // LCD
// GND            // 1
// +5v            // 2
// RS = 12       // 4            
// RW = GND      // 5
// ENABLE = 11 // 6
// d4 = 2          // 11
// d5 = 3          // 12
// d6 = 4          // 13
// d7 = 5          // 14

the strange thing is I cant get anything on the screen, the only time i get something on the screen is when I start turning the potmeter for pin 3 the contrast

I have tried to reverse the d4 ~ d7, but that still didn't work.

// d4 = 5          // 11
// d5 = 4          // 12
// d6 = 3          // 13
// d7 = 2          // 14

Junke1990

the strange thing is I cant get anything on the screen, the only time i get something on the screen is when I start turning the potmeter for pin 3 the contrast

That is what step #2 in reply #1 is all about. Have you done that successfully? If you get the boxes then the power supply is working and the contrast is close enough to the correct setting for you to continue. If you don't see the boxes than no amount of tinkering with the other wiring, the IDE, the libraries, or the program code (sketch) will help.

Don

the backlight wont go on so i went on and tried to see if i could get something on the screen anyway.

Second thing is after googling some more I found a second datasheet. on this one it says Built-in controller (S6A0069 or equivalent) in stead of KS0066U or Equivalent. Both sheets being from XIAMEN, on my LCD there is ver2.0 printed, now comes the greatest part this isn't mentioned in the datasheets

Junke1990:

What part of this do you not understand???

If you don't see the boxes than no amount of tinkering with the other wiring, the IDE, the libraries, or the program code (sketch) will help.

Don

Hi everyone. I have exactly the same problem with exactly the same LCD, but I can see the black boxes. So everything's fine but I cant print anything on my LCD :(

maybe this will help:

http://www.flickr.com/photos/junke1990/3922742342/

if you need anything let me know, you'll find me through my nick on a lot of social networks.

thx for answering! I had trouble, but everything works fine now. I had no 10k potmeter, but using two 10k resistors just works fine. Thanks again.

I wrote a little script for linux which may be fun to try: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1253025207

btw, does anyone know if it is possible to use the OBDuino system, I reported the sys a few months ago but no luck so far.

http://code.google.com/p/opengauge/issues/detail?id=9

maybe this will help:

http://www.flickr.com/photos/junke1990/3922742342/

if you need anything let me know, you'll find me through my nick on a lot of social networks.

How about a picture showing something on the second line of the display. I don't think it will happen with your code.

Don

You could see it in the vid, I edited the code from arduino.cc a while back. With this code you could set the cursor to the second row and give in your text then.

I think the best option is to order a different screen from sparkfun or so. I need it for the Obduino system. A screen which is supported by multiple libraries.

#include <LiquidCrystal.h>

// LiquidCrystal display based on GDM1602A 
// ATMEGA      // LCD
// GND            // 1
// +5v            // 2
int RS = 12;      // 4            
//int RW = GND;      // 5
int ENABLE = 11;// 6
int d0 = 2;      // 7
int d1 = 3;      // 8
int d2 = 4;      // 9
int d3 = 5;      // 10
int d4 = 6;      // 11
int d5 = 7;      // 12
int d6 = 8;      // 13
int d7 = 9;      // 14

const int numRows = 2;
const int numCols = 16;

LiquidCrystal lcd(RS, ENABLE, d4, d5, d6, d7);
void setup()
{ 
  lcd.begin(numRows, numCols);
}

 void loop() {
   // loop from ASCII 'a' to ASCII 'z':
   for (int thisLetter = 'a'; thisLetter <= 'z'; thisLetter++) {
     // loop over the rows:
     for (int thisRow= 0; thisRow < numRows; thisRow++) {
       // loop over the columns:
       for (int thisCol = 0; thisCol < numCols; thisCol++) {
         // set the cursor position:
         lcd.setCursor(thisCol,thisRow);
         // print the letter:
         lcd.print(thisLetter, BYTE);
         delay(200);
       }
     }
   }
 }

You could see it in the vid

I didn't see any video when I went to that link.

You missed my point. In reply #12 you offered help in the form of a link to a photo and some code. Unfortunately with the code that you have posted in that link you will not be able to successfully display information on the second line of the display - at least not with the current LiquidCrystal library.

On a related note - the code you posted today in reply # 16 will work even though it is wrong, but only because the lcd.begin() function doesn't currently use much of the information that is passed to it. If lcd.begin() is ever implemented completely your code will probably fail.

Specifically: lcd.begin(numRows, numCols); should be: lcd.begin(numCols, numRows);

There were some examples on the playground that used your version and they worked for the same reason that yours worked. Those examples have since been corrected.

Your photo is nice and clear and the connections are neatly done. You should, however, remove the D0-D3 wires so that it agrees with the example and it would be a good idea to emphasize (in the photo notes) that LCD pin 5 must be grounded.

Don

Thanks I'm not that big of a pro in the LCD thing, the main thing for playing with it was to build my own obduino but since that sys can't work with the GDM1602a I decided to just order another display from sparkfun.

Which is atm still on my to-do list...

Here's the vid link, soz again for the bad quality, just skip ahead to about 1 minute.

http://www.youtube.com/watch?v=y79WUNoO9Ok