
Интернет-магазин «Неглупый Дом»
В других проектах на сайте используется ESP8266 D1 Mini — плата со встроенным стабилизатором напряжения и USB-портом. Здесь — минималистичный "голый" модуль ESP-01: без стабилизатора, без USB, только чип ESP8266 на крошечной платке с восемью выводами. Arduino UNO управляет им не загруженным в него своим скетчем, а отправляя текстовые AT-команды по обычному UART — и линии этого UART проходят через TXS0108E, защищая 3.3V-чип от 5-вольтовых сигналов Arduino.
В отличие от ESP8266 D1 Mini (куда загружается собственный скетч на C++ через Arduino IDE), ESP-01 в этом проекте работает в своей заводской прошивке, которая понимает простые текстовые команды вида "AT+..." и отвечает на них текстом — классический способ добавить WiFi к любой плате, которая умеет говорить по UART, без перепрошивки самого WiFi-модуля. Arduino отправляет эти команды через `SoftwareSerial` (программную реализацию UART на обычных цифровых пинах, так как аппаратный UART Arduino UNO уже занят монитором порта).
Электрическая сложность в том, что Arduino UNO работает на 5V логике, а ESP-01 — строго на 3.3V и без какого-либо встроенного стабилизатора или защиты входов (в отличие от D1 Mini). Линия TX от Arduino (5V) к RX ESP-01 обязательно должна быть понижена до 3.3V, а линия TX от ESP-01 (3.3V) к RX Arduino обычно не требует повышения (многие Arduino воспринимают 3.3V как валидный HIGH), но TXS0108E корректно согласует обе линии в обе стороны одновременно, не требуя раздельного решения для каждого направления.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему. Скорость UART (baud rate)
// заводской прошивки ESP-01 может отличаться (часто 115200 или 9600) —
// если ответов нет, попробуйте другую скорость.
#include <SoftwareSerial.h>
SoftwareSerial espSerial(2, 3); // RX, TX (через каналы TXS0108E к ESP-01)
void setup() {
Serial.begin(9600);
espSerial.begin(115200); // при необходимости попробуйте 9600
delay(1000);
espSerial.println("AT"); // простейшая проверка связи
}
void loop() {
if (espSerial.available()) {
Serial.write(espSerial.read()); // показываем ответ ESP-01 в мониторе порта
}
if (Serial.available()) {
espSerial.write(Serial.read()); // пересылаем команды из монитора порта на ESP-01
}
}
Дополнительных библиотек не требуется — только встроенная `SoftwareSerial`. Этот скетч превращает монитор порта в простой терминал для ручной отправки AT-команд — набрав "AT" и нажав отправить, вы должны увидеть ответ "OK" от модуля, если связь настроена верно.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу в корзину: 234 ₽ 211 ₽ (экономия 23 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.