ESP8266:Примеры/Моргание светодиодом с помощью ESP8266 и IDE Arduino
Черновик |
Моргание светодиодом с помощью ESP8266 и IDE Arduino[1]
Эта статья рассказывает, как программировать ESP8266 напрямую при помощи IDE Arduino. Плата Arduino нам не понадобится, только модуль с ESP8266.
Программировать ESP8266 можно разными способами, к примеру, ее родным кодом или при помощи NodeMCU. Но есть и более удобный способ – среда разработки IDE Arduino.
Правда, сначала в IDE Arduino нужно установить специальный аддон, позволяющий программировать на ESP8266. О том, как это сделать, читайте тут.
Необходимые компоненты
- Модуль с ESP8266 (ESP-01, ESP-03, ESP-05, ESP-07 или ESP-12) - 1шт.;
- Конвертер USB/TTL на базе чипа FT232RL от FTDI() - 1шт.;
- Резистор на 1 кОм() - 1шт.;
- Светодиод() - 1шт.;
Программирование
Сначала загрузите аддон для ESP8266. Его последнюю версию можно найти на GitHub. Ссылку на руководство по ее установке смотрите выше.
Установив аддон для ESP8266, запустите IDE Arduino. Подключите модуль ESP8266 к компьютеру. Подключение осуществляется также, как и при обновлении прошивки ESP8266. Кроме того, для программирования понадобится конвертер USB/TTL с чипом FT232RL от FTDI. Настройте его на 3,3 вольта.
Внимание: Некоторые версии конвертеров USB/TTL FT232RL не способны обеспечить ESP8266 достаточным напряжением. В этом случае ESP8266 нужно питать только от внешнего источника питания.
Теперь нам нужно поменять некоторые настройки в IDE Arduino. Сначала выберите правильный COM-порт в меню Инструменты > Порт (Tools > Port), а потом выберите программатор в меню Инструменты > Программатор > esptool (Tools > Programmer > esptool).
Затем выберите плату, кликнув на Инструменты > Плата > Generic ESP8266 Board (Tools > Board > Generic ESP8266 Board).
Теперь можно загружать программу. Это стандартный скетч для Arduino, суть которого в простом мигании светодиодом. Поскольку вместо Arduino используется ESP8266, в скетче нужно будет поменять номер контакта: вместо 13-го контакта нужно указать 2-ой (это 2-ой GPIO-контакт на ESP8266).
В модифицированном виде программа будет выглядеть следующим образом (ее также можно загрузить с GitHub):
/*
Моргание
Включает светодиод и держит его в таком состоянии 1 секунду,
затем выключает светодиод и держит его в таком состоянии 1 секунду,
затем повторяет эти действия заново.
У большинства Arduino есть встроенный светодиод. На Uno и Leonardo
он подключен к 13-ому контакту. Если вы не уверены, есть ли
на вашей модели Arduino встроенный светодиод, сверьтесь
с документацией на сайте http://arduino.cc
Скетч не защищен авторскими правами.
Модифицирован 8 мая 2014 года
Скоттом Фитцдеральдом (Scott Fitzgerald)
*/
// блок setup() запускается, когда вы нажимаете на кнопку сброса
// или подключаете плату к питанию:
void setup() {
// выставляем 13-ый цифровой контакт в режим вывода данных:
pinMode(2, OUTPUT);
}
// блок loop() будет работать снова и снова:
void loop() {
digitalWrite(2, HIGH); // включаем светодиод
// (т.е. подаем значение HIGH)
delay(1000); // ждем секунду
digitalWrite(2, LOW); // выключаем светодиод
// (т.е. подаем значение LOW)
delay(1000); // ждем секунду
}
Отредактировав программу, просто нажмите на кнопку «Загрузка» («Upload») в IDE Arduino. Если все настроено правильно, скетч скомпилируется и будет отправлен на ESP8266.
Закончив программировать, отключите контакт GPIO0 от GND.
Схема
Подключите к контакту GPIO2 на ESP8266 светодиод и резистор на 1 кОм. Также подключите контакт CH_PD (на ESP8266) к питающему контакту (на картинке ниже это подключение не показано).