Grove - Multiplexor I2C de 8 Canales/Hub I2C (TCA9548A)
Ya hemos lanzado el Grove - Hub I2C (4 Puertos) y el Grove - Hub I2C (6 Puertos). Espera, ¿aún no es suficiente? Bueno, sabemos que buscas más. Aquí lo tienes, te presentamos el Grove - Hub I2C de 8 Canales.
Más importante aún, esto es más que solo una superposición de cantidades de puertos. Como todos sabemos, los dispositivos I2C deben usar diferentes direcciones en el mismo sistema de bus, incluso usando el Grove Hub I2C (4 o 6 puertos), la regla sigue siendo la regla. Sin embargo, con la ayuda del Grove - Hub I2C de 8 Canales, puedes conectar hasta 8 dispositivos I2C con la misma dirección al mismo sistema Grove I2C. Todo gracias al Chip Multiplexor I2C TCA9548A. Adopta tecnología de multiplexación por división de tiempo para que el mismo controlador pueda controlar 8 dispositivos I2C con la misma dirección. No más preocupaciones por conflictos de direcciones.
Características
- 8 Puertos Grove I2C
- Soporta múltiples dispositivos con la misma dirección I2C
- Soporta Sistema 3.3V/5V
Plataformas Soportadas
Arduino | Raspberry Pi | |||
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
Comenzando
Leer la dirección I2C de dispositivos conectados en el Grove - 8 Channel I2C Hub
Materiales Requeridos
Seeeduino XIAO | Grove Breadboard | Grove - 8 Channel I2C Multiplexer/I2C Hub (TCA9548A) |
---|---|---|
![]() | ![]() | ![]() |
Obtener uno ahora | Obtener uno ahora | Obtener uno ahora |
También requerimos hasta 8 dispositivos I2C, por favor haz clic aquí para encontrar los dispositivos I2C Grove que te gusten. En estos ejemplos, usamos tres dispositivos I2C.
Conexión de hardware
Conecta el I2C Hub con la interfaz I2C del Seeeduino XIAO, y conecta cada dispositivo I2C con cada hub.
Código de software
#include "TCA9548A.h"
// if you use the software I2C to drive, you can uncommnet the define SOFTWAREWIRE which in TCA9548A.h.
#ifdef SOFTWAREWIRE
#include <SoftwareWIRE.h>
SoftwareWire myWIRE(3, 2);
TCA9548A<SoftwareWire> TCA;
#define WIRE myWIRE
#else
#include <Wire.h>
TCA9548A<TwoWire> TCA;
#define WIRE Wire
#endif
#define SERIAL Serial
void setup()
{
SERIAL.begin(115200);
while(!SERIAL){};
//WIRE.begin();
TCA.begin(WIRE);
//defaut all channel was closed
//TCA.openAll();
//TCA.closeAll();
// Select the channels you want to open. You can open as many channels as you want
TCA.openChannel(TCA_CHANNEL_0); //TCA.closeChannel(TCA_CHANNEL_0);
TCA.openChannel(TCA_CHANNEL_1); //TCA.closeChannel(TCA_CHANNEL_1);
TCA.openChannel(TCA_CHANNEL_2); //TCA.closeChannel(TCA_CHANNEL_2);
TCA.openChannel(TCA_CHANNEL_3); //TCA.closeChannel(TCA_CHANNEL_3);
TCA.openChannel(TCA_CHANNEL_4); //TCA.closeChannel(TCA_CHANNEL_4);
TCA.openChannel(TCA_CHANNEL_5); //TCA.closeChannel(TCA_CHANNEL_5);
TCA.openChannel(TCA_CHANNEL_6); //TCA.closeChannel(TCA_CHANNEL_6);
TCA.openChannel(TCA_CHANNEL_7); //TCA.closeChannel(TCA_CHANNEL_7);
}
void loop()
{
uint8_t error, i2cAddress, devCount, unCount;
SERIAL.println("Scanning...");
devCount = 0;
unCount = 0;
for(i2cAddress = 1; i2cAddress < 127; i2cAddress++ )
{
WIRE.beginTransmission(i2cAddress);
error = WIRE.endTransmission();
if (error == 0)
{
SERIAL.print("I2C device found at 0x");
if (i2cAddress<16) SERIAL.print("0");
SERIAL.println(i2cAddress,HEX);
devCount++;
}
else if (error==4)
{
SERIAL.print("Unknow error at 0x");
if (i2cAddress<16) SERIAL.print("0");
SERIAL.println(i2cAddress,HEX);
unCount++;
}
}
if (devCount + unCount == 0)
SERIAL.println("No I2C devices found\n");
else {
SERIAL.print(devCount);
SERIAL.print(" device(s) found");
if (unCount > 0) {
SERIAL.print(", and unknown error in ");
SERIAL.print(unCount);
SERIAL.print(" address");
}
SERIAL.println();
}
SERIAL.println();
delay(1000);
}
-
Paso 1 Descarga la biblioteca desde el recurso y añade la biblioteca "zip" a tu Arduino IDE. Por favor consulta Cómo instalar una biblioteca de Arduino.
-
Paso 2 Encuentra el código de ejemplo y súbelo a tu placa. Por favor consulta Cómo subir código.
-
Paso 3 Después de subir el código, verás la dirección I2C de cada dispositivo desde el monitor serie. La dirección 0x70 es la dirección I2C del I2C Hub.
Visor de Esquemático en Línea
Recursos
- [PDF] TCA9548A_DATASHEET
- [PDF] Esquemático de hardware
- [ZiP] Biblioteca Grove 8 Channel I2C Hub
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender diferentes preferencias y necesidades.