Подключение ESP8266 к Arduino NANO.

Сначала подключим DevKit ESP8266.

Как подключить? Каждый из модулей имеет USB порт и может запитываться от компьютера, но рано или поздно им потребуется автономное питание. Надо решить эту задачу сразу.

Два варианта: у каждого модуля свой источник питания, или один на всех.

Подключил внешние 5 вольт на Vin обоих модулей, затем подключил USB к Arduino UNO. Пока все идет нормально.

Первое, что хотелось проверить, это соответствие уровней сигналов двух модулей.

Для первой программы я использовал пример использования библиотеки Software Serial

Исходный скетч для Arduino NANO
/* * RX is digital pin 10 (connect to TX of other device)
* TX is digital pin 11 (connect to RX of other device)
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
// я изменил на 115200)
mySerial.begin(115200);
mySerial.println("Hello, world?");
}

void loop() { // run over and over
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}

Сначала я "залил" программу в ESP8266:
1 - подключив компьютер к модулю через USB.
2 - в Arduino IDE выбрал COM порт (скорость 11520) и модуль NodeMCU 1.0.
3 - отсоединил Rx и Tx от Arduino NANO.
4 - прошил свою программу R_ESP8266_Control.

Проверил работу модуля без связки с Arduino - все нормально.

Подключаю к компьютеру Arduino NANO:
1 - в Arduino IDE выбрал COM порт (скорость 57600) и модуль Arduino NANO.
2 - загрузил скетч, показанный выше.

Проверил работу модуля без связки с ESP8266 - все нормально.

Соединяю два модуля линиями Rx > Tx и Tx > Rx, как показано на рисунке выше. Подсоединяю компьютер только к USB порту Arduino NANO, и включаю питание.

Запускаю монитор последовательного порта на компьютере нажимаю кнопку RESET на DevKit ESP8266 модуле. Через пару секунд на мониторе получил отчет:

...
Connected to Runi_WF
IP address: 192.168.0.101
mDNS responder started
TCP server started

Теперь на любом устройстве, имеющим возможность работать в вашей сети, следует в браузере набрать IP адрес 192.168.0.101 и управлять модулями. На мониторе последовательного порта должны отображаться все передаваемые сообщения от DtvKit ESP8266 в Arduino NANO.

Объединить два модуля, имеющие свои "обвязки" из защитных и согласущих сопротивлений, оказалось делом очень простым. В других случаях надо быть внимательнее к общим цепям.

Подключение модуля ESP8266 к Arduino NANO

Для прошивки ESP8266 следует:
- преключатель sw1 перевести в положение "prog". При этом выводы Rx и Tx обоих модулей будут соединены напрямую;
- ключ Kn2 (RESET) замкнуть, чтобы вывод RST подключить к Gnd. Это позволит отключить микроконтроллер и использовать Arduino как прозрачный USB-TTL конвертер;
- ключ или перемычку Kn1 (GPIO0) замкнуть - подключить вывод GPIO0 ESP8266 к Gnd для записи программы;
- ключ или перемычку Kn2 (GPIO15) замкнуть на Gnd для записи программы;
- включить питание;
- подсоединить компьютер к USB;
- все готово для программирования ESP8266 через порт USB;

Для прошивки Arduino NANO следует:
- преключатель sw1 перевести в положение "connect";
- ключ Kn2 (RESET) разомкнуть;
- ключ Kn1 (GPIO0) разомкнуть;
- подсоединить компьютер к USB;
- все готово для работы или программирования Arduino NANO;

По поводу согласования цепей модулей с питанием 3.3 вольта 5.0 вольт, много материала в Инете. Я испробовал способ, представленный на схеме. Работает стабильно!

 

 

Hosted by uCoz