Pages: 1 [2]   Go Down
Author Topic: Problem with allignment of LCD  (Read 1219 times)
0 Members and 1 Guest are viewing this topic.
Central MN, USA
Offline Offline
Tesla Member
***
Karma: 64
Posts: 6893
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Try pushing down the metal housing against the circuit board and see if the missing row gets any better. Your symptom resembles some of the defective displays that have poor contact between the glass that has liquid crystal on it and the circuit board that has control circuit on. There are 6-8 metal tabs that hold these two pieces together. If these tabs are loose, your display will not show some pixels. If they are held together but the conductive rubber strips between them is out of place, you may also experience this symptom. You are putting a huge delay in your loop already so I don't think it is refreshing-related problem (refreshing too fast).
Logged


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

Quote
I put a 1k resister on the backlight and this fixed only the first character. Don't know what it could be really.
That's pretty large, is your backlight still illuminated?

Did you make this change that I mentioned in reply #9?
"A character mode LCD like the one you have does not have to be refreshed.  Therefore the code that you have in loop() should be in setup() and loop() should be blank."

Also, you don't need the lcd.clear() but if you do use it it should be placed after lcd.begin().

Don
« Last Edit: December 11, 2012, 12:49:49 pm by floresta » Logged

Pakistan
Offline Offline
Sr. Member
****
Karma: 6
Posts: 356
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Again... if you post Arduino output pin voltages ..may be i can help you solve?.. okay, just tell if you have any resisters/led at output pins of arduino between lcd and arduino?
try to add delay between the refresh rate of lcd.
Logged


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

Quote
Again... if you post Arduino output pin voltages ..may be i can help you solve?..
I don't think most of these readings will be much help.  For example the signal driving LCD Enable pin is typically low most of the time.  There is a very short pulse whenever information is transferred to or from the LCD module.  This will read '0' on most voltmeters.

The voltages on pins 2, and 3 with respect to 1 and 15 with respect to 16 are the only DC voltages present.  These will be correctly interpreted by a voltmeter and might be of help.


Quote
try to add delay between the refresh rate of lcd.
The LCD does not have to be, and should not be, refreshed.

Don
« Last Edit: December 12, 2012, 10:33:11 am by floresta » Logged

Pakistan
Offline Offline
Sr. Member
****
Karma: 6
Posts: 356
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Quote
try to add delay between the refresh rate of lcd.
The LCD does not have to be, and should not be, refreshed.

Don
Don,
He needs delay, in case, If he clear the lcd too fast...
Logged


The Netherlands
Offline Offline
Newbie
*
Karma: 0
Posts: 9
I like it awesome!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Try pushing down the metal housing against the circuit board and see if the missing row gets any better. Your symptom resembles some of the defective displays that have poor contact between the glass that has liquid crystal on it and the circuit board that has control circuit on. There are 6-8 metal tabs that hold these two pieces together. If these tabs are loose, your display will not show some pixels. If they are held together but the conductive rubber strips between them is out of place, you may also experience this symptom. You are putting a huge delay in your loop already so I don't think it is refreshing-related problem (refreshing too fast).

When pusing down the LCD the row got better. I pushed it around a bit until it stayed in place properly and it shows the pixels correctly. Only the top row of pixels of the bottom row is not displaying, the letters are too high to fit on. Is this a common problem?

Also changed the code: (not refreshing it and put it in setup instead of loop)
Code:
/*
lcdSetup - Guy
Basic setup for a LiquidCrystal display


Connections:

RS = 12
RW = 11
E  = 10
D0 = 2
D1 = 3
D2 = 4
D3 = 5
D4 = 6
D5 = 7
D6 = 8
D7 = 9

A = 5V   (+)
K = GND  (-)

VDD = 5V  (+)
VSS = GND (-)
V0 = PotMeter Middle Pin

PotMeter:
Right Pin = 5V  (+)
Left Pin  = GND (-)

*/
#include <LiquidCrystal.h> //Include the LiquidCrystal library

LiquidCrystal lcd(12,11, 10, 4, 5, 6, 7); //Setting a LiquidCrystal as 'lcd'
void setup()
{
  //lcd.clear(); //Clear the display
  lcd.begin(16,2); //Define the Length and Rows
  lcd.setCursor(0,0);
  lcd.print("ABCDEFGHIJKLMNOP");
  lcd.setCursor(0,1);
  lcd.print("ABCDEFGHIJKLMNOP");
}

void loop()
{
}

And a pic of how it looks now:
https://www.dropbox.com/s/uoztx47lvxwfsfq/lcdPixels5.jpg
Logged

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

I would call it a defective display. The conductive rubber was not placed at the correct spot or properly secured. I recommend you to get a new one, and then you have this one to play with see if you can fix smiley-wink
Logged


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

Quote
Don,
He needs delay, in case, If he clear the lcd too fast...

Well, as I said before, he doesn't need the clear instruction, at least not where it is right now.

The LiquidCrystal library has accounted for the fact that the clear (and the home) instructions take longer to execute than the other instructions. 

An extra delay won't hurt however and it could help if you are using a low cost possibly out of spec display.  You probably won't ever notice the extra delay either.


Don
Logged

Pages: 1 [2]   Go Up
Jump to: