Supplier Description
Have you run out of I/O pins? This great module allows the user to expand up to 16 I/O using only two I/O for control! The PCF8575 is controlled through an I2C interface and features 16-bits of quasi-bidirectional input/output pins.
On board 3.3V level converter circuit, if you do not solder VCC-VDD pad, the PCF8575 level is 3.3V. If you solder it, the level will be the same with VCC.
Features
- Available library: PCF8575
- Working voltage: 2.5 - 5.5VDC
- Working current: 100mA(MAX)
- I2C address: 0x20(default),can be modified by soldering A1 and A2 selection pads.
- 16 individually addressable pins.
- Each pin configurable for input or output.
- Open-drain interrupt output pin for input change interrupt.
- Great for UNO R3 and other MCU to control simple relay, buzzer, button, led.
Size: 3.2cm x 2.1cm
Datasheet
The I2C IO expander chip:
- Texas Instruments: PCF8575.pdf
- NXP (Philips): PCF8575C.pdf
Result of an I2C scan with the I2cScanner code:
Scanning... I2C device found at address 0x20 ! done
Usage
To use as inputs, e.g. to detect the status of push buttons, use a pull-up resistor of 100K Ohm to the VCC and connect the button to the ground.
Be carefull with the software: writing a HIGH to a pin and connecting it to the ground is ok, but the chip will be damaged if you write a LOW and connect it to the VCC.
Libraries for PCF8575
Advised: https://github.com/RobTillaart/PCF8575
See also https://platformio.org/lib/show/12096/PCF8575/
Maybe also: https://github.com/xreef/PCF8575_library
Or the official Arduino library: https://github.com/4-20ma/I2cDiscreteIoExpander