LCD does not print text despite it being programmed to do that

I set up a circuit that programs an LCD to print text, but my LCD does not print the text that I want to

print. The LCD turns on, but does not print text.

Board: Arduino Uno

LCD: Hitachi HD44780 Driver LCD

Here is the code:

//LCD text with incrementing number

//Include the library code:
include <LiquidCrystal.h>

//Start the time at 0
int time = 0;

//Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup()
{
    //Set up the LCD's number of columns and rows:
    lcd.begin(16, 2);
    //Print a message to the LCD.
    lcd.print("Jeremy's Display");
}

void loop()
{
    //Move cursor to second line, first position
    lcd.setCursor(0, 1);
    //Print Current Time
    lcd.print(time);
    //Wait 1 second
    delay(1000);
    //Increment the time
    time++;
}

Right, first things first.

Go and read the instructions, then go back and modify your post to mark up the code as such so we can examine it conveniently and accurately.

At present, that is not the main problem.

Now, provide the link to your display and the wiring diagram you are using, and a perfectly focussed photo showing all parts of your rig and allowing all connections to be traced.

In addition to all of the above:

The LCD turns on . . .

Are you referring to the backlight or the display itself?

. . . but does not print text.

What does it print?

  • a blank screen
  • a row of rectangles
  • unintelligible characters

Even if you don't have a camera or your mobile phone runs on kerosene you could have provided more information.

Also - you changed the interface pins that you are using and you changed the message. Why didn't you change or eliminate the junk in loop?

Don

I changed the interface pins as I had used another circuit for my LCD as the circuit in this website does not

allow my LCD to turn on at all. I guessed I should have used the same message that the website had said.

Here is the picture of the circuit that I had used.

Fine, but unless you answer the questions you have been asked, we do not have any information from which to assist you.

Here is the picture of the circuit that I had used.
http://exploringarduino.com/wp-content/uploads/2013/05/549360-c10f002-copy.jpg

That is a link to a schematic of what you intended to do. As Paul requested in reply #1 we need a photograph of your actual wiring to help you.

I took a picture of my actual wiring

d3l9j7:
I took a picture of my actual wiring

Perhaps you did, but you need to post it on a reputable image hosting site - not that garbage one.

Look, I am reluctant to say this, but perhaps just ensure it is less than a megabyte and "attach" it to your post.

While you are at it, please go back to your first post, choose "More --> Modify" in the bottom right corner and put "code" tags around your code according to the instructions I pointed you to earlier.

Here is the link to the photo on Google Photo.

Which version of the IDE are you using? If 1.6.6 then try an older version...

Here is the link to the photo on Google Photo.

https://photos.google.com/search/_tra_/photo/AF1QipOT5fOSNChP1KWDZpyG25dFw5UMS7amxQC4ocDe

It doesn't work.

  1. That’s an error.

The requested URL was not found on this server. That’s all we know.

Go and read the instructions as previously suggested, then go back and modify your post to make your link clickable as I did with this sentence.

Then, before actually posting your modifications use the 'Preview' option and test your link.

You might also go back and read through this thread and answer the questions that you were asked.

Don

Here is the code that I have modified so that it can be examined accurately and conveniently

//LCD text with incrementing number

//Include the library code:
include <LiquidCrystal.h>

//Start the time at 0
int time = 0;

//Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup()
{
     //Set up the LCD's number of columns and rows:
     lcd.begin(16, 2);
     //Print a message to the LCD.
     lcd.print("Jeremy's Display");
}

void loop()
{
     //Move cursor to second line, first position
     lcd.setCursor(0, 1);
     //Print Current Time
     lcd.print(time);
     //Wait 1 second
     delay(1000);
     //Increment the time
     time++;
}

Here is the code that I have modified so that it can be examined accurately and conveniently

So it has taken 8 days to get the first part of reply #1 dealt with. At this rate we may be able to get everything fixed up by Christmas . . . in 2017.

Don

The backlight of the LCD turns on, however, the LCD prints only a blank screen.

OK, now we get to Floresta's reply #2 - we are really racing along, aren't we?

May I suggest you go back and use the "More --> Modify" option below and to the right of your first post to mark up the code as such, otherwise people tend to look at it and conclude that it is not worth even looking at anything that follows.

And we still haven't seen the photo. Look, just use the "attach" function even though I detest it, to post a photo reduced with a photo editor, to less than a megabyte (or whatever the limit is). At least I can then see it with some ornate jiggery-pokery.

d3l9j7:
The backlight of the LCD turns on, however, the LCD prints only a blank screen.

Have you tried adjusting the contrast?

Don

It is perhaps a little misleading that this control is referred to as a "contrast" control. It is more correctly a "bias" control that needs to be set to provide correct operation of the LCD. As the LCD is not a grey-scale display, there is simply one correct setting to provide a clear display.

d3l9j7:
I set up a circuit that programs an LCD to print text, but my LCD does not print the text that I want to

print. The LCD turns on, but does not print text.

Board: Arduino Uno

LCD: Hitachi HD44780 Driver LCD

Here is the code:

//LCD text with incrementing number

//Include the library code:
include <LiquidCrystal.h>

//Start the time at 0
int time = 0;

//Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup()
{
//Set up the LCD's number of columns and rows:
lcd.begin(16, 2);
//Print a message to the LCD.
lcd.print("Jeremy's Display");
}

void loop()
{
//Move cursor to second line, first position
lcd.setCursor(0, 1);
//Print Current Time
lcd.print(time);
//Wait 1 second
delay(1000);
//Increment the time
time++;
}

Below is the wiring:

I can adjust the contrast of my LCD screen and I am using IDE version 1.6.6

//LCD text with incrementing number

//Include the library code:
include <LiquidCrystal.h>

//Start the time at 0
int time = 0;

//Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup()
{
     //Set up the LCD's number of columns and rows:
     lcd.begin(16, 2);
     //Print a message to the LCD.
     lcd.print("Jeremy's Display");
}

void loop()
{
     //Move cursor to second line, first position
     lcd.setCursor(0, 1);
     //Print Current Time
     lcd.print(time);
     //Wait 1 second
     delay(1000);
     //Increment the time
     time++;
}