Productos
Banana Pi I2C GPIO Extend Board
Módulo de extension de I/O para Banana Pi por medio de I2C.
COD: BA000003
Peso: 0.010 Kg
Disponibilidad: En Stock
ARS 24187.00
El producto no está disponible para la venta en este momento
Características
Product Overview
This module is designed specifically for expand for the GPIO of the Banana Pi a which can effectively solve the banana send IO port insufficient. It use PCF8574 chip to expand 8 Bidirectional IO. The module connection to the Banana Pi through I2C bus. There are 8 I2C address in the module and user can choose one of them through setup the “ADDR” jumper. User also can choose 5V or 3.3V electric level. Module with isolation protection, can effectively prevent external high voltage damage to the Banana Pi. Multiple module can cascade.
Product Features
- 8 Bidirectional IO
- 8 I2C-address
- Isolation protection
- Use wiringPi API , sample code
- 100 kHz I2C-bus interface (Standard-mode I2C-bus)
Port
- Banana Pi insert port
- Banana Pi cascade port
- EXT0-EXT7 expand GPIO
- Electric level selection jumper
- I2C-address selection jumper
Product Parameters
- Working voltage: 2.5V-6V
- IO voltage: 3.3V or 5.5
- Expand 8 Bidirectional IO
- I2C bus
- 100 kHz I2C-bus interface (Standard-mode I2C-bus)
- −40°C to +85°C operation
Typical Application
- LED signs and displays
- Key pads
- Instrumentation and test measurement
- Driver numeric display
- Drive the lattice screen
How to use
Insert the module that the silk screen says “BPI IN”. Pay attention don’t make the direction reversed! The correct direction of insert module is above the Banana Pi’s PCB; EXT0-EXT7 are expand GPIO user can use DuPont Line to connection peripheral. The header which near silk screen write ”EXT” expand GPIO of Banana Pi, user can cascade the other module or the same module. If you want switch the electric level, just setup the jumper
More Information
The PCF8574/74A provides general-purpose remote I/O expansion via the two-wire bidirectional I2C-bus (serial clock (SCL), serial data (SDA)).
The devices consist of eight quasi-bidirectional ports, 100 kHz I2C-bus interface, three hardware address inputs and interrupt output operating between 2.5 V and 6 V. The quasi-bidirectional port can be independently assigned as an input to monitor interrupt status or keypads, or as an output to activate indicator devices such as LEDs. System master can read from the input port or write to the output port through a single register.
The low current consumption of 2.5uA (typical, static) is great for mobile applications and the latched output ports directly drive LEDs.
The PCF8574 and PCF8574A are identical, except for the different fixed portion of the slave address. The three hardware address pins allow eight of each device to be on the same I2C-bus, so there can be up to 16 of these I/O expanders PCF8574/74A together on the same I2C-bus, supporting up to 128 I/Os (for example, 128 LEDs).
The active LOW open-drain interrupt output (INT) can be connected to the interrupt logic of the microcontroller and is activated when any input state differs from its corresponding input port register state. It is used to indicateto the microcontroller that an input state has changed and the device needs to be interrogated without the microcontroller continuously polling the input register via the I2C-bus.
The internal Power-On Reset (POR) initializesthe I/Os as inputs with a weak internal pull-up 100uA current source.
Address Table
Pin connectivity |
Address of PCF8574 |
Address byte value |
7-bit hexadecimal address without R/W |
||||||||||
A2 |
A0 |
A1 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
R/W |
WRITE |
READ |
|
Vss |
Vss |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
- |
40h |
41h |
20h |
|
Vss |
Vss |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
- |
42h |
43h |
21h |
|
Vss |
VDD |
Vss |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
- |
44h |
45h |
22h |
Vss |
VDD |
VDD |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
- |
46h |
47h |
23h |
VDD |
Vss |
Vss |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
- |
48h |
49h |
24h |
VDD |
Vss |
VDD |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
- |
4Ah |
4Bh |
25h |
VDD |
VDD |
Vss |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
- |
4Ch |
4Dh |
26h |
VDD |
VDD |
VDD |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
- |
4Eh |
4Fh |
27h |
Timing Diagram
Testbench
- Use: sudo i2cdetect –y –a 1check the I2C-address
- Use wiringPi API, initialize module
- Setup IO to OUTPUT mode, 5V high level and check the level of the state with a multimeter
- Setup IO to OUTPUT mode, 3V high level and check the level of the state with a multimeter
- Setup IO to INPUT mode, input 5V high level and check the IO status through wiringPi
- Setup IO to INPUT mode, input 3V high level and check the IO status through wiringPi
- Finish test
More information please check
http://www.nxp.com/products/interface_and_connectivity/i2c/i2c_general_purpose_i_o/PCF8574T.html
Example and Test Code (wiringPi)
#include
#include
#include
int main() {
int i;
pcf8574Setup(100,0x27);
for(i=0;i
while(1) {
i = 0;
for(i=0;i
printf("Current LED = %d ",100+i);
digitalWrite((100+i),HIGH);
delay(500);
digitalWrite((100+i),0);
delay(500);
}
}
}