Arduino к ESP8266 через последовательную связь

Это руководство объясняет, как установить последовательную связь между Arduino и модулем ESP8266 WiFi без необходимости FTDI-адаптера.


Подключение

Схема подключения:

  • Arduino пин 3 -> делитель напряжения -> ESP8266 RX

  • Arduino пин 2 -> ESP8266 TX

  • Arduino GND -> ESP8266 GND

  • ESP8266 CH_PD подтянут к +3.3V через резистор 10 кОм

  • +3.3V к ESP8266 VCC

Схема подключения Arduino к ESP8266

Важные замечания:

  • Используйте делитель напряжения только для 5V Arduino (резисторы 1 кОм и 2 кОм)

  • 3.3V Arduino подключаются напрямую без делителя напряжения

  • ESP8266 требует отдельный источник питания 3.3V (не от Arduino)

  • Модуль может потреблять до 300 мА, что превышает возможности Arduino


Скетч Arduino

#include <SoftwareSerial.h>
SoftwareSerial ESPserial(2, 3); // RX | TX

void setup()
{
    Serial.begin(9600);
    ESPserial.begin(9600);
    Serial.println("");
    Serial.println("Remember to to set Both NL & CR in the serial monitor.");
    Serial.println("Ready");
    Serial.println("");
}

void loop()
{
    if ( ESPserial.available() )   {  Serial.write( ESPserial.read() );  }
    if ( Serial.available() )       {  ESPserial.write( Serial.read() );  }
}

Важные настройки

Скорость передачи (Baud Rate):

Ранние модули ESP8266 поставлялись с разными скоростями по умолчанию (9600, 57600 или 115200). Пользователям необходимо тестировать разные скорости, включая модуль и наблюдая за загрузочными сообщениями.

Настройки монитора порта:

Установите и NL (New Line), и CR (Carriage Return) при использовании монитора порта Arduino IDE для правильной связи через AT-команды.

Монитор порта

Распространённые проблемы и решения

  1. Нечитаемый вывод (мусор): указывает на неправильную скорость передачи

  2. Нет ответов: проверьте значения резисторов делителя напряжения и подключения

  3. Модуль постоянно перезагружается: недостаточное питание; используйте внешний адаптер

  4. Ошибки загрузки: отключите ESP8266 при загрузке кода в Arduino

  5. Ошибки занятости порта: может потребоваться альтернатива FTDI-адаптера