Volver al Cat谩logo Todas nuestras PCB 馃懢

Convertidor de Nivel L贸gico Bidireccional (4 Ch)

Seguridad I虏C con Tecnolog铆a BSS138

Convertidor de Nivel L贸gico Principal BSS138 Tech
$3.95

Caracter铆sticas Principales

  • Canales: 4 Bidireccionales
  • Voltaje Lado Bajo (VL): M铆n. 1.8V
  • Voltaje Lado Alto (VH): M谩x. 10V
  • Transistor Principal: BSS138 FET

Descripci贸n del Componente

Debido a que Arduino (y Basic Stamp) son dispositivos de $\mathbf{5\text{V}}$, y la mayor铆a de los sensores, pantallas y m贸dulos modernos operan a $\mathbf{3.3\text{V}}$, la conversi贸n de nivel l贸gico es crucial para proteger los dispositivos sensibles. Esta placa ofrece una soluci贸n robusta y segura.

Este *breakout* utiliza 4 transistores **FET BSS138** con *pull-ups* de $10\text{K}\Omega$. Sigue la nota de aplicaci贸n de **NXP** para un dise帽o FET compatible con $\mathbf{I}^2\mathbf{C}$, lo que lo hace ideal para la transferencia de datos bidireccional en buses $\text{I}^2\text{C}$, $\text{TTL Serial}$ y $\text{SPI}$ lento (hasta $2\text{MHz}$).

AVISO T脡CNICO: Los $10\text{K}\Omega$ *pull-ups* lo hacen ligeramente m谩s lento que el TXB0108, por lo que es la opci贸n perfecta para **seguridad y confiabilidad** en protocolos como $\text{I}^2\text{C}$ donde la velocidad no es la m谩xima prioridad.

Ejemplo de Uso (Arduino $\text{I}^2\text{C}$)

Conectando un sensor de $3.3\text{V}$ (ej. BMP180) a un microcontrolador de $5\text{V}$.

// Ejemplo: Comunicaci贸n I2C entre Arduino (5V) y Sensor (3.3V)
#include <Wire.h>
#include <Adafruit_BMP085.h> // Sensor de 3.3V

Adafruit_BMP085 bmp;

// CONEXIONES:
// Lado 3.3V (LV):
// - LV al 3.3V del Arduino
// - GND al GND del Arduino
// - SCL_LV al SCL del sensor
// - SDA_LV al SDA del sensor

// Lado 5V (HV):
// - HV al 5V del Arduino
// - SCL_HV al A4 del Arduino (SCL I2C)
// - SDA_HV al A5 del Arduino (SDA I2C)

void setup() {
  Serial.begin(9600);
  Serial.println("Convertidor de Nivel I2C: Test");
  
  if (!bmp.begin()) {
    Serial.println("Error: Sensor BMP180 no encontrado.");
    while (1); // Detener ejecuci贸n
  }
}

void loop() {
  // Las lecturas son posibles gracias al convertidor:
  float tempC = bmp.readTemperature();
  float pressure = bmp.readPressure();

  Serial.print("Temperatura: ");
  Serial.print(tempC);
  Serial.println(" *C");
  
  Serial.print("Presion: ");
  Serial.print(pressure);
  Serial.println(" Pa");
  
  delay(1000);
}