LCD just blinks

I bought this lcd with I2C on ebay http://www.ebay.com/itm/IIC-I2C-TWI-SP-I-Serial-Interface1602-16X2-Character-LCD-Module-Display-Blue-/310565065847?pt=LH_DefaultDomain_0&hash=item484f1ed477

Everything is connected - PIN5 = SCL; PIN4 = SDA
I used newest library and tried library which came with lcd. Non seems to work.

Used this sketch

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20,16,2);  // set the LCD address to 0x20 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("Hello, world!");
}

void loop()
{
}

After starting arduino, screen just blinks for half of second, and than stays dark.
Address 0x20 is right. It's on data sheets and I2C gives back the same address.

Maybe someone has some ideas?

Did you check "lcd.backlight();" is correct ?

Address 0x20 is right.

Don't count on it.

... and I2C gives back the same address.

What does this mean?

How did you deal with the pull-up resistors?

Don

Did you try to swap these wires? "PIN5 = SCL; PIN4 = SDA"

I checked display with external light, there was no characters on screen. Just squares were visible, because of higher contrast. So i think problem isn't in back light only. Tried to switch pins, didn't work.

Ups, forgot to word scanner. I used I2C scanner, to find address.

Just squares were visible, because of higher contrast.

If higher contrast is the problem then you may see blocks on both rows of the display. If improper initialization is the problem you will see blocks on only the top row.

Ups, forgot to word scanner. I used I2C scanner, to find address.

It's oops, not ups! That's what I thought but I wanted to make sure.

You haven't mentioned how you dealt with the pull-up resistors.

Don

Only top row blocks are visible.

LCD was soldered already with I2C module, so i just connected to arduino board.
Do i need to you some resistors, to connect arduino with I2C-LCD?
As much as i know from documentation, i don't need to.

Only top row blocks are visible.

Your LCD controller is not being initialized properly, possibly because of the pull-up resistor issue.

Do i need to you some resistors, to connect arduino with I2C-LCD?

The two I2C signal lines (SDA and SCL) require pull-up resistors. If they are not provided on the pc board you will have to wire them up yourself. If they are provided on the pc board you may still have to use some jumpers to actually connect them.

The reason they are not always provided, and the reason that they may not be connected even if they are provided, is because you only want to have one resistor connected between each line and Vcc regardless of how many I2C devices you are using.

As much as i know from documentation, i don't need to.

What documentation?

Don

Thanks floresta for your help,
while researching about pull-up resistors i found this solution - Arduino Forum

"internal wiring from the PCF8574T is different and must be handled in Setup"

Thanks

floresta:

Ups, forgot to word scanner. I used I2C scanner, to find address.

It's oops, not ups! That's what I thought but I wanted to make sure.

Don

Dude, what is your problem? I would assume that English is not his native language, and in other languages it is spelled ups.

Dude, what is your problem? I would assume that English is not his native language, and in other languages it is spelled ups.

My name is 'Don', not 'dude'.

I also assumed that English was not his native language which is why I told him how the expression should be spelled when posted on an English language forum. Some people appreciate learning new things and not everyone considers a correction to also be a criticism.

Don

Pljak, did it work for you?

I've been facing the same issue. I've been checking the interface for pullup resistors at the I2C bus pins. I found 4.7kohms from both SDA and SCL to VCC. I guess no extra pullup resistors would be required to run the bus.

Moreover, I've been testing several libraries, each of them with its own commands syntax. Some don't start backlight, some make the cursor blink at 0,0, some make it blink at 15,2, some of them add some iconic character somewhere in the display matrix.

I myself guess the display module's commands don't match the initializing commands sequence triggered by the libraries I've been testing. Does it sound coherent? Has someone already

I've purchased it from the link bellow:

in which there's the following interface embedded:
http://www.ebay.com/itm/1602LCD-Display-IIC-I2C-TWI-SP-I-Serial-Interface-Board-Module-Port-For-Arduino-/121147540627?pt=LH_DefaultDomain_0&hash=item1c34f4c493
The display module has part number QA2004A.

Thank you for any tips.
Regards,
Ciro

I have that exact LCD + Backpack. It uses Address 0x27 in my case. All the address pads are UNsoldered.
It does come with built in pull-up resistors, so it should be plug-and-play. I used a LiquidCrystal_I2C library which worked the first time I tried it.
As long as you wire everything up properly, I see no reason for it not to work with that specific module.
This library looks nice, it's not the specific one I used, but it seems to be derived from it.
http://playground.arduino.cc/uploads/Code/LiquidCrystal_I2C_85V1.zip

Finally I had my problem solved.

After posting my last message, I found the following discussion:
http://forum.arduino.cc/index.php?topic=158312.0

My interface is just like Version 3 mentioned on that discussion. The matter seems to have been due to pins swapping. The library linked there allows user to define the right pin assignment between interface and display module.

Congratulations and thanks to terryking228.

Thank you all for your attention.
Best regards,
Ciro.