Pages: [1] 2 3   Go Down
Author Topic: 16x2 LCD Mystery [update]  (Read 4542 times)
0 Members and 1 Guest are viewing this topic.
Holland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Troubles are there to be solved!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey guys,

i bought a 16x2 LCD but i cant get it to work. (link to product page)
i have no datasheet/model name, and no potmeter (instead i hooked VO to ground). i am using the LiquidCrystal libary in 4bit mode.
at the back of my lcd i can read some model numbers: [1602A] , [JGD1602A] , [QCPASS] (dont know if anyone else can find his datasheet, but i cant)

problem: (using the LiquidCrystal libary)
1 - lcd.setCursor causes a blank screen (whereever i place this command and with whatever arguments filled in -> lcd.setCursor(0,0) always result in blank screen even if i use any prints)
2 - with hello world example of arduino LCD example (these i mean) ..with the lcd.setCursor(0, 1) line excluded (removed),
my display shows the 1st row all black (LCD =  5x8 dots x16chars x 2 rows) and second row is all blank (removing the lcd.print() line in the loop dit not solve this..)

These are my connections from LCD:
1 vss - gnd
2  vcc - 5v+
3  vo - gnd
4  rs - D12 (arduino)
5  R/W - gnd
6  E - D11 (arduino)
7  data 0 -
8  data 1 -
9  data 2 -
10 data 3 -
11 data 4 - D5 (arduino)
12 data 5 - D4 (arduino)
13 data 6 - D3 (arduino)
14 data 7 - D2 (arduino)
15 A - 5v+ Through 220 Ohms
16 K - gnd

PS: furthere more i have nothing else connected to my lcd nor my arduino & Picture at product page is incorrect!

if sombody have any great ideas i appriciate it alot! (i am working on this now for more than a week!)
Nick
« Last Edit: June 04, 2012, 05:42:06 am by nickn4 » Logged

humankind cannot obtain anything without
sacrificing something of equal value.

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 74
Posts: 7251
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I think fixing the "don't have potentiometer" is your first step. Take a look at this thread. I spot a few very apparent things that will help you.

http://arduino.cc/forum/index.php/topic,102266.0.html
Logged


Western New York, USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 4387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Picture at product page is incorrect!

Well at least we know what the display does not look like.


Don
Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 4387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I assume that the backlight is working and the epoxy blobs on the back of the display don't get hot.  This would normally mean that your power is connected properly, there are some oddball LCD modules with the Vss and Vcc pins reversed, but don't have one of those.  You may, however, have misinterpreted the pinout.  If your row of 16 pins is at the upper left or lower right then pin 1 is near the outside edge of the board.  If your row of 16 pins is at the lower left then we will have to do some more research.

You are seeing one row of blocks on the display.  This means that your use of 0 Volts on pin 3 may be adequate although probably not optimum. 

The single row of blocks also indicates that your LCD controller is not being properly initialized.  Since the LiquidCrystal library along with the Hello World sketch are known to work that leaves your interconnections as the most probable cause of your problems. 

While you are waiting for John and I to wake up you should post some pictures as mentioned in his link.


Don
Logged

Holland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Troubles are there to be solved!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hey, thnx for the quick replies!

Quote
I think fixing the "don't have potentiometer" is your first step. Take a look at this thread. I spot a few very apparent things that will help you.
ill try to get 1, but i also read that connecting vo to gnd would cause full brightness, soo this way i dont ned a pot?

Quote
The single row of blocks also indicates that your LCD controller is not being properly initialized.  Since the LiquidCrystal library along with the Hello World sketch are known to work that leaves your interconnections as the most probable cause of your problems. 

While you are waiting for John and I to wake up you should post some pictures as mentioned in his link.
see pictures with this post.. and the rest is included in the next post.


* DSCF5863.JPG (151.23 KB, 800x600 - viewed 48 times.)

* DSCF5866.JPG (401.27 KB, 800x601 - viewed 70 times.)

* DSCF5867.JPG (389.4 KB, 800x601 - viewed 60 times.)

* DSCF5868.JPG (383.32 KB, 800x601 - viewed 52 times.)
Logged

humankind cannot obtain anything without
sacrificing something of equal value.

Holland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Troubles are there to be solved!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

here're the other pictures,
please note: the lcd with a blank screen is the snapshot of the arduino with the complete example, the lcd snapshot with 1st row black is the moment when the lcd.setcursor(0, 1); is removed from the sketch.


* DSCF5869.JPG (311.7 KB, 800x601 - viewed 50 times.)

* DSCF5870.JPG (352.41 KB, 800x601 - viewed 51 times.)

* DSCF5871.JPG (356.74 KB, 800x601 - viewed 44 times.)
Logged

humankind cannot obtain anything without
sacrificing something of equal value.

Upstate NY
Offline Offline
Full Member
***
Karma: 2
Posts: 184
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Post your code!
Don't forget to use the code tags.
Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 4387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

We need a photograph that allows us to unambiguously follow the six wires that connect between your LCD module and your Arduino.   Your second photo is the closest but using wires of the same color on adjacent pins doesn't help things.

You should also redo the solder connections on your LCD module.  You have used too much solder so go easy next time.  If you can find a header strip that might be a better choice for tinkering.

I am concerned about the first four columns of dots in your first block.  They shouldn't be lighter than the rest.

You shouldn't have to change the sketch but you could try commenting out everything inside loop() if you think it might help.

I never saw an LCD module with the pins identified as yours are.  That's a really good idea and I'm surprised that they spent the extra money to do so since that is the only silk screen work on that side of the board.


Don
« Last Edit: May 19, 2012, 09:24:48 am by floresta » Logged

Holland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Troubles are there to be solved!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sketch for 1st row black:
Code:
// include the library code:
#include <LiquidCrystal.h>

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

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);
}

sketch for blank screen:
Code:
// include the library code:
#include <LiquidCrystal.h>

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

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);
}

Quote
We need a photograph that allows us to unambiguously follow the six wires that connect between your LCD module and your Arduino.   Your second photo is the closest but using wires of the same color on adjacent pins doesn't help things.
any suggestions how i can fotograph any bether pictures? i can assure you that my connections are the same as my first post..

Quote
You should also redo the solder connections on your LCD module.  You have used too much solder so go easy next time.  If you can find a header strip that might be a better choice for tinkering.
well, im keep getting better each time. but does it make the situation any bether by resoldering all pins (i dont know if i can desolder that good already, so it might get even worse..)

Quote
I am concerned about the first four columns of dots in your first block.  They shouldn't be lighter than the rest.
Right before posting the pictures it did not apear this way, maybe i fried them somehow? but anyway the 1st row have been all black even whitout this error. (so this does not cause the problems)

Quote
You shouldn't have to change the sketch but you could try commenting out everything inside loop() if you think it might help.
okey, ill do that instead.. :3

Quote
I never saw an LCD module with the pins identified as yours are.
how came? if i search 16x2 lcd display on google i can find lots of the same pin-outs..

Quote
That's a really good idea and I'm surprised that they spent the extra money to do so since that is the only silk screen work on that side of the board.
about what idea are you talking about? extra money spend at what??

thanks nick
« Last Edit: May 19, 2012, 12:28:44 pm by nickn4 » Logged

humankind cannot obtain anything without
sacrificing something of equal value.

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 4387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
any suggestions how i can fotograph any bether pictures?
We have to be able to follow each wire without being confused as to which one we are following.

Quote
i can assure you that my connections are the same as my first post..
That is the problem.  Your connections didn't work then, and they still don't work.

Quote
but does it make the situation any bether by resoldering all pins
Yes, if the original connections were bad.  With such a big solder blob we can't see if there is a 'cold' connection underneath.

Quote
about what idea are you talking about?
I am talking about the fact that each pin is labeled for it's function.  Usually they just identify pin 1 and/or 16 as they do on the other side of your board.

Quote
extra money spend at what??
The white lettering is done with a silk screen (like a stencil).   The application of this lettering involves an extra manufacturing step.  It doesn't cost anything extra to add this lettering if you are already using a silk screen for other information, but that isn't the case here.

------

You have a problem that is most likely related to one or more of the six connections between your Arduino and your LCD module.  Your problem could be one or more wires in the wrong place, it could be one or more bad connections, or it could be a combination of the two.  You should consider removing all the wires and starting over, possibly following the Lady Ada tutorial that is mentioned in the link given in reply #1.  You did look at that link I hope.

Don
« Last Edit: May 19, 2012, 12:48:43 pm by floresta » Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 4387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
I am concerned about the first four columns of dots in your first block.  They shouldn't be lighter than the rest.
Right before posting the pictures it did not apear this way, maybe i fried them somehow? but anyway the 1st row have been all black even whitout this error. (so this does not cause the problems)
Try putting some pressure on the black trim that surrounds your LCD glass and see if this condition changes.  You could have a loose connection between the LCD display and it's pc board.

Don
Logged

Holland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Troubles are there to be solved!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Try putting some pressure on the black trim that surrounds your LCD glass and see if this condition changes.  You could have a loose connection between the LCD display and it's pc board.
well look at that! it sure did change the condions.. by slightly give some pressure on the frame it has been solved, how would i get this pressure on the frame forever? or do i always have to live with the fact that its broken?

Quote
You have a problem that is most likely related to one or more of the six connections between your Arduino and your LCD module.
i was almost 100% sure that i connected everything according to the connections mentiond on my 1st post, do you realy think my problem is that i have hooked up something wrongly?

anyway ill desollder everything and resolder everything with a little less solder on each pin. im still not realy good at soldering but ill try (any tips are welcome)
i will let you know when im done and what the results are.
Logged

humankind cannot obtain anything without
sacrificing something of equal value.

Holland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Troubles are there to be solved!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
...You did look at that link I hope.
hehe, i found that page long before posting this problem trough google and read it many times already..
Logged

humankind cannot obtain anything without
sacrificing something of equal value.

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 4387
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
how would i get this pressure on the frame forever?

By twisting the black tabs that are extending through the pc board.  You can see five of them in photo DSCF5870.

Don
Logged

Holland
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Troubles are there to be solved!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

i'd like to inform you that i just bought a 10k potmeter. i tryed but no big results:

this sketch,
Code:
// include the library code:
#include <LiquidCrystal.h>

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

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);
}
witch caused me a full blank screen, is now causing to show about the last 4 or 5 collums black when i turn the potentiometer at a specific moment (i couldn't see them before because i wasn't able to ajust brightness)
i can see them just for a very short time about 50 mil seconds and than they dissapear, wich lets me thinking that the lcd.setCursor(); caused somekind of refresh or reset on the lcd's chip.

questions:
1. could it be that this lcd is not Hitachi HD44780 Compatible?
2. how does non-Hitachi HD44780 LCD's react to this libary?
nick
Logged

humankind cannot obtain anything without
sacrificing something of equal value.

Pages: [1] 2 3   Go Up
Jump to: