1602 LCD using I2C Adapter
All of these 1602, 2002, 2004 LCD modules use the same HD44780 controller chip.
Download the documentation for it: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Here's a schematic showing how the PCF8574 connects to the LCD:
https://www.electrodragon.com/w/File:1602_IIC_schematic_R2.png
Basically, via the I2C bus and the I2C expander, you are bit-banging commands & data into the display's parallel interface, using its 4-bit bus interface (4 of the bus pins aren't used). Other links: http://wiki.sunfounder.cc/index.php?title=I%C2%B2C_LCD1602 https://opencircuit.shop/resources/file/da88acc1702a90667728fcf4ac9c75c455475706466/I2C-LCD-interface.pdf https://create.arduino.cc/projecthub/akshayjoseph666/interface-i2c-16x2-lcd-with-arduino-uno-just-4-wires-273b24 https://www.makerguides.com/character-i2c-lcd-arduino-tutorial/ https://www.electrodragon.com/w/1602_LCD