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
- Málna PI (Bármely modell GPIO -támogatással, például PI 3, PI 4)
- TCA9548a i2c multiplexer modul
- I2C eszközök (például érzékelők vagy perifériák)
- Kenyérlemez és jumper vezetékek
- 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
- Nyissa meg a Raspberry PI konfigurációs eszközt:
sudo raspi-config
- Navigál Interfész opciók> i2c és engedélyezze.
- Indítsa újra a Raspberry Pi -t:
sudo reboot
3. lépés: Telepítse a szükséges könyvtárakat
-
Frissítse a Raspberry Pi csomaglistáját:
sudo apt update && sudo apt upgrade -y
-
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
-
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
- 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.
- Az I2C eszközök bővítése: Csatlakozzon akár 8 buszhoz, mindegyik több eszközt támogatva.
- 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.
- Összetett robotika: Kezelje több érzékelőt vagy működtetőt a fejlett robotikai projektekben.
Hibaelhárítás
-
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.
-
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.
-
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!