The Gravity I2C Hub (DFR0759) is a versatile device designed to facilitate the connection of multiple I2C devices to a single I2C bus. This hub simplifies the process of expanding the number of I2C peripherals that can be connected to a microcontroller, such as an Arduino UNO, by providing multiple I2C ports. This is particularly useful in complex projects where multiple sensors, displays, and other I2C devices need to communicate with the microcontroller simultaneously.
Parameter | Value |
---|---|
Operating Voltage | 3.3V / 5V |
Maximum Current | 1A |
I2C Ports | 6 (1 input, 5 output) |
Communication Speed | Up to 400kHz (I2C Fast Mode) |
Dimensions | 42mm x 32mm |
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power supply (3.3V or 5V) |
2 | GND | Ground |
3 | SDA | I2C data line (shared across all ports) |
4 | SCL | I2C clock line (shared across all ports) |
5 | SDA1 | I2C data line for output port 1 |
6 | SCL1 | I2C clock line for output port 1 |
7 | SDA2 | I2C data line for output port 2 |
8 | SCL2 | I2C clock line for output port 2 |
9 | SDA3 | I2C data line for output port 3 |
10 | SCL3 | I2C clock line for output port 3 |
11 | SDA4 | I2C data line for output port 4 |
12 | SCL4 | I2C clock line for output port 4 |
13 | SDA5 | I2C data line for output port 5 |
14 | SCL5 | I2C clock line for output port 5 |
Power Connection:
I2C Bus Connection:
Connecting I2C Devices:
#include <Wire.h>
void setup() {
Wire.begin(); // Initialize the I2C bus
Serial.begin(9600); // Initialize serial communication for debugging
}
void loop() {
Wire.beginTransmission(0x68); // Address of the I2C device
Wire.write(0x00); // Register to read from
Wire.endTransmission();
Wire.requestFrom(0x68, 1); // Request 1 byte from the device
if (Wire.available()) {
int data = Wire.read(); // Read the data
Serial.print("Data: ");
Serial.println(data); // Print the data to the serial monitor
}
delay(1000); // Wait for 1 second before the next read
}
No Communication with I2C Devices:
Unstable Data Readings:
Power Issues:
Q: Can I use the I2C Hub with a 3.3V microcontroller?
Q: How many I2C devices can I connect to the I2C Hub?
Q: Do I need to add pull-up resistors to each I2C device?
By following this documentation, users can effectively integrate the Gravity I2C Hub (DFR0759) into their projects, enabling seamless communication between multiple I2C devices and their microcontroller.