ESP8266:Примеры/Моргание светодиодом с помощью ESP8266 и IDE Arduino

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 1837 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Моргание светодиодом с помощью ESP8266 и IDE Arduino[1]

Эта статья рассказывает, как программировать ESP8266 напрямую при помощи IDE Arduino. Плата Arduino нам не понадобится, только модуль с ESP8266.

Программировать ESP8266 можно разными способами, к примеру, ее родным кодом или при помощи NodeMCU. Но есть и более удобный способ – среда разработки IDE Arduino.

Правда, сначала в IDE Arduino нужно установить специальный аддон, позволяющий программировать на ESP8266. О том, как это сделать, читайте тут.

Необходимые компоненты

Программирование

Сначала загрузите аддон для ESP8266. Его последнюю версию можно найти на GitHub. Ссылку на руководство по ее установке смотрите выше.

Установив аддон для ESP8266, запустите IDE Arduino. Подключите модуль ESP8266 к компьютеру. Подключение осуществляется также, как и при обновлении прошивки ESP8266. Кроме того, для программирования понадобится конвертер USB/TTL с чипом FT232RL от FTDI. Настройте его на 3,3 вольта.

Внимание: Некоторые версии конвертеров USB/TTL FT232RL не способны обеспечить ESP8266 достаточным напряжением. В этом случае ESP8266 нужно питать только от внешнего источника питания.

Esp8266-reflash-firmware.jpg

Теперь нам нужно поменять некоторые настройки в IDE Arduino. Сначала выберите правильный COM-порт в меню Инструменты > Порт (Tools > Port), а потом выберите программатор в меню Инструменты > Программатор > esptool (Tools > Programmer > esptool).

ESP8266 and Arduino IDE - blink example 1.png

Затем выберите плату, кликнув на Инструменты > Плата > Generic ESP8266 Board (Tools > Board > Generic ESP8266 Board).

ESP8266 and Arduino IDE - blink example 2.png

Теперь можно загружать программу. Это стандартный скетч для Arduino, суть которого в простом мигании светодиодом. Поскольку вместо Arduino используется ESP8266, в скетче нужно будет поменять номер контакта: вместо 13-го контакта нужно указать 2-ой (это 2-ой GPIO-контакт на ESP8266).

В модифицированном виде программа будет выглядеть следующим образом (ее также можно загрузить с GitHub):

  1. /*
  2.   Моргание
  3.  
  4.   Включает светодиод и держит его в таком состоянии 1 секунду,
  5.   затем выключает светодиод и держит его в таком состоянии 1 секунду,
  6.   затем повторяет эти действия заново.
  7.  
  8.   У большинства Arduino есть встроенный светодиод. На Uno и Leonardo
  9.   он подключен к 13-ому контакту. Если вы не уверены, есть ли
  10.   на вашей модели Arduino встроенный светодиод, сверьтесь
  11.   с документацией на сайте http://arduino.cc
  12.  
  13.   Скетч не защищен авторскими правами.
  14.  
  15.   Модифицирован 8 мая 2014 года
  16.   Скоттом Фитцдеральдом (Scott Fitzgerald)
  17.  */
  18.  
  19.  
  20. // блок setup() запускается, когда вы нажимаете на кнопку сброса
  21. // или подключаете плату к питанию:
  22. void setup() {
  23.   // выставляем 13-ый цифровой контакт в режим вывода данных:
  24.   pinMode(2, OUTPUT);
  25. }
  26.  
  27. // блок loop() будет работать снова и снова:
  28. void loop() {
  29.   digitalWrite(2, HIGH);   // включаем светодиод
  30.                            // (т.е. подаем значение HIGH)
  31.   delay(1000);             // ждем секунду
  32.   digitalWrite(2, LOW);    // выключаем светодиод
  33.                            // (т.е. подаем значение LOW)
  34.   delay(1000);             // ждем секунду
  35. }

Отредактировав программу, просто нажмите на кнопку «Загрузка» («Upload») в IDE Arduino. Если все настроено правильно, скетч скомпилируется и будет отправлен на ESP8266.

Закончив программировать, отключите контакт GPIO0 от GND.

Схема

Подключите к контакту GPIO2 на ESP8266 светодиод и резистор на 1 кОм. Также подключите контакт CH_PD (на ESP8266) к питающему контакту (на картинке ниже это подключение не показано).

ESP8266 and Arduino IDE - blink example 3.png

См.также

Внешние ссылки

  1. iot-playground.com - ESP8266 and Arduino IDE - blink example