how to make lcd display , display message in same brightness

Hi,

Please help me, i make a project that use 3 lcd to display message, as i using arduino uno, i connect three of the lcd in parallel. All the lcd display the message , however 2 of the lcd display the message in very dim brightness, i think they dont get enough power supply, how am i going to solve this?

Well, I can only say that if we knew what sort of display you had (by giving a Web link to the item), and how they were connected together (with a diagram or perfectly focussed photograph in proper light) and to what source of voltage, then we might be able to make suggestions. :roll_eyes:

If you are using displays with backlights and powering those backlights from your Arduino then that could very well be the problem.

As Paul said we really need more information, without that we are just guessing.

Don

Hi, sorry for not giving complete information,
Here is the link:

  • for the picture of my LCD,( there is two picture of different lcd display that are connected in parallel)
  • fritzing sketch for all of the connection

and this is the code i used;

/*

Final Year Project Jan 2016

*/

#include <LiquidCrystal.h>

LiquidCrystal lcd1(13, 12, 6, 7, 8, 9);
LiquidCrystal lcd2(13, 11, 6, 7, 8, 9);
LiquidCrystal lcd3(13, 10, 6, 7, 8, 9);

//initialize the output pin for sensor@switch
const int sen1 = 2;
const int sen2 = 1;
const int sen3 = 0;

//initialize the output pin for LED
const int led1 = 5;
const int led2 = 4;
const int led3 = 3;

//const int counter = 0;

//initialize status…
int statusState1 = 0;
int statusState2 = 0;
int statusState3 = 0;

void setup()
{

//
pinMode(sen1, OUTPUT);
pinMode(sen2, OUTPUT);
pinMode(sen3, OUTPUT);
//
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

//set up the LCD display

lcd3.begin(16, 2);
lcd3.setCursor(0,0);
lcd2.begin(16, 2);
lcd2.setCursor(0,0);
lcd1.begin(16, 2);
lcd1.setCursor(0,0);

//Print a message on LCD 1

lcd1.setCursor(1, 0);
lcd1.print(“Toilet Room A”);

//Print a message on LCD 2

lcd2.setCursor(1, 0);
lcd2.print(“Toilet Room B”);

//Print a message on LCD 3

lcd3.setCursor(1, 0);
lcd3.print(“Toilet Room C”);

}

void loop()
{

//LCD display 1

statusState1 = digitalRead(sen1);

if (statusState1==HIGH){
digitalWrite(led1, HIGH);

for (int count=0; count <= 5; count++)
{
lcd1.setCursor(1,1);
lcd1.print(" “);
delay(500);
lcd1.setCursor(1,1);
lcd1.print(“Not Available”);
delay(500);
}
}else {
digitalWrite(led1, LOW);
for (int count=0; count <= 5; count++)
{
lcd1.setCursor(1,1);
lcd1.print(” “);
delay(500);
lcd1.setCursor(1,1);
lcd1.print(” Available");
delay(500);
}
}

//LCD display 2

statusState2 = digitalRead(sen2);

if (statusState2==HIGH){
digitalWrite(led2, HIGH);

for (int count=0; count <= 5; count++)
{
lcd2.setCursor(1,1);
lcd2.print(" “);
delay(500);
lcd2.setCursor(1,1);
lcd2.print(“Not Available”);
delay(500);
}
}else {
digitalWrite(led2, LOW);
for (int count=0; count <= 5; count++)
{
lcd2.setCursor(1,1);
lcd2.print(” “);
delay(500);
lcd2.setCursor(1,1);
lcd2.print(” Available");
delay(500);
}
}

//LCD display 3

statusState3 = digitalRead(sen3);

if (statusState3==HIGH){
digitalWrite(led3, HIGH);

for (int count=0; count <= 5; count++)
{
lcd3.setCursor(1,1);
lcd3.print(" “);
delay(500);
lcd3.setCursor(1,1);
lcd3.print(“Not Available”);
delay(500);
}
}else {
digitalWrite(led3, LOW);
for (int count=0; count <= 5; count++)
{
lcd3.setCursor(1,1);
lcd3.print(” “);
delay(500);
lcd3.setCursor(1,1);
lcd3.print(” Available");
delay(500);
}
}
}

floresta:
If you are using displays with backlights and powering those backlights from your Arduino then that could very well be the problem.

As Paul said we really need more information, without that we are just guessing.

Don

Paul__B:
Well, I can only say that if we knew what sort of display you had (by giving a Web link to the item), and how they were connected together (with a diagram or perfectly focussed photograph in proper light) and to what source of voltage, then we might be able to make suggestions. :roll_eyes:

Hi, sorry for not giving complete information,
Here is the link:

  • for the picture of my LCD,( there is two picture of different lcd display that are connected in parallel)
  • fritzing sketch for all of the connection

and this is the code i used;

/*

 Final Year Project Jan 2016
 
*/

#include <LiquidCrystal.h>

LiquidCrystal lcd1(13, 12, 6, 7, 8, 9);
LiquidCrystal lcd2(13, 11, 6, 7, 8, 9);
LiquidCrystal lcd3(13, 10, 6, 7, 8, 9);

//initialize the output pin for sensor@switch
const int sen1 = 2;
const int sen2 = 1;
const int sen3 = 0;

//initialize the output pin for LED
const int led1 = 5;
const int led2 = 4;
const int led3 = 3;


//const int counter = 0;

//initialize status..
int statusState1 = 0;
int statusState2 = 0;
int statusState3 = 0;

void setup()
{

//
 pinMode(sen1, OUTPUT);
 pinMode(sen2, OUTPUT);
 pinMode(sen3, OUTPUT);
//  
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);
 
//set up the LCD display

 lcd3.begin(16, 2);
 lcd3.setCursor(0,0);
 lcd2.begin(16, 2);
 lcd2.setCursor(0,0);
 lcd1.begin(16, 2); 
 lcd1.setCursor(0,0); 

//Print a message on LCD 1

 lcd1.setCursor(1, 0);
 lcd1.print("Toilet Room A");

//Print a message on LCD 2

 lcd2.setCursor(1, 0);
 lcd2.print("Toilet Room B");

//Print a message on LCD 3

 lcd3.setCursor(1, 0);
 lcd3.print("Toilet Room C");
 
}

void loop()
{

//LCD display 1

 statusState1 = digitalRead(sen1);

 if (statusState1==HIGH){
   digitalWrite(led1, HIGH);

 for (int count=0; count <= 5; count++)
 {
   lcd1.setCursor(1,1);
   lcd1.print("                       ");
   delay(500);
   lcd1.setCursor(1,1);
   lcd1.print("Not Available");
   delay(500);
 }
 }else {
   digitalWrite(led1, LOW);
   for (int count=0; count <= 5; count++)
 {
   lcd1.setCursor(1,1);
   lcd1.print("                      ");
   delay(500);
   lcd1.setCursor(1,1);
   lcd1.print("  Available");
   delay(500);
 }
 }

//LCD display 2

 statusState2 = digitalRead(sen2);

 if (statusState2==HIGH){
   digitalWrite(led2, HIGH);

 for (int count=0; count <= 5; count++)
 {
   lcd2.setCursor(1,1);
   lcd2.print("                       ");
   delay(500);
   lcd2.setCursor(1,1);
   lcd2.print("Not Available");
   delay(500);
 }
 }else {
   digitalWrite(led2, LOW);
   for (int count=0; count <= 5; count++)
 {
   lcd2.setCursor(1,1);
   lcd2.print("                      ");
   delay(500);
   lcd2.setCursor(1,1);
   lcd2.print("  Available");
   delay(500);
 }
 }

//LCD display 3

 statusState3 = digitalRead(sen3);

 if (statusState3==HIGH){
   digitalWrite(led3, HIGH);

 for (int count=0; count <= 5; count++)
 {
   lcd3.setCursor(1,1);
   lcd3.print("                       ");
   delay(500);
   lcd3.setCursor(1,1);
   lcd3.print("Not Available");
   delay(500);
 }
 }else {
   digitalWrite(led3, LOW);
   for (int count=0; count <= 5; count++)
 {
   lcd3.setCursor(1,1);
   lcd3.print("                      ");
   delay(500);
   lcd3.setCursor(1,1);
   lcd3.print("  Available");
   delay(500);
 }
 }
}

Go and read the instructions, then go back and modify your posts (use the "More --> Modify" option to the bottom right of the post) to mark up the code as such so we can examine it conveniently and accurately.

If you do not do this, your code may well be garbled.

Note: Also mark up any data in the same way. This includes error output that you get from the IDE.

Paul__B: Go and read the instructions, then go back and modify your posts (use the "More --> Modify" option to the bottom right of the post) to mark up the code as such so we can examine it conveniently and accurately.

If you do not do this, your code may well be garbled.

Note: Also mark up any data in the same way. This includes error output that you get from the IDE.

Owhh, Alright, I have do it, thanks for that

(deleted)

I stand by my statement in reply #2.

Your implementation for running three LCDs in parallel using separate instances of the LiquidCrystal library is valid.

I suggest running the six LCD backlight connections to the lower power bus and supply them from a different source, perhaps another Arduino.

Don

Have you adjusted the Contrast pot? I can’t tell if the backlight is the same or not.

He is not using any contrast potentiometers, he has connected pin 3 to GND for all three devices. Since his problem is a display that is too dim, raising the contrast voltage above 0v by means of a pot instead of a wire would just make things worse.

Don