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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
(не показано 12 промежуточных версий 2 участников)
Строка 2: Строка 2:
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


=Моргание светодиодом с помощью ESP8266 и IDE Arduino<ref>[http://iot-playground.com/blog/2-uncategorised/38-esp8266-and-arduino-ide-blink-example iot-playground.com - ESP8266 and Arduino IDE - blink example]</ref>=
=Моргание светодиодом с помощью ESP8266 и IDE Arduino<ref>[http://iot-playground.com/blog/2-uncategorised/38-esp8266-and-arduino-ide-blink-example iot-playground.com - ESP8266 and Arduino IDE - blink example]</ref>=
Строка 15: Строка 13:
==Необходимые компоненты==
==Необходимые компоненты==


* Модуль с [[ESP8266]] ([[ESP-01]], [[ESP-03]], [[ESP-05]], [[ESP-07]] или [[ESP-12]]) - 1шт.;
* Модуль с [[ESP8266]] ([[ESP-01]]{{Admitad|Товар=ESP-01}}, [[ESP-03]]{{Admitad|Товар=ESP-03}}, [[ESP-05]]{{Admitad|Товар=ESP-05}}, [[ESP-07]]{{Admitad|Товар=ESP-07}} или [[ESP-12]]{{Admitad|Товар=ESP-12}}) - 1шт.;
* Конвертер [[USB/TTL]] на базе чипа [[FT232RL]] от [[FTDI]] - 1шт.;
* Конвертер [[USB/TTL]] на базе чипа [[FT232RL]] от [[FTDI]]{{Admitad|Товар=Конвертер USB/TTL на базе чипа FT232RL}} - 1шт.;
* [[Резистор]]{{Admitad|Товар=Резистор}} на [[1 кОм]] - 1шт.;
* [[Резистор]]{{Admitad|Товар=Резистор}} на [[1 кОм]]{{Admitad|Товар=1кОм/0,25Вт}} - 1шт.;
* [[Светодиод]]{{Admitad|Товар=Светодиод/3мм}} - 1шт.;
* [[Светодиод]]{{Admitad|Товар=Светодиод/3мм}} - 1шт.;


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


'''Внимание:''' Некоторые версии конвертеров [[USB/TTL FT232RL]] не способны обеспечить [[ESP8266]] достаточным напряжением. В этом случае [[ESP8266]] нужно питать только от внешнего источника питания.
{{Блок/Инфо4
|1=Внимание!
|2=Некоторые версии конвертеров [[USB/TTL FT232RL]] не способны обеспечить [[ESP8266]] достаточным напряжением. В этом случае [[ESP8266]] нужно питать только от внешнего источника питания.
}}


[[File:esp8266-reflash-firmware.jpg|center]]
[[File:esp8266-reflash-firmware.jpg|center]]
Строка 38: Строка 39:
[[File:ESP8266 and Arduino IDE - blink example_2.png|center]]
[[File:ESP8266 and Arduino IDE - blink example_2.png|center]]


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


В модифицированном виде программа будет выглядеть следующим образом (ее также можно загрузить с [https://github.com/iot-playground/Arduino/blob/master/ESP8266ArduinoIDE/Blink/Blink.ino GitHub]):
В модифицированном виде программа будет выглядеть следующим образом (ее также можно загрузить с [https://github.com/iot-playground/Arduino/blob/master/ESP8266ArduinoIDE/Blink/Blink.ino GitHub]):


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
/*
/*
   Моргание
   Моргание
Строка 82: Строка 83:
Отредактировав программу, просто нажмите на кнопку '''«Загрузка» («Upload»)''' в [[IDE Arduino]]. Если все настроено правильно, скетч скомпилируется и будет отправлен на [[ESP8266]].  
Отредактировав программу, просто нажмите на кнопку '''«Загрузка» («Upload»)''' в [[IDE Arduino]]. Если все настроено правильно, скетч скомпилируется и будет отправлен на [[ESP8266]].  


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


== Схема ==
== Схема ==


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


[[File:ESP8266 and Arduino IDE - blink example_3.png|center]]
[[File:ESP8266 and Arduino IDE - blink example_3.png|center]]
Строка 95: Строка 96:


<references />
<references />
{{Навигационная таблица/Портал/ESP8266}}


[[Категория:ESP8266]]
[[Категория:ESP8266]]

Текущая версия от 22:21, 15 июля 2023

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


Моргание светодиодом с помощью 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 нужно питать только от внешнего источника питания.

Теперь нам нужно поменять некоторые настройки в 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) к питающему контакту (на картинке ниже это подключение не показано).

См.также

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