I've been fiddling with a 20x4 i2c LCD with daughterboard GY-LCD-V1 purchased from rcmodel369. The board comes default with the pcf8574T address lines pulled low via 10K smd resistors (address 0x20). There are solder pads on the edge of the daughterboard marked A2, A1, A0 that allow you to pull the pins hard high. I couldn't get the display to work properly until I shorted the pads and pulled the pins high ( address 0x27). Looks like the 10K resistors aren't sufficient. To use an address other than 0x27 you may have to bridge out one or more of the 10K resistors or maybe use a lower value.
I couldn't get the display to work properly until I shorted the pads and pulled the pins high ( address 0x27).
You haven't mentioned the software. The address used by the software has to match the address that you have configured via the pins that you mentioned.
Care to post a link to the product page?
I did a bit more work on this and it appears the only address that won't work with my sketch is 0x20. 0x21 to 0x27 do work, I tested each one by making both h/w and corresponding s/w changes. The pullup resistors aren't the problem as I thought. I shorted them out to make address 0x20 but same problem. I'm thinking maybe an address clash somewhere but it's not obvious. No other i2c devices on the bus. Software is my own arduino sketch running on an Etherten (atmega328) and compiled with latest arduino 1.0.1. I tried compliling with ver 1.0 but same problem. LCD i2c Library is Francisco Malpartida LiquidCrystal_V1.2.1
solved... It ended up being an i2c address conflict after all. I thought I had removed the other device (a MCP23017) from the bus but hadn't. Turns out it's default address is 0x20 with address lines A2 A2 and A0 pulled low. The LCD display board GY-LCD-V1 comes with same default address (0x20). doh !