Problems with the 1602a LCD display

Problem has been solved! I do not know what the the problem was, after unwiring everything and rewiring with new arduino, breadboard, and wire it works now. here is the code that works for anyone that needs help with this in the future. also,

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

here is one last picture of the working setup Imgur: The magic of the Internet

Thank you everybody that helped out on this! I really like this community.

I am trying to be able to display a basic message to my 1602a display. The problem is, is that the display does not show anything. I am following this tutorial here: Arduino Character LCD Tutorial
I have it wired as it is in the tutorial. I have double checked this to make sure that it is the case.
I have also played with the pot that controls the contrast. it does change the contrast, but that doesnt help much if there is nothing on the screen.
Also, I have checked all of my wires to check for breaks and they all are good.
The resistor I am using is 100 ohms, the tutorial suggests greater than 40 ohms.

Does anybody know why it might not be working?

~~this forum wouldnt let me add a picture, so i uploaded it to imgur and here is the link: http://imgur.com/1WWjqbn~~
a new smaller image is below

Here is the code I am using

/* ------------------------------------------------------------------------------- */
// character LCD example code
// www.hacktronics.com

#include <LiquidCrystal.h>

// Connections:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

int backLight = 13;    // pin 13 will control the backlight

void setup()
{
  pinMode(backLight, OUTPUT);
  digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
  lcd.begin(16,2);              // columns, rows.  use 16,2 for a 16x2 LCD, etc.
  lcd.clear();                  // start with a blank screen
  lcd.setCursor(0,0);           // set cursor to column 0, row 0 (the first row)
  lcd.print("line one");    // change this text to whatever you like. keep it clean.
  lcd.setCursor(0,1);           // set cursor to column 0, row 1
  lcd.print("line two");
  
 
}

void loop()
{
}
/* ------------------------------------------------------------------------------- */

Also, I fixed the wiring and soldering, here is a new, smaller image
Imgur

Hi and welcome.

Your picture shows a display that is not initialised.
The first row all pixels on and the second one all off tells that.

The picture also is difficult to read, because the wires are quite sloppy.
Post the sketch you have, and put it in code tags.

Putting your picture in here works as you see.
But maybe you should make it a bit smaller ?

Oh, and also:
You soldered the connector to the display yourself.
Not all soldering points are well done, so have a look at that and improve some of them.

This is the standard reference almost everyone uses:

You can ground R/W. You're never going to READ from it.
You can use a 40 ohm resistor recommended by the website you linked but I personally have two of these
displays and have connected the backlight directly to +5V and it draws 18mA so I don't see any cause for concern there.
Some people prefer to use a transistor (2n3904 or 2N2222) with the collector connected to +5V, Emitter to LCD pin 15
and a 10k resistor from the Base to a PWM output pin so you can adjust the brightness in SW.
If it is connected correctly (RW grounded) , and you set the contrast pot for 0.79V at pin 3 of the LCD (or use a 10k resistor
from pin-3 to +5V and a 1k from pin-3 to GND, you will get the same voltage , 0.79Vdc, which should show any characters
displayed clearly. The backlight should turn on and off with power to pin 15.
What is the contrast voltage at pin-3 of display ?
If you don't have a meter then use the resistors recommended above to guarantee the correct voltage.
Change your 100 ohm resistor to 40 ohm. (or 47 if that's all you have) . You don't need to worry about the current.

and you set the contrast pot for 0.79V at pin 3 of the LCD (or use a 10k resistor
from pin-3 to +5V and a 1k from pin-3 to GND, you will get the same voltage , 0.79Vdc, which should show any characters
displayed clearly. The backlight should turn on and off with power to pin 15.
What is the contrast voltage at pin-3 of display ?
If you don't have a meter then use the resistors recommended above to guarantee the correct voltage.
Change your 100 ohm resistor to 40 ohm. (or 47 if that's all you have) . You don't need to worry about the current

the voltage is set correctly for pin 3. I dont have anything smaller than 100 ohms on hand, so i put two in parallel for 50 ohms.
The backlight does turn on/off with power to pin 15.

Did you ground R/W (PIN-5 of LCD) ?

pin 5 of the LCD is now grounded.

Cut all the LCD command statements out of setup and paste them into
void loop().
and add a delay after the last print. (ie: delay(1000);
or use the program here from Hobby Components.
http://forum.hobbycomponents.com/viewtopic.php?f=39&t=1326&p=3240&hilit=hcmodu0013#p3240

I ran your code on my display and got nothing,

I moved the parts of the code, nothing happened. Can I use code that works on yours to see if it works on mine?

You'll have to take a look at the wiring to see differences.
Change accordingly.
Then compare the constructor, and see the difference(s).
Yours:

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

Alternative:

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

Complete code from other site:

    /* FILE:    ARD_1602_LCD_HCMODU0013_Hello_World_Example.pde
       DATE:    09/03/13
       VERSION: 0.1

    This is a simple example of how to use the Hobby Components 1602 LCD module
    (HCARDU0023). To use this module you will require the standard Arduino LCD
    library which is built into the Arduino development enviroment.

    This code also demonstrates the correct pin assignment for the LCD. When you
    run this program you should see a greeting message appear on the display.


    DEVICE PINOUT:

    LCD      ARDUINO

    VSS      GND
    VDD      +5V
    VO       +5V VIA POTENTIOMETER
    RS       D12
    RW       GND
    E        D11
    D4       D5
    D5       D4
    D6       D3
    D7       D2
    A        +5V
    K        GND


    You may copy, alter and reuse this code in any way you like but please leave
    reference to hobbycomponents.com in your comments if you redistribute this code. This software may not be used by other sellers.

    THIS SOFTWARE IS PROVIDED "AS IS". HOBBY COMPONENTS LTD MAKES NO WARRANTIES, WHETHER
    EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
    HOBBY COMPONENTS LTD SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
    INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
    REASON WHATSOEVER.
    */

    /* Include the LCD Library */
    #include <LiquidCrystal.h>


    /* Create an instance of the LCD library. */
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


    void setup()
    {
      /* Initialise the LCD */
      lcd.begin(16, 2);
    }

    /* Main program loop */
    void loop()
    {
      /* Output the test message to the LCD */
      lcd.setCursor(0,0);
      lcd.print("HOBBY COMPONENTS");
      lcd.setCursor(0,1);
      lcd.print("**HELLO WORLD**");

     
      /* Do nothing */
      while(1);
    }

Your code did not work either, do you have any other ideas as to why?
Thank you for all of you help

Your code works on mine. I forgot to change the Constructor to match my current wiring.
There has to be some other explanation.
The program at the link I gave you is missing the backlight setup statements .
You need to add those.

I think I know what's wrong.

Look at this Constructor (from Hobby Components page)

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

Look at YOUR Constructor:

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

Do you notice anything ?
If I add the "10" in between the "11" and the "5" on MY LCD, it WON'T WORK !
If I leave the "10," OUT of YOUR CODE, it works on my lcd.
REMOVE THE "10 and the comma" that corresponds to the grounded R/W LINE.

MAS3 was saying the same thing I just did.
Try the code from the other side and don't change the constructor but add the backlight setup statements.

  // rw (LCD pin 5) to Arduino pin 11

Correction, remove the "11", NOT the "10".
Sorry about that...

I tried changing the code, no luck. When you say that your screen doesnt work, does it do what mine is doing, where the bottom row is completely filled in and the top is blank?

Negative.
After realizing I got the R/W & En pins mixed up I added the "11" in the constructor and your code worked
perfectly. Your display is not initializing as someone already pointed out.
So you tried this

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

What pin on the LCD do you have Arduino pin 11 connected to ?

 // Connections:
// rs (LCD pin 4) to Arduino pin 12=>                          Arduino pin 12<=>rs (LCD pin 4)
// rw (LCD pin 5) to Arduino pin 11=>                          Arduino pin 11<=>rw (LCD pin 5)
// enable (LCD pin 6) to Arduino pin 10

Arduino pin 10<=>enable (LCD pin 6)
MOVE THE WIRE FROM LCD ,PIN-6 TO ARDUINO PIN -11 (instead of 10). You already grounded RW so there should
be nothing connected to 11 right now.
Then use file from other site without changing the constructor but with the backlight setup added.

Are you ready to get your display working?

If the answer is yes then disconnect everything and start over again using the following outline. It is geared to the circuit and sketch shown in the Arduino tutorial at http://www.arduino.cc/en/Tutorial/LiquidCrystal.

(1) If the module has a backlight then get it working properly. This involves only pins 15 and 16 on your LCD module. Make sure to use a current limiting resistor if there is none on the LCD module.

(2) Get the power and contrast working properly. This involves only pins 1, 2, and 3 on your LCD module. You should be able to see blocks on one row of a two row display and on two rows of a four row display.

NOTE: The Arduino has not been used yet, except as a possible source for the power needed for the first two steps. Do not try to go any further until this is working. If you don't see the blocks then no amount of program code will help.

(3) Connect the LCD R/W pin (pin 5) to GND.

(4) Connect the six control and data wires between your LCD module and your Arduino.

(5) Upload your sketch and it should work.

If you still don't get a display then make sure that your wiring matches the numbers in the descriptor (or vice versa).

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

If you get a display but it is garbled or has some other problems then try again with a 'static' sketch, one that displays a simple message on the top row of the display and then stops. All of your code should be in setup() and loop() should be empty between the brackets.

If you are still having problems then we need to see a photograph of your setup that clearly and unambiguously shows all of the connections between your Arduino and your LCD module. We also need a copy/paste version of the code that you are actually using, not a link to the code that you think you are using.

Don

Here is a new picture. I switched to a different arduino and breadboard to make sure that wasnt the problem. the only difference is that the top row now appears full.
Imgur

I tried running the code from http://www.arduino.cc/en/Tutorial/LiquidCrystal. nothing changed, Here is the code

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

My wiring matches that from the tutorial above.

Any other ideas?

Did you try to change the setting of the potentiometer in your present setup ?

yes, the potentiometer changes the contrast, i played around with it in the first setup, no luck however