Go Down

Topic: 1602 Display trouble? (Read 2 times) previous topic - next topic

funkyguy4000

Hello,

So I have had this 1602 display laying around for ages and I haven't ever been able to figure out why.  I'm sick of it so I decided I'm gonna do whatever I can to make this thing work.

I've been using this and I have loaded its sample program up and it still won't do anything. 
http://arduino.cc/en/Tutorial/LiquidCrystalDisplay

I don't even see the pixels turn on or anything.  Its just completely idle.  Any ideas?
Accelerate to 88 miles per hour.

Nick Gammon

Not enough information.

Link to datasheet? How have you wired it? What code are you running?
http://www.gammon.com.au/electronics

floresta

Quote
Any ideas?


You have made over 700 posts on this forum so you should know that your problem cannot be answered by others with the information you have supplied.

You are using a very common display with a library that is known to work so where do you think the trouble might be?


Don

funkyguy4000

Sorry, I wasn't at my workbench when I made the post.  I'd thought somebody would have some obscure situation with a solution.

The display I'm using is a POWERTIP PC1602C Rev A
It also has PHICO D-0 94V-0  on it.
From what I've found it should be the same pin out as a normal 1602 display.

I have no idea what the problem is, that's why I'm here asking...
Accelerate to 88 miles per hour.

floresta

Where are the pins located with respect to the display?  Some of the Powertip displays have the pins at the lower left and those typically do not have the same pinout as a normal display.

Don

funkyguy4000

#5
Sep 20, 2012, 04:01 am Last Edit: Sep 20, 2012, 04:03 am by funkyguy4000 Reason: 1
Just like the picture.
That is what I assume to be the proper way, seeing as how the text is upright.
Accelerate to 88 miles per hour.

floresta

That looks 'normal' to me. 

First get the backlight working (pins 15 and 16), you will probably need a current limiting resistor in one of the backlight leads. 

Next connect the the power and the contrast (pins 1, 2, and 3) and see if you can adjust the contrast to get blocks on the top row.

Don't bother with the Arduino until you get this working.

After you get the blocks then connect the six connections to the Arduino, connect R/W (pin 5) to GND, and try the 'hello world' demo sketch.

Post photos if you have problems.  I'll check back in the morning to see how you did.


Don

funkyguy4000

wow, i wasnt turning the pot enough.
Alright so I uploaded the hello world to the arduino and this is all I'm getting.
I tried changing the contrast to make sure the hello world wasn't buried.
Accelerate to 88 miles per hour.

liudr

Seems to me the display is not initialized. Can you post your code?

funkyguy4000

Its just the HelloWorld from the liquidcrystal library. Nothing too special or custom.

Code: [Select]
/*
  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 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* 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(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);
}
Accelerate to 88 miles per hour.

floresta

Quote
wow, i wasnt turning the pot enough.

That's a 10-turn pot.

It looks like you have pin 5 connected to +5v instead of to GND.


Don

liudr


Quote
wow, i wasnt turning the pot enough.

That's a 10-turn pot.

It looks like you have pin 5 connected to +5v instead of to GND.


Don


Good eye! I looked at the pic too but I saw the black and trusted this fellow a bit more than I should  :smiley-mr-green:

funkyguy4000

Oh wow, musta misplaced it.  I'll change when I get back to my dorm and let you know if it works or not!
Accelerate to 88 miles per hour.

funkyguy4000

Okay so I put the pin 5 to the ground and I'm still getting the same issue
Accelerate to 88 miles per hour.

funkyguy4000

whoops, I also had a couple pins in the wrong place as well.
Other than that, I have a question.  How would I use everything?  I only have 4 data lines connected now, how would I use the other 4?
Accelerate to 88 miles per hour.

Go Up