I'd recommend that you use my hd44780 library. It can offer a "plug and play" solution for PCF8574 backpack based LCD devices.
It can auto detect everything including the i2c address, pin mappings, and backlight control.
Because it auto detects everything runtime, you can swap out the backpack/LCD with another device and the new device will "just work" as soon as the Arduino is reset even if the i2c address and pin mappings are different. You won't have to modify any of your code when changing devices.
It includes features not available in other libraries and is also faster than other libraries as the Arduino can run in parallel to the LCD commands.
It also includes a diagnostic sketch,
I2CexpDiag, to test the i2c signals, backpack and LCD.
It is available in the IDE library manager so you can quickly and easily install it.
You can read more about it on the github page:
https://github.com/duinoWitchery/hd44780And on the wiki:
https://github.com/duinoWitchery/hd44780/wikiInstall it from the IDE library manager and not using a zip file.
The i/o class for the backpack you have is hd44780_I2Cexp
I'd recommend first running the I2CexpDiag sketch to verify that the library is able to talk to your device.
Then you can look at the other hd44780_I2Cexp sketches like the HelloWorld to see the header files that need to be included and how to declare the lcd object.
--- bill