• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Arduino Mega + ESP-07 нет RX.

Waclav

New member
Добрый день, на A\Mega 2650 не могу завести ESP-07. Помогите пожалуйста куда копать...
Есть несколько модулей ESP-07. Пытаюсь использовать их в сборке на A\Mega для передачи данных от ПО (контроль датчиков), управлять через AT команды планируется.
Подключал к клону Arduino Mega 2560 по https://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
Была собрана плата согласно схеме в статье выше. RX через резисторный делитель, TX напрямую (3.24 V на нем)
RX TX от модуля на 19\18 ноги (RX1\TX1 Arduino).
Для через Arduino IDE через консоль на последовательный порт отправляю АТ команды. (все варианты пробовал и с NL CR и без, на скоростях от 9600 до 115200)
На Arduino моргают TX, затем RX. Модуль ESP реагирует на команды (по крайней мере перезагружается и по морганию диода RX на Arduino чего то отдает).
Но в мониторе Arduino IDE ничего не выводится.
Пробовал на 2-х A\Mega 2560 и 3-х модулях = передача работает, прием не работает.
Затем нашел старую UNO подключил RX\TX на 8\9 порты. И вывод заработал.
Втыкаю то же самое на Mega = нет приема ответов на АТ команды на Mega. Причем соединял как через свою плату так и через готовую плату программирования.
Пробовал на все доп порты RX1\2\3 которые с 19 по 14 порты. Ноль эффекта. Причем RX на ардуино моргает...
Версия прошивки ESP (отдает при подключении к UNO).
-> AT version:1.1.0.0(May 11 2016 18:09:56)
-> SDK version:1.5.4
Как дергаю RX\TX (тут на форуме нашел):
Код:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(19,18);
#define SPEED 115200
void setup()
{
Serial.begin(SPEED);
//Serial.setTimeout(500);

// set the data rate for the SoftwareSerial port
mySerial.begin(SPEED);
Serial.println("Start working!!!");
}
void loop()
{
if (mySerial.available()){
  Serial.print(mySerial.read());
}

String txt_in="";
if (Serial.available()) {
  txt_in=Serial.readString();
  Serial.println(txt_in);
  mySerial.println(txt_in);
  }
}
На A\Mega не могу завести. Помогите пожалуйста куда копать...
 

Waclav

New member
Вопрос снят.
Одна из ArduinoMega была с битым 16u на входе (зашилась только один раз, следующие версии скетчей тупо не грузились - хотя давала отклик ОК).
Прочитал документацию по SoftwareSerial оказывается нельзя RX назначать на порты 19-14, поэтому не работал прием от модуля.
В итоге после перепайки 16U на второй плате и подключению через HardwareSerial на 2 и 3-й Serial все заработало.
Выводы как обычно : Сначала читайте документацию, проверяйте базовое железо.
 
Сверху Снизу