Met behulp van de TCA9548A met de Raspberry Pi

Using the TCA9548A with the Raspberry Pi

De TCA9548A


Wat u nodig hebt

  1. Raspberry Pi
  2. TCA9548A I2C Multiplexer Module
  3. I2C-apparaten
  4. Breadboard en jumperdraden
  5. 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

  1. Open de Raspberry Pi-configuratietool:
    sudo raspi-config
    
  2. Navigeer naar Interface-opties > I2C activeer deze.
  3. Herstart de Raspberry Pi:
    sudo reboot
    

Step 3: Install Required Libraries

  1. Werk de pakketlijst van je Raspberry Pi bij:

    sudo apt update && sudo apt upgrade -y
    
  2. Installeer de I2C-tools en Python-bibliotheken:

    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tca9548a
    
  3. Controleer of de TCA9548A is gedetecteerd op de I2C-bus:

    sudo i2cdetect -y 1
    

    0x70.


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

  1. I2C-adresconflicten vermijden: Use the multiplexer to isolate devices with the same I2C address.
  2. I2C-apparaten uitbreiden: Connect up to 8 buses, each supporting multiple devices.
  3. IoT-projecten TCA9548A
  4. Complexe robotica: Manage multiple sensors or actuators in advanced robotics projects.

Probleemoplossing

  1. Device Not Detected:

    • Controleer de bedrading en zorg ervoor dat de SDA/SCL-pinnen correct zijn aangesloten.
    • Bevestig dat de TCA9548A 0x70 by default) in de I2C-scan verschijnt.
  2. Onjuiste kanaalgegevens:

    • Make sure the sensor is connected to the correct channel and the appropriate library is used in your Python script.
  3. I2C-communicatiefouten:

    • Check for loose connections or conflicting I2C addresses on the same channel.

Conclusie

De TCA9548A I2C-multiplexer

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

Laat een reactie achter