
Интернет-магазин «Неглупый Дом»
В проекте с преобразователем уровней на сайте ESP-01 питается от 3.3V, полученных через отдельный стабилизатор, так как бюджетный блок питания обычно выдаёт 5V. Здесь используется HLK-PM03 — модуль той же серии, что и уже знакомый HLK-PM01, но с выходом сразу 3.3V, то есть напряжением, которое нужно ESP-01 напрямую, без каких-либо дополнительных преобразований.
Принцип гальванической развязки такой же, как и у HLK-PM01 — сетевые 220В превращаются в низкое напряжение без прямого электрического контакта между сторонами. Разница — только в выходном напряжении серии: HLK-PM и аналогичные модули выпускаются на разные стандартные выходы (3.3V, 5V, 12V, 24V), и выбор конкретной версии зависит от того, что нужно питать. Для ESP-01, у которого нет своего стабилизатора напряжения на борту (в отличие от D1 Mini), получение нужных 3.3V прямо с AC-DC модуля устраняет лишнее звено в цепи питания и связанные с ним потери напряжения.
Код для самого ESP-01 здесь тот же, что и в проекте с преобразователем уровней — AT-команды по UART к заводской прошивке. Разница именно в питании: раньше Arduino (5V) отправляла команды через TXS0108E, здесь рассматривается сам ESP-01, запитанный напрямую от сети, как самостоятельный узел — например, управляемый по UART от любого внешнего контроллера на 3.3V без необходимости согласовывать уровни вообще, если весь остальной узел тоже работает на 3.3V.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему. Сетевая часть схемы
// (вход HLK-PM03) требует отдельной осторожности при монтаже.
// Пример ниже рассчитан на подключение через отдельный 3.3V USB-TTL
// адаптер для первичной проверки связи — для полноценного внешнего
// контроллера на 3.3V замените на соответствующий код отправки AT-команд.
// Эта часть выполняется НЕ на самом ESP-01 (у него нет Arduino-скетча
// в этом проекте), а на любом внешнем 3.3V контроллере/адаптере,
// подключённом к TX/RX ESP-01 для отправки AT-команд:
#include <SoftwareSerial.h>
SoftwareSerial espSerial(2, 3); // RX, TX — на контроллере, работающем на 3.3V
void setup() {
Serial.begin(9600);
espSerial.begin(115200); // при необходимости попробуйте 9600
delay(1000);
espSerial.println("AT");
}
void loop() {
if (espSerial.available()) {
Serial.write(espSerial.read());
}
}
Дополнительных библиотек не требуется для проверки через `SoftwareSerial`. Главное отличие этого проекта от проекта с TXS0108E — не в коде, а в том, что при полностью 3.3V-совместимом внешнем контроллере преобразователь уровней вообще не нужен, раз оба конца линии UART работают на одном и том же напряжении.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 433 ₽ 390 ₽ (экономия 43 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.