Conversor de nivel lógico bidireccional de 4 canales (tipo BSS138) que convierte entre 5V y 3.3V en hasta 4 líneas de señal. Adecuado para I2C (2x), SPI (1x) o UART (2x). También funciona con módulos/chips de 2.8V o 1.8V.
| Pin | Señal | Descripción |
|---|---|---|
HV1 |
power | top-edge through-hole pin 1 on high-voltage side |
HV2 |
power | top-edge through-hole pin 2 on high-voltage side |
HV |
power | top-edge through-hole high-voltage supply pin |
GND |
ground | top-edge through-hole ground pin |
HV3 |
power | top-edge through-hole pin 3 on high-voltage side |
HV4 |
power | top-edge through-hole pin 4 on high-voltage side |
LV1 |
power | bottom-edge through-hole pin 1 on low-voltage side |
LV2 |
power | bottom-edge through-hole pin 2 on low-voltage side |
LV |
power | bottom-edge through-hole low-voltage supply pin |
GND.1 |
ground | bottom-edge through-hole ground pin |
LV3 |
power | bottom-edge through-hole pin 3 on low-voltage side |
LV4 |
power | bottom-edge through-hole pin 4 on low-voltage side |
| Desde | Hasta | Cable |
|---|---|---|
board:5V |
x1:HV |
red |
board:GND |
x1:GND |
black |
board:3.3V |
x1:LV |
darkorange |
board:GND.1 |
x1:GND.1 |
black |
board:D2 |
x1:HV1 |
green |
board:D3 |
x1:LV1 |
blue |
Este ejemplo se escribió y verificó por compilación para arduino-uno. Codey Online lo adapta a cualquier otra placa compatible.
// Canonical beginner example for a 4-channel logic level shifter
// Demonstrates shifting a digital signal between the Arduino Uno's 5V side (HV)
// and 3.3V side (LV) using one channel of the module.
const int hvPin = 2; // Connected to HV1
const int lvPin = 3; // Connected to LV1
void setup() {
pinMode(hvPin, OUTPUT);
pinMode(lvPin, INPUT);
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("Logic level shifter example started.");
Serial.println("Press ENTER in the Serial Monitor to switch the signal.");
// Start with the signal LOW.
digitalWrite(hvPin, LOW);
}
void loop() {
// Drive the 5V side HIGH, then read the translated 3.3V side.
digitalWrite(hvPin, HIGH);
delay(10);
int lvReadingHigh = digitalRead(lvPin);
Serial.print("HV1 driven HIGH, LV1 reads: ");
Serial.println(lvReadingHigh);
delay(1000);
// Drive the 5V side LOW, then read the translated 3.3V side.
digitalWrite(hvPin, LOW);
delay(10);
int lvReadingLow = digitalRead(lvPin);
Serial.print("HV1 driven LOW, LV1 reads: ");
Serial.println(lvReadingLow);
delay(1000);
}
Describe lo que quieres construir. Codey Online escribe el codigo, dibuja el esquema de conexiones, lo compila y graba tu placa directamente desde el navegador.
Empieza gratis