Двунаправен преобразувател на логически нива за 5V системи с 3.3V I2C или UART, подходящ за Arduino и други модули.
SKU: ot8520 Артикулен номер: NA018 EAN: 8720828223239 Местоположение: D01.02
Алтернатива
4-канален конвертор на логическо ниво на напрежение
€ 0,80
Виж тази алтернатива
Ето как да свържеш I2C-UART двупосочен конвертор на логически нива 5V-3.3V 2-канален към Arduino UNO или ESP32, с примерен sketch, който можеш да качиш веднага.
Тази схема свързва безопасно 5V Arduino Uno към сериийно устройство 3.3V чрез 4-каналния двупосочен преобразувател на логически нива. Arduino изпраща и приема сериийни данни чрез software serial (pins 2 and 3), докато преобразувателят превежда сигналите между 5V (HV) и 3.3V (LV). Отворете Serial Monitor на 115200 baud, за да следите комуникацията.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : 4-Channel Logic Level Shifter with 3.3V Device
* Board : Arduino UNO (arduino:avr:uno)
* Parts : Logic Level Shifter 4-channel
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
#include <SoftwareSerial.h>
// Arduino Uno pins connected to the HV (5V) side of the level shifter
const int rxPin = 2; // HV2 (receives translated 5V from 3.3V device TX)
const int txPin = 3; // HV1 (transmits 5V to be translated to 3.3V device RX)
SoftwareSerial deviceSerial(rxPin, txPin);
void setup() {
Serial.begin(115200);
deviceSerial.begin(9600);
Serial.println(F("Logic Level Shifter Demo Initialized."));
Serial.println(F("Forwarding serial data between USB and 3.3V device..."));
}
void loop() {
// Forward data from USB Serial to 3.3V device
if (Serial.available()) {
char c = Serial.read();
deviceSerial.write(c);
}
// Forward data from 3.3V device to USB Serial
if (deviceSerial.available()) {
char c = deviceSerial.read();
Serial.write(c);
}
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Този проект демонстрира двупосочно преобразуване на напрежение с 4-каналния преобразувател на логически нива. ESP32 подава 3.3V сигнал към LV1, който се повишава до 5V на HV1. Jumper свързва HV1 с HV2, като понижава 5V сигнала обратно до 3.3V на LV2, за да бъде проверен от ESP32.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : 4-Channel Logic Level Shifter Loopback Test
* Board : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
* Parts : Logic Level Shifter 4-channel
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
// 4-Channel Logic Level Shifter Loopback Demo
// Sends 3.3V pulses on GPIO 18 (LV1), stepped up to 5V (HV1),
// looped to HV2 (5V), and stepped down to 3.3V on LV2 to read on GPIO 19.
const int TX_PIN = 18; // 3.3V Output to LV1
const int RX_PIN = 19; // 3.3V Input from LV2
void setup() {
Serial.begin(115200);
while (!Serial) {
delay(10);
}
pinMode(TX_PIN, OUTPUT);
pinMode(RX_PIN, INPUT);
Serial.println("=== Logic Level Shifter Loopback Test ===");
}
void loop() {
// Test HIGH state
digitalWrite(TX_PIN, HIGH);
delay(10);
int highRead = digitalRead(RX_PIN);
// Test LOW state
digitalWrite(TX_PIN, LOW);
delay(10);
int lowRead = digitalRead(RX_PIN);
// Report status
Serial.print("Sent HIGH -> Read: ");
Serial.print(highRead == HIGH ? "HIGH [PASS]" : "LOW [FAIL]");
Serial.print(" | Sent LOW -> Read: ");
Serial.println(lowRead == LOW ? "LOW [PASS]" : "HIGH [FAIL]");
delay(1000);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Някои модули работят с 3.3V I2C или UART, тогава този модул може да преобразува напрежението, ако вашата система работи с 5V.(напр. вашия 5V Arduino)
Освен това има вграден стабилизатор на напрежение, който преобразува 5V към 3.3V до 100mA, също полезно ако трябва да захраните модул с 3.3V, който няма вграден стабилизатор на напрежение.
Пиновете са обозначени от долната страна:
AVCC свържете към 5V
ASCL свържете към SCL/TX пина на 5V система
ASDA свържете към SDA/RX пина на 5V система
AGND свържете към GND на 5V система
BVCC свържете към 3.3V на системата
BSCL свържете към SCL/RX пина на 3.3V система
BSDA свържете към SDA/TX пина на 3.3V система
BGND свържете към GND на 3.3V система
Този модул по принцип е подходящ само за преобразуване от 5V към 3.3V. Стабилизаторът на напрежение може да преобразува само 5V към 3.3V.
Ако вашата система е 3.3V и искате да свържете 5V модул, трябва да го свържете по следния начин:
AVCC свържете към 5V (5V захранваща линия)
ASCL свържете към SCL/TX пина на 5V система
ASDA свържете към SDA/RX пина на 5V система
AGND свържете към GND на 5V система
BVCC не свързвайте
BSCL свържете към SCL/RX пина на 3.3V система
BSDA свържете към SDA/TX пина на 3.3V система
BGND свържете към GND на 3.3V система
Обърнете внимание: Пиновите хедъри за този модул все още не са запоени. Ако искате да използвате хедърите, те трябва да бъдат запоени сами.

| Интерфейс | I2C |
|---|---|
| Входно напрежение | 5V |
| Изходно напрежение | 3.3 V |
| Захранване | 100 mA |
Работи перфектно!
Съответства на описанието
I2C-UART двупосочен конвертор на логически нива 5V-3.3V 2-канален