TXS0108E è un cambio di livello bidirezionale che consente una comunicazione sicura tra dispositivi che operano a diversi livelli di tensione, come 3,3 V e 5 V. È comunemente usato per interfacciarsi i microcontroller 5V (come Arduino) con sensori o moduli a 3,3 V. Questo tutorial ti guiderà utilizzando TXS0108E con Arduino.
Cosa avrai bisogno
- TXS0108E MODULO SHIFTER LIVELLO DI TENSIONE
- Arduino Board (ad es. Uno, Mega, Nano)
- Dispositivi da 3.3 V e 5 V (ad es. Sensori, moduli)
- Breadboard e fili jumper
- Un computer con l'IDE Arduino installato
Passaggio 1: Comprensione del modulo TXS0108E
Il modulo TXS0108E ha due domini di potenza:
- VCCA: Alimentazione per il lato a bassa tensione (1,2 V - 3,6 V, ad esempio, dispositivi 3.3 V).
- VCCB: Alimentazione per il lato ad alta tensione (1,65 V - 5,5 V, ad esempio dispositivi 5 V).
Può gestire fino a 8 linee di dati bidirezionali, consentendo la comunicazione in entrambe le direzioni.
Txs0108e pinout
Spillo | Funzione |
---|---|
VCCA | Alimentazione laterale a bassa tensione |
VCCB | Alimentazione laterale ad alta tensione |
GND | Terra |
Oe | Output abilit (attivo alto) |
Ascia | Linee dati laterali a bassa tensione (A1-A8) |
BX | Linee dati laterali ad alta tensione (B1-B8) |
Passaggio 2: cablaggio TXS0108E ad Arduino
Di seguito è riportato un esempio di collegamento TXS0108E a un Arduino e un dispositivo I2C da 3,3 V (ad es. Sensore BMP280):
Connessioni
PIN TXS0108E | Arduino Pin | Pin dispositivo da 3.3 V. |
---|---|---|
VCCA | 3.3v | 3.3v |
VCCB | 5v | N / A |
GND | GND | GND |
A1 | A4 (SDA, bassa tensione) | SDA |
A2 | A5 (SCL, bassa tensione) | SCL |
B1 | Dispositivo SDA | N / A |
B2 | Dispositivo SCL | N / A |
Oe | 5v | N / A |
Nota: Assicurarsi che sia VCCA che VCCB siano collegati alle rispettive forniture di tensione e che
OE
è legato ad alto (5 V) per abilitare il modulo.
Passaggio 3: carica il codice Arduino
Ecco uno schizzo di esempio per comunicare con un dispositivo I2C da 3,3 V (ad es. Sensore BMP280) tramite TXS0108E:
Codice di esempio
#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
}
Passaggio 4: testare l'installazione
- Collega l'Arduino al tuo computer tramite USB.
- Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
- Carica il codice facendo clic Caricamento.
- Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su
9600
. - Osservare le letture di temperatura e pressione dal sensore BMP280.
Applicazioni di TXS0108E
- Interfacciando microcontrollori 5V con sensori o moduli da 3,3 V.
- Shifting di livello per protocolli SPI, I2C, UART o altri protocolli di comunicazione.
- Abilitazione della comunicazione bidirezionale tra dispositivi a tensione mista.
Risoluzione dei problemi
- Nessuna comunicazione: Verificare il cablaggio per VCCA, VCCB e OE. Assicurati che venga utilizzato l'indirizzo I2C corretto.
- Dati instabili: Utilizzare fili corti e verificare la presenza di alimentatori stabili.
- Dispositivo che non risponde: Garantire la compatibilità della tensione e le connessioni a doppio controllo su entrambi i lati.
Conclusione
Hai usato con successo il cambio di livello TXS0108E con Arduino per consentire la comunicazione tra dispositivi che operano a diversi livelli di tensione. Questo modulo versatile è essenziale per il ponte di spazi di tensione nei sistemi a segnale misto. Sperimenta ulteriormente collegando altri dispositivi ed esplorando le sue applicazioni nei tuoi progetti!