Any one met this situation?, one of the LCD just doesn't show up

MrChips

Joined Oct 2, 2009
24,626
When nothing shows on the LCD here are three things to check:

1) Adjust the contrast voltage. Make sure that you can see black rectangles with just power applied.

2) Check the initialization procedure. Sometimes it helps to initialize the LCD twice when using 4-bit mode.

3) Install a 100nF ceramic capacitor between Vcc and GND right at the LCD.
 

KeithWalker

Joined Jul 10, 2017
2,046
You show two different circuit diagrams. Why?
If you want to find out if both of the displays work, use the same software, hardware and connections for both and just change the display.
If both displays work, then the other device shown in the second circuit is stopping the program from running correctly..
 

KeithWalker

Joined Jul 10, 2017
2,046
If the diagrams you show are accurate, none of the displays will work. In the left diagram, the upper display has the backlight (VDD) tied to RS and the lower one VDD is not connected to anything. It is the same in the right diagram.
Your posting is very brief and vague. What exactly are you trying to do? What exactly is the problem. A few more details would make it much easier for us to help you.
 

Thread Starter

LAOADAM

Joined Nov 21, 2018
658
When nothing shows on the LCD here are three things to check:

1) Adjust the contrast voltage. Make sure that you can see black rectangles with just power applied.

2) Check the initialization procedure. Sometimes it helps to initialize the LCD twice when using 4-bit mode.

3) Install a 100nF ceramic capacitor between Vcc and GND right at the LCD.
Thanks.
Sorry I didn't tell that every time I just test one LCD.
 

Thread Starter

LAOADAM

Joined Nov 21, 2018
658
I don't know what you mean by that statement.
Thanks.
I mean:

Code:
// 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;
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13;
///// const int rs = 7, en = 6, 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);
}
 

MrChips

Joined Oct 2, 2009
24,626
That still does not tell me anything.

Take one step at a time.

1) Disconnect the MCU or keep the MCU in RESET mode. Apply power to the LCD. Do you see dark rectangles on the LCD?
 

sagor

Joined Mar 10, 2019
512
Your declaration:
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

defines one and only one LCD display. All "lcd." commands will go to that one LCD.
 

Ian Rogers

Joined Dec 12, 2012
952
If the diagrams you show are accurate, none of the displays will work. In the left diagram, the upper display has the backlight (VDD) tied to RS and the lower one VDD is not connected to anything. It is the same in the right diagram.
Your posting is very brief and vague. What exactly are you trying to do? What exactly is the problem. A few more details would make it much easier for us to help you.
Thats one of the issues with ISIS simulation... The Vdd/Vss and Vee are not modelled.. Only when he tries too build for real, that will become a problem..
 

MrChips

Joined Oct 2, 2009
24,626
It is more than just curiosity. In the spirit of open community forums it is common courtesy and practice to share with others how you managed to solve the problem. This can be useful to others having the same issue and expands the overall knowledge base and experience of everyone involved.
 

KeithWalker

Joined Jul 10, 2017
2,046
Thats one of the issues with ISIS simulation... The Vdd/Vss and Vee are not modelled.. Only when he tries too build for real, that will become a problem..
Thanks. I wasn't aware of that. I never used ISIS simulation. In fact, I don't use any simulation programs. I prefer to breadboard my circuits to test my designs.
 

Thread Starter

LAOADAM

Joined Nov 21, 2018
658
It is more than just curiosity. In the spirit of open community forums it is common courtesy and practice to share with others how you managed to solve the problem. This can be useful to others having the same issue and expands the overall knowledge base and experience of everyone involved.
Thanks.
I didn't explanation it is because I don't know how did it myself, I just search online for different code and some one made it.
 
@LAOADAM One thing I didn't notice in your code was any initialization of the LCDs. Usually there is a byte sequence in the LCD controller datasheet to follow to get everything set up right. There are a couple common chips most LCDs use and they all have a couple different timing requirements for the first couple bytes. I haven't worked with Arduino so I'm not sure if that is built in to the libraries or not.

At any rate... glad it works.
 

Thread Starter

LAOADAM

Joined Nov 21, 2018
658
@LAOADAM One thing I didn't notice in your code was any initialization of the LCDs. Usually there is a byte sequence in the LCD controller datasheet to follow to get everything set up right. There are a couple common chips most LCDs use and they all have a couple different timing requirements for the first couple bytes. I haven't worked with Arduino so I'm not sure if that is built in to the libraries or not.

At any rate... glad it works.
Thanks.
Acturally, the I2C LCD is worse, I never make it show.
like this:
pp41.PNG
 
Top