Go Down

Topic: LCD RC1602B-BIW-JSX doesn't work (Read 450 times) previous topic - next topic

parsifa

Hello to everybody,

I have a problem with LCD type RC1602B-BIW-JSX. I'm trying to using it connected to Arduino UNO and the example code LiquidCristal Hello World.

Code: [Select]
// 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);
}



LCD it's ON but nothing is write. If I try to change contrast I can see only al blocks 5x8 dots.

Thanks in advance to everyboby won't to help me.

Mauro

floresta

Quote
If I try to change contrast I can see only al blocks 5x8 dots.
The contrast should be adjusted until you see only the top row of blocks.

The display of blocks means that you have the power connected properly but there is probably something wrong with one or more of the other seven connections.  A photograph of your setup would help.

Don





parsifa

Hi Don,
thanks for reply.

The wiring connections looks right, I double checked again.

I attached pictures.

Thanks

Mauro

parsifa

attached

floresta

We have to be able to unambiguously follow each wire from one end to the other.  In your case the wires are all the same color and they are twisted together like spaghetti.

There is parallax introduced by the angle at which you took the photo and the closeness of the lens so it is difficult to determine which breadboard pin each wire is connected to.  Try taking a picture from directly above and further away. 

You have reduced the size of your photo so much that the resolution is not good enough to examine your soldering.  You may have bandwidth constraints but we really can't tell too much with what you have provided.

Don

parsifa

Hi Don,

you are right, it's seems like spaghetti :)  :)  :)

I posted some other pictures. In the meantime I tried to check soldering end some other code but nothing happened. :smiley-confuse:  :smiley-confuse:  :smiley-confuse:  :smiley-confuse:

thanks

Mauro

parsifa

wiring image

floresta

What is the significance of the file 'code.png'?

If that is the code you are running then there are some problems:
  • Your wiring connections do not match the values specified in the constructor.
  • You are using Arduino pin 1 for RS but that pin is also used for downloading your code.
  • For troubleshooting you really should use a static message, displayed in setup() with no code in loop().

Don

parsifa

  • Changed pins for RS and ENABLE respectively 11 and 12
  • use static message in setup() section

I'm using the following code modified accordingly but nothing happened:

Code: [Select]
#include <LiquidCrystal.h>

const int rs = 11, en = 12, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup(){
  lcd.begin(16, 2);
  lcd.clear();
  lcd.print("test LCD ");
}

void loop(){
 
}


Mauro

parsifa

It's not possible, must be run.....
I haven't any way to test LCD, I doubt that it is damaged. It's crazy to loose all this time >:(  >:(  >:(

Mauro

floresta

It's hard to tell exactly but your wiring.jpg photo seems to show pins 13, 12, 5, 4 ,3 and 2 being used, or maybe 12, 11, ....

Pin 13 would not be a good choice since there's an LED connected to that pin.

At any rate neither matches the code that you posted since pins 7 and 6 are clearly unused.

In case it isn't clear already we need a consistent set of data.  Each code listing has to be accompanied by a photo that unambiguously shows the connections used with that code.

Have you checked each wire for continuity?

Have you adjusted the contrast?



You might want to rip out everything and start over following my generic instructions:

(1) If the module has a backlight then get it working properly.  This involves only pins 15 and 16 on most LCD modules.  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 most LCD modules.  You should be able to just barely 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.  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


(5) Upload your sketch and it should work.


For troubleshooting a 'static' sketch, one that displays a simple message or two and then stops is recommended.  All of your code should be in setup(), and loop() should be empty between the brackets.


Code: [Select]

#include <LiquidCrystal.h>

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

void setup()
  {
  lcd.begin(16, 2);                              // put your LCD parameters here
  lcd.print("hello, world!");
  lcd.setCursor(0,1);
  lcd.print("it works!");
  }

void loop()
  {
  }


Don

Go Up