HELP LCD 16X2 BLACK BOXES!!

Hi, I'm new to Arduino, not so much for programming stuff, but I have no idea what I could possibly be doing wrong.

I got 2 lcd 16x2, one with backlight and the other not, also I borrowed an arduino from a friend to see if the problem was in the atmega328

I'm using the LiquidCrystal example HelloWorld

All the wires are 200% correct, the circuit that I used is attached in this topic, and 2 videos showing the problem...

dropbox link

Please, I visited a lot of topics and tutorials, but I can't find the solution :frowning:

thx in advance

You most likely have some sort of problem with your wiring between the LCD and your Arduino. The power and contrast are OK.

Your soldering looks questionable although it is hard to tell with your shaky videos. It is impossible to use those videos to check whether the wiring matches your diagram.

Please furnish some well focused stationary pictures that will enable us to evaluate your soldering and that will also enable us to unambiguously follow each wire from the LCD to the Arduino.

Don

Hi, here’s the soldering that I did and the code that I used.

link to imgur

/*
  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

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// 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);
}

Well, your soldering would fail any exam. On every pin!

I suspect that most of the joints would actually conduct except for number 3 from the right.

There are plenty of tutorials and advice on soldering. You should have both parts fully wetted. So every part of a gold pad would be wetted in solder. The wire would be wetted with solder rising up from the joint. You would NOT see a round bobble of solder.

I have not looked at your code.

David.

david_prentice:
I suspect that most of the joints would actually conduct except for number 3 from the right.

If the rightmost itself is number zero!

I don't like the look of the fourth from right.

I redid , it looks good now, check it out:

imgur link

Still no success, I was thinking maybe some kind of "debug mode" would be better?

Something like

Serial.print(DigitalRead(12));
Serial.print(DigitalRead(11));
Serial.print(DigitalRead(5));
Serial.print(DigitalRead(4));
Serial.print(DigitalRead(3));
Serial.print(DigitalRead(2));

would help??

Your display has it's row of terminals below and to the left of the display. In the vast majority of cases that means that the module has a non-standard pin layout. The pin numbers will match those of the 'normal' displays but the locations usually will not.

You must locate a datasheet, or at least a pinout diagram, for your specific display to determine the pin locations.

Don

floresta:
Your display has it's row of terminals below and to the left of the display. In the vast majority of cases that means that the module has a non-standard pin layout. The pin numbers will match those of the 'normal' displays but the locations usually will not.

You must locate a datasheet, or at least a pinout diagram, for your specific display to determine the pin locations.

Don

Yeah, I got both modules the 1 to 16 pin and the 15,16,1 to 14 pin , I don't think that's the problem, the last 2 pins (or the first 2) are for backlight...

All the wires are 200% correct . . .

'Famous last words'...

Do you have any idea how many people have told us that they are sure their wiring is correct and then after they posted a suitable photograph have had a problem pointed out?

Still no success, I was thinking maybe some kind of "debug mode" would be better?

The black boxes are due to a wiring problem or a problem with the LCD initialization.

Since the initialization is done adequately by the LiquidCrystal library and since you are using a proven (though poorly thought out) program any kind of debugging would likely be fruitless.

The probability of a wiring problem is very high and without a photograph we really can't help much.

Don