De TCA9548A
Wat u nodig hebt
- Raspberry Pi
- TCA9548A I2C Multiplexer Module
- I2C-apparaten
- Breadboard en jumperdraden
- Python geïnstalleerd op de Raspberry Pi
TCA9548A
De TCA9548A maakt verbinding met de Raspberry Pi via het I2C-protocol.
Verbindingen
| TCA9548A Pin | Raspberry Pi Pin |
|---|---|
| VIN | 3.3V (Pin 1) |
| GND | Aarde (Pin 6) |
| SDA | SDA (Pin 3, GPIO2) |
| SCL | SCL (Pin 5, GPIO3) |
Sluit je I2C-apparaten aan op de TCA9548A SD0/SCL0, SD1/SCL1).
Step 2: Enable the I2C Interface
- Open de Raspberry Pi-configuratietool:
sudo raspi-config - Navigeer naar Interface-opties > I2C activeer deze.
- Herstart de Raspberry Pi:
sudo reboot
Step 3: Install Required Libraries
-
Werk de pakketlijst van je Raspberry Pi bij:
sudo apt update && sudo apt upgrade -y -
Installeer de I2C-tools en Python-bibliotheken:
sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tca9548a -
Controleer of de TCA9548A is gedetecteerd op de I2C-bus:
sudo i2cdetect -y 10x70.
TCA9548A
Hier is een Python-script om een specifiek I2C-kanaal in te schakelen op de TCA9548A
Python-codevoorbeeld
python
import board
import busio
from adafruit_tca9548a import TCA9548A
# Initialiseer I2C en TCA9548A multiplexer
python
i2c = busio.I2C(board.SCL, board.SDA)
tca = TCA9548Apython
(i2c)
# Toegang tot een specifiek I2C-kanaal (bijv. kanaal 0)
channel_0 = tca[0]
# Voorbeeld: Verbinding maken met een I2C-apparaat op kanaal 0
import adafruit_bme280 # Vervang door de bibliotheek van jouw sensor
sensor = adafruit_bme280.Adafruit_BME280_I2C(channel_0)
# Gegevens van de sensor uitlezen
print(f"Temperatuur: {sensor.temperature:.2f} °C")
print(f"Luchtvochtigheid: {sensor.humidity:.2f} %")
Uitleg:
-
tca[0]verwijst naar het eerste I2C-kanaal op de TCA9548A. - Vervang de sensorbibliotheek (bijv.
adafruit_bme280) with the library for your specific sensor or device.
Step 5: Switching Between Channels
De TCA9548A stelt u in staat om te schakelen tussen meerdere I2C-apparaten die op verschillende kanalen zijn aangesloten. Hier is een voorbeeld van het doorlopen van kanalen om van meerdere apparaten te lezen:
python
for i in range(8): # TCA9548A python
heeft 8 kanalen (0-7)
if tca[i].try_lock():
print(f"Toegang tot apparaat op kanaal {i}")
tca[i].unlock()
You can use this approach to manage multiple sensors or peripherals connected to the multiplexer.
Toepassingen van de TCA9548A
- I2C-adresconflicten vermijden: Use the multiplexer to isolate devices with the same I2C address.
- I2C-apparaten uitbreiden: Connect up to 8 buses, each supporting multiple devices.
- IoT-projecten TCA9548A
- Complexe robotica: Manage multiple sensors or actuators in advanced robotics projects.
Probleemoplossing
-
Device Not Detected:
- Controleer de bedrading en zorg ervoor dat de SDA/SCL-pinnen correct zijn aangesloten.
- Bevestig dat de TCA9548A
0x70by default) in de I2C-scan verschijnt.
-
Onjuiste kanaalgegevens:
- Make sure the sensor is connected to the correct channel and the appropriate library is used in your Python script.
-
I2C-communicatiefouten:
- Check for loose connections or conflicting I2C addresses on the same channel.



