Como usar o câmbio de nível de tensão TXS0108E com Arduino

How to Use the TXS0108E Voltage Level Shifter with Arduino

O TXS0108E é um câmbio de nível de tensão bidirecional que permite uma comunicação segura entre dispositivos que operam em diferentes níveis de tensão, como 3.3V e 5V. É comumente usado para interface os microcontroladores 5V (como o Arduino) com sensores ou módulos de 3.3V. Este tutorial o guiará usando o TXS0108E com Arduino.


O que você precisará

  1. Módulo de câmbio de nível de tensão TXS0108E
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Dispositivos 3.3V e 5V (por exemplo, sensores, módulos)
  4. Fios de pão e jumper
  5. Um computador com o Arduino IDE instalado

Etapa 1: Compreendendo o módulo TXS0108E

O módulo TXS0108E possui dois domínios de potência:

  • VCCA: Fonte de alimentação para o lado de baixa tensão (1,2V - 3,6V, por exemplo, dispositivos de 3.3V).
  • VCCB: Fonte de alimentação para o lado de alta tensão (1,65V - 5,5V, por exemplo, dispositivos 5V).

Pode lidar com até 8 linhas de dados bidirecionais, permitindo a comunicação em ambas as direções.

TXS0108E PILOUT

Alfinete Função
VCCA Fonte de alimentação lateral de baixa tensão
VCCB Fonte de alimentação lateral de alta tensão
Gnd Chão
OE Saída Ativar (ativo alto)
Machado Linhas de dados laterais de baixa tensão (A1-A8)
Bx Linhas de dados laterais de alta tensão (B1-B8)

Etapa 2: Fiação do TXS0108E para Arduino

Abaixo está um exemplo de conectar o TXS0108E a um Arduino e um dispositivo 3.3V I2C (por exemplo, sensor BMP280):

Conexões

Pino TXS0108E Pino Arduino 3,3V PIN do dispositivo
VCCA 3.3V 3.3V
VCCB 5V N / D
Gnd Gnd Gnd
A1 A4 (SDA, baixa tensão) SDA
A2 A5 (SCL, baixa tensão) SCL
B1 Dispositivo SDA N / D
B2 Dispositivo SCL N / D
OE 5V N / D

Observação: Verifique se o VCCA e o VCCB estão conectados aos seus respectivos suprimentos de tensão e que OE está ligado ao alto (5V) para ativar o módulo.


Etapa 3: Faça o upload do código Arduino

Aqui está um exemplo de esboço para se comunicar com um dispositivo 3.3V I2C (por exemplo, sensor BMP280) através do TXS0108E:

Código de exemplo

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

Etapa 4: teste a configuração

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
  3. Faça o upload do código clicando Carregar.
  4. Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como 9600.
  5. Observe as leituras de temperatura e pressão do sensor BMP280.

Aplicações do TXS0108E

  1. Microcontroladores de interface 5V com sensores ou módulos de 3,3V.
  2. A mudança de nível para SPI, I2C, UART ou outros protocolos de comunicação.
  3. Permitindo a comunicação bidirecional entre dispositivos de tensão mista.

Solução de problemas

  • Sem comunicação: Verifique a fiação para VCCA, VCCB e OE. Verifique se o endereço I2C correto é usado.
  • Dados instáveis: Use fios curtos e verifique se há fontes de alimentação estáveis.
  • Dispositivo não respondendo: Certifique-se de compatibilidade de tensão e verificar as conexões duas vezes nos dois lados.

Conclusão

Você usou com sucesso o shifter de nível TXS0108E com o Arduino para permitir a comunicação entre dispositivos que operam em diferentes níveis de tensão. Este módulo versátil é essencial para a ponte de lacunas de tensão em sistemas de sinal misto. Experimente ainda mais conectando outros dispositivos e explorando seus aplicativos em seus projetos!

Deixe um comentário

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.