Käyttämällä TCA9548A: ta Raspberry Pi: n kanssa

Using the TCA9548A with the Raspberry Pi

TCA9548A on I2C -multiplekseri, jonka avulla voit yhdistää useita laitteita, joilla on sama I2C -osoite yhdeksi vadelmapille. Se toimii eristämällä jokainen I2C -laite omasta väylästään, jolloin Raspberry Pi voi kommunikoida niiden kanssa yksi kerrallaan. Tämä on erityisen hyödyllistä monimutkaisissa hankkeissa, joissa voi tapahtua konflikteja.


Mitä tarvitset

  1. Raspberry Pi (Mikä tahansa malli, jolla on GPIO -tuki, esim. Pi 3, pi 4)
  2. TCA9548A I2C -multiplekserimoduuli
  3. I2C -laitteet (esim. Anturit tai oheislaitteet)
  4. Leipälevy- ja hyppyjohdot
  5. Python asennettu Raspberry Pi

Vaihe 1: TCA9548A: n johdotus Raspberry PI: hen

TCA9548A yhdistyy Raspberry PI: hen I2C -protokollan avulla.

Yhteydet

TCA9548A -nasta Raspberry Pi -tappi
Virallinen 3,3 V (nasta 1)
Hölynpöly Maa (nasta 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (nasta 5, GPIO3)

Kytke I2C -laitteesi TCA9548A: n numeroituihin I2C -linja -autoihin (esim. SD0/SCL0, SD1/SCL1).


Vaihe 2: Ota I2C -käyttöliittymä käyttöön

  1. Avaa Raspberry Pi -määritystyökalu:
    sudo raspi-config
    
  2. Siirtyä jhk Käyttöliittymävaihtoehdot> I2C ja ota se käyttöön.
  3. Käynnistä Raspberry Pi uudelleen:
    sudo reboot
    

Vaihe 3: Asenna vaadittavat kirjastot

  1. Päivitä Raspberry Pi: n pakettiluettelo:

    sudo apt update && sudo apt upgrade -y
    
  2. Asenna I2C -työkalut ja Python -kirjastot:

    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tca9548a
    
  3. Varmista, että TCA9548A havaitaan I2C -väylässä:

    sudo i2cdetect -y 1
    

    Multiplekseri näkyy yleensä osoitteessa 0x70.


Vaihe 4: Python -koodi käyttää TCA9548A: ta

Tässä on Python -komentosarja, jonka avulla tietyn I2C -kanavan mahdollistaisi TCA9548A: lla ja lukea tietoja kytketystä anturista.

Python -koodiesimerkki

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} %")

Selitys:

  • tca[0] Viittaa TCA9548A: n ensimmäiseen I2C -kanavaan.
  • Vaihda anturikirjasto (esim. adafruit_bme280) tietyn anturin tai laitteen kirjaston kanssa.

Vaihe 5: Kanavien välinen vaihtaminen

TCA9548A: n avulla voit vaihtaa useiden I2C -laitteiden välillä, jotka on kytketty eri kanaviin. Tässä on esimerkki kanavien iteraatiosta lukemista useista laitteista:

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()

Voit käyttää tätä lähestymistapaa hallitaksesi useita antureita tai oheislaitteita, jotka on kytketty multiplekseriin.


TCA9548A: n sovellukset

  1. I2C: n välttäminen koskee konflikteja: Käytä multiplekseriä eristämään laitteita, joilla on sama I2C -osoite.
  2. I2C -laitteiden laajentaminen: Yhdistä jopa 8 linja -autoa, jokainen tukee useita laitteita.
  3. Internet -projektit: Käytä TCA9548A: ta älykkäissä kodissa tai ympäristön seurantajärjestelmissä, joissa vaaditaan useita antureita.
  4. Monimutkainen robotti: Hallitse useita antureita tai toimilaitteita edistyneissä robotiikkaprojekteissa.

Vianetsintä

  1. Laitetta ei havaittu:

    • Varmista johdotus ja varmista, että SDA/SCL -nastat on kytketty oikein.
    • Varmista, että TCA9548A on virtalähde ja sen osoite (0x70 Oletuksena) ilmestyy I2C -skannaukseen.
  2. Virheelliset kanavatiedot:

    • Varmista, että anturi on kytketty oikeaan kanavaan ja sopivaa kirjastoa käytetään Python -komentosarjassa.
  3. I2C -viestintävirheet:

    • Tarkista löysät yhteydet tai ristiriitaiset I2C -osoitteet samalla kanavalla.

Johtopäätös

TCA9548A I2C -multiplekseri on monipuolinen työkalu Vadelma PI: n I2C -ominaisuuksien laajentamiseen ja osoitettujen konfliktien ratkaisemiseen. Tämän oppaan seuraamalla voit hallita tehokkaasti useita I2C -laitteita monimutkaisissa projekteissa, kuten säävalvontajärjestelmät, älykkäät kodit ja robotiikat. Kokeile erilaisia ​​laitteita ja kanavia sen ominaisuuksien tutkimiseksi täysin!

Jätä kommentti

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.