A TCA9548a használatával a Raspberry Pi -vel

Using the TCA9548A with the Raspberry Pi

A TCA9548A egy I2C multiplexer, amely lehetővé teszi több eszköz csatlakoztatását ugyanazzal az I2C címmel egyetlen Raspberry PI -hez. Úgy működik, hogy minden I2C eszközt elkülönít a saját buszján, lehetővé téve a Raspberry Pi -nek, hogy egyenként kommunikáljon velük. Ez különösen hasznos azokban a komplex projektekben, ahol a konfliktusok kezelése esetén fordulhat elő.


Mire lesz szüksége

  1. Málna PI (Bármely modell GPIO -támogatással, például PI 3, PI 4)
  2. TCA9548a i2c multiplexer modul
  3. I2C eszközök (például érzékelők vagy perifériák)
  4. Kenyérlemez és jumper vezetékek
  5. Python telepítve a málna pi -n

1. lépés: A TCA9548A huzalozása a Raspberry PI -hez

A TCA9548a az I2C protokoll segítségével csatlakozik a Raspberry Pi -hez.

Kapcsolatok

TCA9548A PIN Málna pi tű
Vin 3.3 V (1. érintkező)
GND Föld (6. érintkező)
SDA SDA (3. érintkező, GPIO2)
SCL SCL (5. érintkező, GPIO3)

Csatlakoztassa az I2C eszközöket a TCA9548A számozott I2C buszokhoz (pl. SD0/SCL0, SD1/SCL1).


2. lépés: Engedélyezze az I2C felületet

  1. Nyissa meg a Raspberry PI konfigurációs eszközt:
    sudo raspi-config
    
  2. Navigál Interfész opciók> i2c és engedélyezze.
  3. Indítsa újra a Raspberry Pi -t:
    sudo reboot
    

3. lépés: Telepítse a szükséges könyvtárakat

  1. Frissítse a Raspberry Pi csomaglistáját:

    sudo apt update && sudo apt upgrade -y
    
  2. Telepítse az I2C eszközöket és a Python könyvtárakat:

    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tca9548a
    
  3. Ellenőrizze, hogy a TCA9548A észlelhető -e az I2C buszon:

    sudo i2cdetect -y 1
    

    A multiplexer általában a címen jelenik meg 0x70.


4. lépés: Python kód a TCA9548a használatához

Íme egy Python szkript, amely lehetővé teszi a TCA9548A specifikus I2C csatornáját, és olvassa el a csatlakoztatott érzékelő adatait.

Python kód példa

import board
import busio
from adafruit_tca9548a import TCA9548A

# Initialize I2C and TCA9548A multiplexer
i2c = busio.I2C(board.SCL, board.SDA)
tca = TCA9548A(i2c)

# Access a specific I2C channel (e.g., channel 0)
channel_0 = tca[0]

# Example: Interfacing with an I2C device on channel 0
import adafruit_bme280  # Replace with your sensor library
sensor = adafruit_bme280.Adafruit_BME280_I2C(channel_0)

# Read data from the sensor
print(f"Temperature: {sensor.temperature:.2f} °C")
print(f"Humidity: {sensor.humidity:.2f} %")

Magyarázat:

  • tca[0] A TCA9548a első I2C csatornájára utal.
  • Cserélje ki az érzékelő könyvtárat (például adafruit_bme280) az adott érzékelő vagy eszköz könyvtárával.

5. lépés: A csatornák közötti váltás

A TCA9548A lehetővé teszi a különböző csatornákhoz csatlakoztatott több I2C eszköz közötti váltást. Íme egy példa arra, hogy a csatornákon keresztül több eszközről olvasható:

for i in range(8):  # TCA9548A has 8 channels (0-7)
    if tca[i].try_lock():
        print(f"Accessing device on channel {i}")
        tca[i].unlock()

Ezt a megközelítést használhatja a multiplexerhez csatlakoztatott több érzékelő vagy periféria kezelésére.


A TCA9548a alkalmazásai

  1. Az I2C elkerülése a konfliktusok kezelésére: A multiplexer segítségével izoláljon eszközöket azonos I2C címmel.
  2. Az I2C eszközök bővítése: Csatlakozzon akár 8 buszhoz, mindegyik több eszközt támogatva.
  3. IOT projektek: Használja a TCA9548A -t intelligens otthoni vagy környezetvédelmi megfigyelő rendszerekben, ahol több érzékelőre van szükség.
  4. Összetett robotika: Kezelje több érzékelőt vagy működtetőt a fejlett robotikai projektekben.

Hibaelhárítás

  1. Az eszközt nem észlelték:

    • Ellenőrizze a vezetékeket, és ellenőrizze, hogy az SDA/SCL csapok megfelelően csatlakoznak.
    • Erősítse meg, hogy a TCA9548a meg van -e működtetve és címe (0x70 alapértelmezés szerint) megjelenik az i2c szkennelésen.
  2. Helytelen csatornaadatok:

    • Győződjön meg arról, hogy az érzékelő csatlakozik a megfelelő csatornához, és a megfelelő könyvtárat használja a Python szkriptben.
  3. I2C kommunikációs hibák:

    • Ellenőrizze, hogy vannak -e laza csatlakozások vagy ellentmondásos I2C címek ugyanazon a csatornán.

Következtetés

A TCA9548A I2C multiplexer sokoldalú eszköz a Raspberry Pi I2C képességeinek bővítéséhez és a címkonfliktusok megoldásához. Az útmutató követésével hatékonyan kezelheti több I2C eszközt olyan összetett projektekben, mint az időjárási megfigyelő rendszerek, az intelligens otthonok és a robotika. Kísérletezzen különböző eszközökkel és csatornákkal, hogy teljes mértékben feltárja képességeit!

Hagyj egy megjegyzést

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.