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 1A 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 (0x70alapé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!
 
            
 
      
 
      
 
      
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  