Kuinka käyttää TXS0108E -jännitteen vaihtajaa Arduinon kanssa

How to Use the TXS0108E Voltage Level Shifter with Arduino

TXS0108E on kaksisuuntainen jännitetason vaihtaja, joka sallii turvallisen viestinnän eri jännitetasoilla toimivien laitteiden välillä, kuten 3,3 V ja 5 V. Sitä käytetään yleisesti 5 V: n mikrokontrollerien (kuten Arduino) rajaamiseen 3,3 V: n antureilla tai moduuleilla. Tämä opetusohjelma opastaa sinua käyttämällä TXS0108E: tä Arduinon kanssa.


Mitä tarvitset

  1. TXS0108E -jännitetason vaihtosuunnitelma moduuli
  2. Arduino Board (esim. UNO, Mega, Nano)
  3. 3,3 V ja 5 V: n laitteet (esim. Anturit, moduulit)
  4. Leipälevy- ja hyppyjohdot
  5. Tietokone, jossa Arduino IDE on asennettu

Vaihe 1: TXS0108E -moduulin ymmärtäminen

TXS0108E -moduulissa on kaksi tehoaluetta:

  • VCCA: Virtalähde matalajänniteellä (1,2 V - 3,6 V, esim. 3,3 V laitteet).
  • VCCB: Virtalähde korkeajännitteiselle puolelle (1,65 V - 5,5 V, esim. 5 V: n laitteet).

Se pystyy käsittelemään jopa 8 kaksisuuntaista tietolinjaa, mikä mahdollistaa viestinnän molempiin suuntiin.

TXS0108E PINOUT

Nasta Funktio
VCCA Matalan jännitteisen sivun virtalähde
VCCB Korkeajännite-sivunsiirto
Hölynpöly Pohja
OE Lähtö käyttöön (aktiivinen korkea)
Kirves Pienjännite-sivutietolinjat (A1-A8)
Bx Korkeajännitteisen sivutietolinjat (B1-B8)

Vaihe 2: TXS0108E: n johdotus Arduinolle

Alla on esimerkki TXS0108E: n yhdistämisestä Arduinoon ja 3,3 V I2C -laitteeseen (esim. BMP280 -anturi):

Yhteydet

TXS0108E -nasta Arduino -nasta 3,3 V: n laitetappi
VCCA 3,3 V 3,3 V
VCCB 5V N/a
Hölynpöly Hölynpöly Hölynpöly
A1 A4 (SDA, matalajännite) SDA
A2 A5 (SCL, matalajännite) SCL
B1 Laite SDA N/a
B2 Laite SCL N/a
OE 5V N/a

Huomaa: Varmista, että sekä VCCA että VCCB ovat kytketty vastaaviin jännitestustarvikkeisiinsa ja että OE on sidottu korkeaan (5 V) moduulin mahdollistamiseksi.


Vaihe 3: Lataa Arduino -koodi

Tässä on esimerkki luonnos kommunikoida 3,3 V I2C -laitteen (esim. BMP280 -anturin) kanssa TXS0108E: n kautta:

Esimerkkikoodi

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

Adafruit_BMP280 bmp; // Create BMP280 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing BMP280...");

  if (!bmp.begin(0x76)) { // Default I2C address for BMP280
    Serial.println("Could not find a valid BMP280 sensor. Check wiring.");
    while (1);
  }

  Serial.println("BMP280 initialized.");
}

void loop() {
  Serial.print("Temperature: ");
  Serial.print(bmp.readTemperature());
  Serial.println(" °C");

  Serial.print("Pressure: ");
  Serial.print(bmp.readPressure());
  Serial.println(" Pa");

  delay(1000); // Wait for a second before the next reading
}

Vaihe 4: Testaa asennus

  1. Kytke Arduino tietokoneeseen USB: n kautta.
  2. Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
  3. Lataa koodi napsauttamalla Ladata.
  4. Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo 9600.
  5. Tarkkaile BMP280 -anturin lämpötilan ja paineen lukemia.

TXS0108E -sovellukset

  1. Liitäntä 5 V: n mikrokontrollerit 3,3 V: n antureilla tai moduuleilla.
  2. SPI-, I2C-, UART- tai muille viestintäprotokollille.
  3. Kaksisuuntaisen viestinnän mahdollistaminen sekajänniteaineiden välillä.

Vianetsintä

  • Ei viestintää: Varmista VCCA: n, VCCB: n ja OE: n johdotus. Varmista, että käytetään oikeaa I2C -osoitetta.
  • Epävakaa tieto: Käytä lyhyitä johtoja ja tarkista vakaa virtalähteet.
  • Laite ei vastaa: Varmista jännitteen yhteensopivuus ja kaksois-tarkistavat liitännät molemmilta puolilta.

Johtopäätös

Olet onnistuneesti käyttänyt TXS0108E -tason vaihtajaa Arduinon kanssa, jotta viestintä on eri jännitetasoilla toimivien laitteiden välillä. Tämä monipuolinen moduuli on välttämätöntä jännitteiden aukkojen siltaamiseksi sekoitetuissa signaalijärjestelmissä. Kokeile edelleen yhdistämällä muut laitteet ja tutkimalla sen sovelluksia projekteissasi!

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.