LCD_HCMODU0010_I2C 24/4

hi I am very new to this so if I got things wrong, I apologise now. My Problem is I have a Ardunio Uno bought with a Kit. I also got a 24/4/12c LCD marked with ( YwRobot Ardunio LCM1602 IIC V1 ) I2C LCD module (HCMODU0010) it will not display any text. two 0s on the top right, and on the next line 16 0s.but no text I have tried other codes and most work and upload, but never any text. is it bricked ? can anyone show me what I am doing wrong.
connected PIN 1: GND PIN 2: +5V PIN 3: SDA - Connect to Arduino analogue PIN A4 PIN 4: SCL - PIN A5
the Code I got from Hobby Components .

/* FILE: ARD_LCD_HCMODU0010_I2C_Hello_World_Example
DATE: 24/05/13
VERSION: 0.1

This is a simple example of how to use the Hobby Components 20 x 4 line
I2C LCD module (HCMODU0010). To use this module you will require the
appropriate LiquidCrystal_I2C library, which can be downloaded from our support
forum:

http://forum.hobbycomponents.com

This code also demonstrates the correct pin assignment for the LCD. When you
run this program you should see a greeting message appear on the display.

DEVICE PINOUT (SPI Interface):

PIN 1: GND
PIN 2: +5V
PIN 3: SDA - Connect to Arduino analogue PIN 4
PIN 4: SCL - Connect to Arduino analogue PIN 5

You may copy, alter and reuse this code in any way you like, but please leave
reference to HobbyComponents.com in your comments if you redistribute this code.
This software may not be used directly for the purpose of selling products that
directly compete with Hobby Components Ltd’s own range of products.

THIS SOFTWARE IS PROVIDED “AS IS”. HOBBY COMPONENTS LTD MAKES NO WARRANTIES, WHETHER
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ACCURACY OR LACK OF NEGLIGENCE.
HOBBY COMPONENTS SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY
REASON WHATSOEVER.
*/

/* Include the SPI/IIC Library */
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

/* Create some custom graphic characters to make a simple border */
uint8_t TopLeftCorner = {0x00,0x00,0x0f,0x08,0x0b,0x0a,0x0a,0x0a};
uint8_t TopRightCorner = {0x00,0x00,0x1e,0x02,0x1a,0x0a,0x0a,0x0a};
uint8_t BottomLeftCorner = {0x0a,0x0a,0x0b,0x08,0x0f,0x00,0x00,0x00};
uint8_t BottomRightCorner = {0x0a,0x0a,0x1a,0x02,0x1e,0x00,0x00,0x00};
uint8_t VerticalBar = {0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a};

/* Initialise the LiquidCrystal library. The default address is 0x27
and this is a 20 x 4 line display */
LiquidCrystal_I2C lcd(0x27,20,4);

void setup()
{
/* Initialise the LCD /
lcd.init();
/
Transfer the custom characters into the LCD’s memory */
lcd.createChar(0, TopLeftCorner);
lcd.createChar(1, TopRightCorner);
lcd.createChar(2, BottomLeftCorner);
lcd.createChar(3, BottomRightCorner);
lcd.createChar(4, VerticalBar);
}

/* Main program loop /
void loop()
{
/
Make sure the backlight is turned on */
lcd.backlight();

/* Use the custom graphic characters to draw a border */
lcd.setCursor(0, 0);
lcd.write(0); //Write the top left graphic
lcd.print("==================");
lcd.write(1); //Write the top right graphic
lcd.setCursor(0, 1);
lcd.write(4); //Write the vertical bar graphic
lcd.setCursor(0, 2);
lcd.write(4); //Write the vertical bar graphic
lcd.setCursor(19, 1);
lcd.write(4); //Write the vertical bar graphic
lcd.setCursor(19, 2);
lcd.write(4); //Write the vertical bar graphic
lcd.setCursor(0, 3);
lcd.write(2); //Write the bottom left graphic
lcd.print("==================");
lcd.write(3); //Write the bottom right graphic

/* Display some text inside the border */
while (1)
{
lcd.setCursor(2,1);
lcd.print(“HOBBY COMPONENTS”);
lcd.setCursor(2,2);
lcd.print(“HELLO WORLD”);
delay(500);
lcd.setCursor(2,1);
lcd.print(" “);
lcd.setCursor(2,2);
lcd.print(” ");
delay(500);
}
}

I didn't see any mention of the pullup resistors for I2C. Do you know about those ? Robert

You also didn't mention adjusting the contrast pot which should be on the backpack. Is that there and did you try adjusting it ?

Did you run an I2C-Scanner Sketch to see if the Device is identified ?

Yes ran the ID Scanner Test, ( 12c device found at address0x27! ) I have read about pull up resistors, but thought with the LCM1602 board on. It did not need it. but I don't know where to fit. on the vcc or gnd and would it be about 220R. I have also used the contrast pot, that just make the screen brighter so you can see the blocks. Could the problem be with the libraries and or Character codes ? Thank you all for your help, I am at a loss.

If you use a new version of the UNO (Rev.3) the I2C Pins are beneath GND and AREF - alternative on A4 and A5

So try the "original" ones and if that didnt work too, make a pciture of your setup and post it here.

FIXED!! Incorrect library version, thats what it turned out to be. I needed LiquidCrystal_I2C_V1.0 but I used LiquidCrystal_I2C. Well thats something more I have learned. got the files needed from forum.hobbycomponents.com.

Hope this will help others. Thank You guys for all your help.

So you're NOT using any 4.7k ohm pullups on A4 & A5 ? How is it working ? A. R. Ty , could the pullups be built into the lcd ? Robert

I am happy to say yes working fine. Yes I think the pull-ups resistors are built into the YwRobot Ardunio LCM1602 V1 daughterboard . PIN 1: GND PIN 2: +5V PIN 3: SDA - Connect to Arduino analogue PIN A4 PIN 4: SCL - Connect to Arduino analogue PIN A5 Again thankyou for your help. Joe

"Lucky Number 4" 8)

@rabimmel ;) Yes, CAN be - but never seen