Соединять 3.3 В и 5 В напрямую можно не всегда, и направление важно.
3.3 В выход → 5 В TTL-вход: обычно работает. Порог единицы у TTL 2.0 В, а 3.3 В выход даёт 3.2–3.3 В — запас есть. Но если это 5 В CMOS-вход (74HC при 5 В), порог 3.5 В, и 3.3 В уже не хватает: нужен сдвиг уровня.
5 В выход → 3.3 В вход: не работает никогда. Вход 3.3 В не рассчитан на 5 В, ток пойдёт через защитные диоды, и вывод деградирует или сгорает.
Как понизить 5 → 3.3:
— Делитель напряжения (10 кОм / 20 кОм даёт 3.3 В из 5). Просто и дёшево, но медленно и грузит линию.
— Резистор 1–10 кОм последовательно плюс внутренний защитный диод: работает, но ток течёт в питание 3.3 В — не для постоянных нагрузок.
— Специальная микросхема-сдвигатель (TXS0108, 74LVC1T45) — правильно и быстро.
Как поднять 3.3 → 5:
— Специальная микросхема-сдвигатель.
— Буфер с открытым стоком плюс подтяжка к 5 В (инверсия, но для I2C идеально).
— MOSFET + резистор (классическая схема bidirectional level shifter на BSS138) — дешёво и работает в обе стороны.
— Оптопара, если нужна гальваническая развязка.
Практическое правило: для медленных сигналов (кнопки, реле, UART до 115200) хватает резисторов и делителей; для быстрых (SPI, адресные светодиоды, SD-карта) — только специальные сдвигатели, иначе фронты «заваливаются».
И самое частое: проверь, терпимы ли входы к 5 В. У ESP32 — нет (кроме отдельных пинов, и то с оговорками), у STM32 большинство пинов 5 В tolerant (обозначаются FT в даташите), у AVR при питании 5 В всё родное.
Согласование уровней — источник и «не работает», и «работает, но греется»; направление критично.
Посмотри в даташите своего микроконтроллера, какие пины помечены как 5 В tolerant. Это решает, нужен ли сдвигатель вообще.
Проверь себя
Можно ли подключить 5-вольтовый выход датчика прямо к ESP32?
Нет, ESP32 не терпит 5 В на входах. Нужен делитель (для медленного сигнала) или сдвигатель уровня. Иначе ток пойдёт через защитный диод и выведет пин из строя.
-
Wikipedia: Logic level shifter
согласование уровней
-
Espressif: ESP32 Datasheet
3.3 В и 5-вольтовая логика