Come utilizzare il cambio di tensione TXS0108E con Arduino

How to Use the TXS0108E Voltage Level Shifter with Arduino

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

  1. TXS0108E MODULO SHIFTER LIVELLO DI TENSIONE
  2. Arduino Board (ad es. Uno, Mega, Nano)
  3. Dispositivi da 3.3 V e 5 V (ad es. Sensori, moduli)
  4. Breadboard e fili jumper
  5. 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

  1. Collega l'Arduino al tuo computer tramite USB.
  2. Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
  3. Carica il codice facendo clic Caricamento.
  4. Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su 9600.
  5. Osservare le letture di temperatura e pressione dal sensore BMP280.

Applicazioni di TXS0108E

  1. Interfacciando microcontrollori 5V con sensori o moduli da 3,3 V.
  2. Shifting di livello per protocolli SPI, I2C, UART o altri protocolli di comunicazione.
  3. 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!

Lascia un commento

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.