ESP-01. Arduino IDE. Простой Web-сервер — управление четырьмя линиями GPIO0…GPIO3

После первой победы, сразу хочется чего-то большего. На фото показан макет, реализующий управление четырьмя выходами GPIO (светодиодами). Использованы выводы GPIO0…GPIO3. 8266_web4Схема включения светодиодов показана ниже.8266webGP4
Подключение светодиода к GPIO2 описано выше и не вызывает трудностей. Иное дело GPIO0 и GPIO1: если светодиоды подключить катодом на GND, то можно столкнуться с проблемой: при включении питания модуль будет воспринимать уровень сигнала на этих линиях как LOW и «не запускать» загруженную программу, а выходить в режим тестирования (GPIO1 = LOW), либо загрузки по UART (GPIO0 = LOW). Поэтому светодиоды лучше подключать анодом к VCC через токоограничивающий резистор (на GPIO1 (UTXD) такой светодиод уже распаян в модуле ESP-01). К GPIO3 (URXD) можно светодиод подключать любым способом. Следует только помнить, что к этому выводу в режиме загрузки программы подключен выход TxD переходника UART-USB — как бы его «не подпалить» когда GPIO3 будет настроен на вывод!

Т.к. линии UART заняты светодиодами, нам не удастся «промониторить» IP адрес устройства, поэтому «подразумеваем», что адрес остался тем же…
Используем подправленный для нашей задачи скетч WiFiWebServer_4pin.
Назначение GPIO:
int pin01 = 1;  //TxD  GPIO1   VD to VCC
int pin23 = 2;  //GPIO2        VD to GND
int pin45 = 3;  //RxD  GPIO3   VD to GND  (перед включением надо отключить от UART-USB)
int pin67 = 0;  //GPIO0        VD to VCC

Управление из адресной строки браузера:
http://192.168.1.10/gpio/0 … /1   — управление GPIO1
http://192.168.1.10/gpio/2 … /3   — управление GPIO2
http://192.168.1.10/gpio/4 … /5   — управление GPIO3
http://192.168.1.10/gpio/6 … /7   — управление GPIO0

Несколько слов о подаче уровней LOW и HIGH на выводы GPIO. Порты GPIO в процессе запуска модуля могут иметь разное направление работы. Может получиться так, что «запаянная на землю» линия GPIO при инициализации настраивается на вывод, да еще по ней выдается уровень HIGH — в результате выходные каскады модуля могут быть повреждены. «Обезопасить» себя можно подключением выводов к цепям питания через резисторы номиналом 1К..10К.

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".