Unable to get LCD 1602 to display through PCF8574 and various host controllers

Background: Referring to the supplied Hello World example using LiquidCrystal_I2C and a Uno R3, I found my display did very little other than provide the basic first row dark block-out (contrast a little high).

Having confirmed the I2C address to be 0x20 using the I2C_Scanner, I checked using my oscilloscope if the SDA and SCL were being sent to the PCF 8574. What I did notice that the first byte did not have the expected ox20 address. The second byte showed 0x7f.

There was no other signal following the first two bytes. Not having a Logic State Analyzer, nto much more I could do.

Tests: I had a friend program his Uno R3 and I connected my display (with the PCF8574) and behold - it worked!! A possible “Eureka” moment - a possible faulty Uno R3 I as using?

Made a dash home and re-programmed a Pro Mini. It too failed.

Hardware Used:
Test 1 - Uno R3, Commercially built PCF8574 and AC162B LCD
Test 2 - Uno R3, Commercially built PCF8574 and CM162-4 LCD > All tests failed
Test 3 - Uno R3, Commercially built PCF8574 and CM204-1 LCD /
Test 4 - Pro Mini, Commercially built PCF8574 and AC162B LCD - failed.

Operating System/s: MS Vista Home Premium. MS Windows 7- Ultimate.

IDE Software: Initially the above four tests were done using the Arduino IDE 1.0.5. Suspecting there may have been some form of glitch in the Arduino IDE 1.0.5.

As an alternative, the current IDE version 1.0.6 was loaded. Results were no different. Same symptoms.

Question After re-loading the LiquidCrystal_I2C (twice), I cannot see what else I can do. What have I missed???


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

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

void setup()
    // Initialize the LCD
    lcd.init() ;
    // Print a message to the LCD.
    lcd.print("#Hello  world!#") ;

void loop()