Hur man använder TXS0108E -spänningsnivån med Arduino

How to Use the TXS0108E Voltage Level Shifter with Arduino

TXS0108E är en dubbelriktad spänningsnivån som möjliggör säker kommunikation mellan enheter som arbetar vid olika spänningsnivåer, såsom 3.3V och 5V. Det används vanligtvis för att gränssnitt 5V -mikrokontroller (som Arduino) med 3,3V -sensorer eller moduler. Denna handledning kommer att vägleda dig genom att använda TXS0108E med Arduino.


Vad du behöver

  1. TXS0108E spänningsnivån
  2. Arduino Board (t.ex. Uno, Mega, Nano)
  3. 3.3V och 5V -enheter (t.ex. sensorer, moduler)
  4. Breadboard och jumpertrådar
  5. En dator med Arduino Ide installerad

Steg 1: Förstå TXS0108E -modulen

TXS0108E -modulen har två kraftdomäner:

  • VCCA: Strömförsörjning för lågspänningssidan (1.2V - 3.6V, t.ex. 3.3V -enheter).
  • VCCB: Strömförsörjning för högspänningssidan (1,65V - 5,5V, t.ex. 5V -enheter).

Den kan hantera upp till 8 dubbelriktade datalinjer, vilket möjliggör kommunikation i båda riktningarna.

TXS0108E Pinout

Stift Fungera
Vcca Lågspännings sidor strömförsörjning
Vccb Högspänningssidan
Gard Jord
Oe Utgång aktivera (aktiv hög)
Yxa Lågspänningssidadatainjer (A1-A8)
Bx Högspänningssidadatainjer (B1-B8)

Steg 2: Kopplar TXS0108E till Arduino

Nedan är ett exempel på att ansluta TXS0108E till en Arduino och en 3.3V I2C -enhet (t.ex. BMP280 -sensor):

Anslutningar

TXS0108E -stift Arduinosnål 3.3V -enhetsstift
Vcca 3.3V 3.3V
Vccb 5V N/a
Gard Gard Gard
A1 A4 (SDA, lågspänning) SDA
A2 A5 (SCL, lågspänning) SCL
B1 Enhet SDA N/a
B2 Enhet SCL N/a
Oe 5V N/a

Notera: Se till att både VCCA och VCCB är anslutna till deras respektive spänningsförsörjning och det OE är bunden till hög (5V) för att aktivera modulen.


Steg 3: Ladda upp Arduino -koden

Här är ett exempelskiss för att kommunicera med en 3.3V I2C -enhet (t.ex. BMP280 -sensor) genom TXS0108E:

Exempelkod

#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
}

Steg 4: Testa installationen

  1. Anslut Arduino till din dator via USB.
  2. Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
  3. Ladda upp koden genom att klicka Ladda upp.
  4. Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till 9600.
  5. Observera temperatur- och tryckavläsningarna från BMP280 -sensorn.

Applikationer av TXS0108E

  1. Gränssnitt 5V -mikrokontroller med 3,3V -sensorer eller moduler.
  2. Nivåförskjutning för SPI, I2C, UART eller andra kommunikationsprotokoll.
  3. Aktivera dubbelriktad kommunikation mellan blandade spänningsanordningar.

Felsökning

  • Ingen kommunikation: Verifiera ledningar för VCCA, VCCB och OE. Se till att rätt I2C -adress används.
  • Instabila data: Använd korta ledningar och leta efter stabila strömförsörjning.
  • Enheten svarar inte: Se till att spänningskompatibilitet och dubbelkontrollanslutningar på båda sidor.

Slutsats

Du har framgångsrikt använt TXS0108E -nivåskiftaren med Arduino för att möjliggöra kommunikation mellan enheter som arbetar vid olika spänningsnivåer. Denna mångsidiga modul är avgörande för att överbrygga spänningsgap i system med blandad signal. Experimentera vidare genom att ansluta andra enheter och utforska dess applikationer i dina projekt!

Lämna en kommentar

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.