To use PCF8591 based yl-40 AD/DA shield with Arduino, the I2C bus address of the shield by default is 0x48. If DAC controller needs to be used, the control byte is 0x40.
If you are planning to use a 16×2 LCD display with i2c controller in Arduino, check out this page for the three general types of LCD i2c controller, and the settings for each one of them:
Also, some controllers will have brightness controllers which can be adjusted using a small screwdriver. If the LCD blinks as per the code in the above site, but you cannot see the characters, it most probably is a brightness issue.
If you get one of those no name i2c controllers for Arduino which do not have a default address specified, take a look at either of these two scripts:
a) https://github.com/todbot/arduino-i2c-scanner/ [Disclaimer: I have made one commit to this project]