Extend Serial I/O Unit (PCA9554PW)
Description
EXT.IO is a GOIO Expander. With simple I2C commands you can have up to 8 GPIOs.
Integrates PCA9554PW. This 8-bit I/O expander for the two-line bidirectionalbus (I2C) is designed for 2.3-V to 5.5-V VCC, Open-Drain Active-Low Interrupt Output operation. It provides general-purpose remote I/O expansion for most microcontroller families via the I2C interface.
IIC address: 0x27.
It’s difficult to foresee the needs of your project from the start. EXT.IO is the perfect solution for expanding the number of IO. It allows you to add new features, logic,timing and sensing to alrady highly integrated designs.
Product Features
- Expanded I/O number: 8
- Program Platform : Arduino, UIFlow(Blockly, Python)
- Two Lego-compatible holes
Kit includes
- 1x EXT.IO Unit
- 1x Grove Cable
Documents
- Datasheet - PCA9554PW
Learn
Example
1. Arduino IDE
To get the complete code, please click here。
/* Connect to GRVOE A on M5Core */ #include <M5Stack.h> #include "PCA9554.h" // Load the PCA9554 Library // new a object PCA9554 ioCon1(0x27); uint8_t res; // initialization M5.begin(); Wire.begin(); ioCon1.twiWrite(21, 22); // GROVE A delay(10); res = 1; ioCon1.twiRead(res); Serial.printf("res:%d\r\n", res); ioCon1.portMode0(ALLOUTPUT); //Set the port as all output // set the specific pin ioCon1.digitalWrite0(0, HIGH); ioCon1.digitalWrite0(1, HIGH); ioCon1.digitalWrite0(2, HIGH); ioCon1.digitalWrite0(3, HIGH); ioCon1.digitalWrite0(4, HIGH); ioCon1.digitalWrite0(5, HIGH); ioCon1.digitalWrite0(6, HIGH); ioCon1.digitalWrite0(7, HIGH); // write 0-7 HIGHT Serial.println(ioCon1.digitalWritePort0(0xff)); // write 0-7 LOW Serial.println(ioCon1.digitalWritePort0(0x00));
2. UIFlow
To get the complete code, please click here.
More information
PinMap
M5Core(GROVE A)GPIO22GPIO215VGNDEXT.IO UnitSCLSDA5VGNDThe Extend Serial I/O Unit (PCA9554PW) appears in the following collections: