Add another 16 pins to your microcontroller using a MCP23017 port expander.The MCP23017 uses two i2c pins (these can be shared with other i2c devices), and in exchange gives you 16 general purpose pins. You can set each of 16 pins to be input, output, or input with a pullup. There's even the ability to get an interrupt via an external pin when any of the inputs change so you don't have to keep polling the chip. CityTech BD
Use this chip from 2.7-5.5V (good for any 3.3V or 5V setup), and you can sink/source up to 20mA from any of the I/O pins so this will work for LEDs and such. Team it up with a high-power MOSFET if you need more juice. DIP package means it will plug into any breadboard or perfboard.
You can set the i2c address by tying the ADDR0-2 pins to power or ground, for up to 8 unique addresses. That means 8 chips can share a single i2c bus - that's 128 I/O pins! CityTech BD
Features:
- 16-Bit Remote Bidirectional I/O Port: - I/O pins default to input
- High-Speed I2C Interface (MCP23017): 100 kHz 400 kHz 1.7 MHz
- High-Speed SPI Interface (MCP23S17): 10 MHz (maximum)
- Three Hardware Address Pins to Allow Up to Eight Devices On the Bus
- Configurable Interrupt Output Pins:
- INTA and INTB Can Be Configured to Operate Independently or Together. CityTech BD
General Specification |
IC Name | MCP23017 |
Package/Case | DIP-28 |
Shipment Weight | 0.05 kg |
Shipment Dimensions | 3 × 3 × 3 cm |
Package Includes:
Datasheet
Package Includes:
1 x MCP23017 - i2c 16 input/output port expander