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
- TXS0108E spänningsnivån
- Arduino Board (t.ex. Uno, Mega, Nano)
- 3.3V och 5V -enheter (t.ex. sensorer, moduler)
- Breadboard och jumpertrådar
- 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
- Anslut Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
- Ladda upp koden genom att klicka Ladda upp.
- Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till
9600
. - Observera temperatur- och tryckavläsningarna från BMP280 -sensorn.
Applikationer av TXS0108E
- Gränssnitt 5V -mikrokontroller med 3,3V -sensorer eller moduler.
- Nivåförskjutning för SPI, I2C, UART eller andra kommunikationsprotokoll.
- 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!