• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 все заработало.
Выводы как обычно : Сначала читайте документацию, проверяйте базовое железо.
 
Сверху Снизу