[RESOLVED] My LCD doesn't show text. Arduino

djsfantasi

Joined Apr 11, 2010
9,156
And what is your code? We have no chance of solving this without your code. Please click on the ellipsis icon (...) and select “</> Code”. This will insert code tags. Paste your code between the middle square brackets.

Plus, what LCD Display are you using? Provide a link to it. And which Arduino model do you have?
 

Thread Starter

filipmr

Joined Jan 2, 2021
64
And what is your code? We have no chance of solving this without your code. Please click on the ellipsis icon (...) and select “</> Code”. This will insert code tags. Paste your code between the middle square brackets.

Plus, what LCD Display are you using? Provide a link to it. And which Arduino model do you have?
C:
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
 
 
  Serial.begin(9600);
 
 
 
}

void loop() {
 lcd.begin(16,2);
  lcd.print("hello world");
  delay(5000);
 
 
}
 

Thread Starter

filipmr

Joined Jan 2, 2021
64
C:
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {


  Serial.begin(9600);



}

void loop() {
lcd.begin(16,2);
  lcd.print("hello world");
  delay(5000);


}
I also tried putting pin numbers in different order in line 2
 

Thread Starter

filipmr

Joined Jan 2, 2021
64
And what is your code? We have no chance of solving this without your code. Please click on the ellipsis icon (...) and select “</> Code”. This will insert code tags. Paste your code between the middle square brackets.

Plus, what LCD Display are you using? Provide a link to it. And which Arduino model do you have?
I am using Arduino Uno, and my display is 16*2 QAPASS
And what is your code? We have no chance of solving this without your code. Please click on the ellipsis icon (...) and select “</> Code”. This will insert code tags. Paste your code between the middle square brackets.

Plus, what LCD Display are you using? Provide a link to it. And which Arduino model do you have?
I am using Arduino Uno, and my display is 16*2 QAPASS and I think this is the one, but I'm not sure, cause I got it in a set https://www.amazon.com/LCD1602-1602A-screen-backlight-QAPASS/dp/B019Z3XPV8
 

AlbertHall

Joined Jun 4, 2014
12,345
text doesnt show up when I change the contrast with resistors
We're only looking for black rectangles (the text we will worry about later) - if you cannot get the rectangles then you won't get text either.
How do have the contrast pin (pin 3) connected?
 

Thread Starter

filipmr

Joined Jan 2, 2021
64
We're only looking for black rectangles (the text we will worry about later) - if you cannot get the rectangles then you won't get text either.
How do have the contrast pin (pin 3) connected?
I connected it to my potentiometer, which is connected from left side to ground and from right side to 5V
 

djsfantasi

Joined Apr 11, 2010
9,156
Here is the example sketch from the LiquidCrystal library. It puts the "lcd,begin" in the setup() routine. Since you have it in loop(), it will continually be called. I suspect that is erasing your lcd.print() statement, Try using the sketch as is, with your pin numbers. Then move lcd.begin() to setup().

You stated that you changed the order, Do your Arduino pin numbers correspond to the LCD pins? The example sketch documents where each pin in the definition of the LCD should be connected. For example, the first position in the definition,
LiquidCrystal lcd(7, 8, 9, 10, 11, 12)
connects LCD RS to pin 7 in the software. The hardware connections must match this.

C:
/*
  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
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 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
modified 7 Nov 2016
by Arturo Guadalupi

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld

*/

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

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

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

Thread Starter

filipmr

Joined Jan 2, 2021
64
Here is the example sketch from the LiquidCrystal library. It puts the "lcd,begin" in the setup() routine. Since you have it in loop(), it will continually be called. I suspect that is erasing your lcd.print() statement, Try using the sketch as is, with your pin numbers. Then move lcd.begin() to setup().

You stated that you changed the order, Do your Arduino pin numbers correspond to the LCD pins? The example sketch documents where each pin in the definition of the LCD should be connected. For example, the first position in the definition,
LiquidCrystal lcd(7, 8, 9, 10, 11, 12)
connects LCD RS to pin 7 in the software. The hardware connections must match this.

C:
/*
  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
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 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
modified 7 Nov 2016
by Arturo Guadalupi

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld

*/

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

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

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);
}
I note
I tried putting lcd.begin in the setup, but it still doesnt show rectangles or text
 

djsfantasi

Joined Apr 11, 2010
9,156
I tried putting lcd.begin in the setup, but it still doesnt show rectangles or text
And you’ve verified that the Uno pins defined in the software are connected to the correct hardware pins? Your statement that you “changed the order” concerns me.

There are two common causes of your problem. Others are concentrating correctly on the backlight. I am more concerned with your sketch.

Please try the example sketch by modifying the PIN numbers in the const statement to match how you’ve wired the LCD. That should work if the LCD module is wired correctly and the backlight isn’t washing out the characters.
 

MrChips

Joined Oct 2, 2009
30,711
First step is to forget about running your code and seeing text.

As Albert is saying you need to be able to adjust the contrast setting and see dark rectangles on the LCD.
 

djsfantasi

Joined Apr 11, 2010
9,156
I tried putting lcd.begin in the setup, but it still doesnt show rectangles or text
And you’ve verified that the Uno pins defined in the software are connected to the correct hardware pins? Your statement that you “changed the order” concerns me.

There are two common causes of your problem. Others are concentrating correctly on the backlight. I am more concerned with your sketch.

Please try the example sketch by modifying the PIN numbers in the const statement to match how you’ve wired the LCD. That should work if the LCD module is wired correctly and the backlight isn’t washing out
First step is to forget about running your code and seeing text.

As Albert is saying you need to be able to adjust the contrast setting and see dark rectangles on the LCD.

ok, I agree with this approach.
 
Top