De TXS0108E is een bidirectionele spanningsniveau-shifter die veilige communicatie mogelijk maakt tussen apparaten die op verschillende spanningsniveaus werken, zoals 3,3 V en 5V. Het wordt vaak gebruikt om 5V -microcontrollers (zoals Arduino) te koppelen met 3.3V -sensoren of modules. Deze zelfstudie zal u begeleiden door de TXS0108E te gebruiken met Arduino.
Wat u nodig hebt
- TXS0108E spanningsniveau Shifter -module
- Arduino Board (bijv. UNO, Mega, Nano)
- 3.3V- en 5V -apparaten (bijv. Sensoren, modules)
- Breadboard en jumper draden
- Een computer met de Arduino Ide geïnstalleerd
Stap 1: Inzicht in de TXS0108E -module
De TXS0108E -module heeft twee stroomdomeinen:
- VCCA: Voeding voor de laagspanningszijde (1.2V - 3.6V, bijvoorbeeld 3,3 V -apparaten).
- VCCB: Voeding voor de hoogspanningszijde (1.65V - 5.5V, bijvoorbeeld 5V -apparaten).
Het kan maximaal 8 bidirectionele gegevenslijnen aan, waardoor communicatie in beide richtingen mogelijk is.
Txs0108e pinout
Pin | Functie |
---|---|
VCCA | Laagspanningszijdige voeding |
VCCB | Hoogspanningszijdige voeding |
GND | Grond |
Oe | Uitgang Enable (Active High) |
Bijl | Gegevenslijnen met een laagspanningszijde (A1-A8) |
Bx | Gegevenslijnen met een hoogspanning zijde (B1-B8) |
Stap 2: De TXS0108E bedraden aan Arduino
Hieronder is een voorbeeld van het verbinden van de TXS0108E op een Arduino en een 3.3V I2C -apparaat (bijv. BMP280 -sensor):
Verbindingen
Txs0108e pin | Arduino Pin | 3.3V apparaatpen |
---|---|---|
VCCA | 3.3V | 3.3V |
VCCB | 5V | Nvt |
GND | GND | GND |
A1 | A4 (SDA, laagspanning) | SDA |
A2 | A5 (SCL, laagspanning) | SCL |
B1 | Apparaat SDA | Nvt |
B2 | Apparaat SCL | Nvt |
Oe | 5V | Nvt |
Opmerking: Zorg ervoor dat zowel VCCA als VCCB zijn aangesloten op hun respectieve spanningsbenodigdheden en dat
OE
is gebonden aan hoog (5V) om de module in te schakelen.
Stap 3: Upload de Arduino -code
Hier is een voorbeeldschets om te communiceren met een 3.3V I2C -apparaat (bijv. BMP280 -sensor) via de TXS0108E:
Voorbeeldcode
#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
}
Stap 4: Test de instelling
- Sluit de Arduino via USB aan op uw computer.
- Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
- Upload de code door te klikken Uploaden.
- Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op
9600
. - Bekijk de temperatuur- en drukwaarden van de BMP280 -sensor.
Toepassingen van de TXS0108E
- Interface 5V microcontrollers met 3.3V -sensoren of modules.
- Level-shifting voor SPI, I2C, UART of andere communicatieprotocollen.
- Het inschakelen van bidirectionele communicatie tussen apparaten met gemengde spanning.
Problemen oplossen
- Geen communicatie: Controleer de bedrading voor VCCA, VCCB en OE. Zorg ervoor dat het juiste I2C -adres wordt gebruikt.
- Onstabiele gegevens: Gebruik korte draden en controleer op stabiele voedingen.
- Apparaat niet reageert: Zorg voor spanningscompatibiliteit en verbindingen met dubbele controle aan beide zijden.
Conclusie
U hebt met succes de TXS0108E -niveau Shifter met Arduino gebruikt om communicatie tussen apparaten die op verschillende spanningsniveaus werken mogelijk te maken. Deze veelzijdige module is essentieel voor het overbruggen van spanningsgaten in systemen met gemengde signalen. Experimenteer verder door andere apparaten te verbinden en de applicaties in uw projecten te verkennen!