So the I2C-address for this module is 0x26 or 0x3E. In this picture you see that ‘jumper A0’ is soldered. This IO-module has a default I2C-address of 0x27, but you can change it yourself by changing the jumpers A0, A1 and A2 on the board (MARK the reverse order of A0A1A2 => A0A1A2).Į.g. If the chip on your board is a PCF8574 AT, then the I2C-addresses can lay in the range of 0x3F to 0x38. If the chip on your board is a PCF8574 T, then the I2C-addresses can lay in the range of 0x20 to 0x27. Manufacturers gives these addresses to there I2C-devices. This site explains the inner working of the I2C-protocol: You can address 128 devices (= 7bit addressing), from 0 to 127). You can connect multiple devices on the I2C-bus, each device gets an address: The I2C-way, with only 2 data-lines (SDA, the data-line and SCL, the clock-line) and 2 powerlines (+5V, GND).įor this we need to use a ‘IO expander’ like this:.set up the LCD's number of columns and rows: initialize the library with the numbers of the interface pins The library for this is “ LiquidCrystal.h” and that library is part of the Arduino-ide.Īll functions are explained on the website above. The I2C-way, with only 2 data-lines (SDA and SCL) and 2 powerlines (+5V, GND).The normal way, with a lot of outputs (6) and wires (10).A LiquidCrystal LCD (Liquid Crystal Display) can be used in two ways: