ESP8266:Примеры/Мигание светодиодом: различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 2: | Строка 2: | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Мигание светодиодом= | =Мигание светодиодом= | ||
Строка 41: | Строка 39: | ||
[[File:arduino_ide_esp8266_node_mcu_tools_board_settings_1.PNG|center]] | [[File:arduino_ide_esp8266_node_mcu_tools_board_settings_1.PNG|center]] | ||
{{Блок/Инфо4 | |||
|1=Важно | |||
|2=Ваш [[COM-порт]] будет называться, скорее всего, не '''«COM11»''' (как на скриншоте выше), а как-то по-другому. И это нормально – так он не будет мешать никаким другим процессам. Но все остальные настройки должны быть как на скриншоте выше. | |||
}} | |||
Проверив настройки, нажмите на кнопку '''«Загрузка» (Upload)''' в [[IDE Arduino]] | Проверив настройки, нажмите на кнопку '''«Загрузка» (Upload)''' в [[IDE Arduino]] | ||
Строка 65: | Строка 66: | ||
[[File:usb-uart-converter-ttl-ftdi-ft232rl-32.jpg|center]] | [[File:usb-uart-converter-ttl-ftdi-ft232rl-32.jpg|center]] | ||
{{Блок/Инфо4 | |||
|1=Важно | |||
|2=У большинства [[FTDI-программатор]]ов есть перемычка для преобразования 5 вольт в 3.3 вольта. Убедитесь, что у вашего программатора она стоит на 3.3 вольтах. | |||
}} | |||
Далее подключите [[ESP8266]] к [[FTDI-программатор]]у согласно схеме ниже, чтобы настроить последовательную коммуникацию между ними. | Далее подключите [[ESP8266]] к [[FTDI-программатор]]у согласно схеме ниже, чтобы настроить последовательную коммуникацию между ними. | ||
Строка 80: | Строка 84: | ||
* GND –> GND | * GND –> GND | ||
{{Примечание1 | |||
|1=На схеме выше контакт GPIO0 подключен к GND, т.к. наша задача – загрузить код. Когда мы загружаем на [[ESP8266]] новый скетч, это требует от [[ESP8266]] записать новую прошивку. При нормальном использовании (если нам не нужно записать на [[ESP8266]] новую прошивку) контакт GPIO0 должен быть подключен к VCC. | |||
}} | |||
Если вы купили новый [[FTDI-программатор]], и вам нужно установить на компьютер под управлением [[Windows]] [[FTDI-драйвер]]ы, то официальные драйверы можно найти, как правило, на [http://www.ftdichip.com/Drivers/VCP.htm этом сайте]. Или можно попросить их у продавца, у которого вы купили [[FTDI-программатор]]. | Если вы купили новый [[FTDI-программатор]], и вам нужно установить на компьютер под управлением [[Windows]] [[FTDI-драйвер]]ы, то официальные драйверы можно найти, как правило, на [http://www.ftdichip.com/Drivers/VCP.htm этом сайте]. Или можно попросить их у продавца, у которого вы купили [[FTDI-программатор]]. | ||
Строка 98: | Строка 104: | ||
[[File:arduino_ide_esp01_tools_board_settings_1.PNG|center]] | [[File:arduino_ide_esp01_tools_board_settings_1.PNG|center]] | ||
{{Блок/Инфо4 | |||
|1=Важно | |||
|2=В вашем случае, скорее всего, будет какой-то другой [[COM-порт]], а не тот, что на скриншоте выше ('''«COM8»'''). И это нормально, потому что мы не будем мешать другим процессам. Но все прочие настройки должны выглядеть как на скриншоте выше. | |||
}} | |||
Проверив настройки, нажмите на кнопку '''«Загрузка» (Upload)''' в [[IDE Arduino]] | Проверив настройки, нажмите на кнопку '''«Загрузка» (Upload)''' в [[IDE Arduino]] | ||
Строка 118: | Строка 127: | ||
==Код== | ==Код== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/********* | /********* | ||
Руи Сантос | Руи Сантос | ||
Строка 143: | Строка 152: | ||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/ESP8266}} | |||
[[Категория:ESP8266]] | [[Категория:ESP8266]] |
Текущая версия от 12:31, 18 июня 2023
Мигание светодиодом
В этом руководстве мы построим простую цепь, которая будет мигать светодиодом при помощи ESP8266-модуля, запрограммированного с помощью IDE Arduino.
Почему мы всегда вначале учимся мигать светодиодом? Хороший вопрос! Если вы умеете мигать светодиодом, то можно с уверенностью сказать, что вы также умеете включать/выключать любое электронное устройство, будь то светодиод, лампа или даже тостер.
Необходимые компоненты
- Модуль с ESP8266 (ESP-01, ESP-03, ESP-05, ESP-07 или ESP-12 и др.) - 1шт.;
- Конвертер USB/TTL на базе чипа FT232RL от FTDI - 1шт.;
- Резистор на 220 Ом - 1шт.;
- Светодиод - 1шт.;
Как работает этот скетч
- В начале создаем переменную типа «int» под названием «pin» и присваиваем ей значение «2» (оно означает контакт GPIO2);
- В блоке setup() при помощи функции pinMode(pin, OUTPUT) переключаем контакт GPIO2 в режим вывода данных (OUTPUT). Код в setup() проработает только один раз;
- Далее в блоке loop() мы поочередно два раза используем функции digitalWrite() и delay(). Код в loop() будет повторяться вновь и вновь, пока вы не выключите ESP8266;
- Затем включаем светодиод на 1 секунду (1000 миллисекунд) при помощи функций digitalWrite(pin, HIGH) и delay(1000);
- Теперь выключаем светодиод при помощи digitalWrite(pin, LOW) и ждем 1 секунду при помощи delay(1000);
- Программа будет повторять шаги 4 и 5, благодаря чему светодиод будет мигать периодичностью в 1 секунду .
Загружаем код на ESP8266
В двух следующих разделах мы объясним, как загружать код на модуль ESP-12E, оснащенный встроенным программатором (см. раздел «Вариант А» ниже) и как загружать код на модули ESP-01 или ESP-07, которым необходим внешний FTDI-программатор (см. раздел «Вариант Б» ниже).
Вариант А – Загрузка кода на ESP-12E
Загрузка кода на ESP-12E NodeMCU Kit выполняется очень просто, т.к. эта плата оснащена встроенным программатором. Вам не придется делать никаких лишних соединений – достаточно лишь подключить плату к ПК.
Кликните в IDE Arduino на «Инструменты» > «Плата» (Tools > Board) и выберите плату NodeMCU 1.0 (ESP-12E Module). Все ее настройки по умолчанию должны выглядеть вот так:
Проверив настройки, нажмите на кнопку «Загрузка» (Upload) в IDE Arduino
и подождите несколько секунд, пока не увидите сообщение «Загрузка завершена» (Done uploading) в нижнем левом углу программы.
Как должна выглядеть цепь
Подключите к контакту D4 (GPIO2) ESP8266-модуля светодиод и резистор на 220 Ом.
Перезапустите ESP8266. Все готово, поздравляем! Светодиод должен начать мигать раз в секунду!
Вариант Б – Загрузка кода на ESP-01
Для загрузки кода на ESP-01 между ESP8266 и FTDI-программатором должна быть установлена последовательная коммуникация.
Далее подключите ESP8266 к FTDI-программатору согласно схеме ниже, чтобы настроить последовательную коммуникацию между ними.
Их контакты должны быть подключены друг к другу следующим образом (слева – ESP8266, справа – FTDI-программатор):
- RX –> TX
- TX –> RX
- CH_PD –> 3.3V
- GPIO0 –> GND
- VCC –> 3.3V
- GND –> GND
Если вы купили новый FTDI-программатор, и вам нужно установить на компьютер под управлением Windows FTDI-драйверы, то официальные драйверы можно найти, как правило, на этом сайте. Или можно попросить их у продавца, у которого вы купили FTDI-программатор.
«Раскирпичивание» FTDI-программатора на Windows-компьютере
Если у вас возникли проблемы с установкой FTDI-драйверов на Windows 7/8/8.1/10, то ваш FTDI-программатор, скорее всего, «окирпичился». О том, как его «раскирпичить», смотрите здесь.
В видео по ссылке выше говорится, что вам нужно загрузить драйверы с сайта FTDI. Соответствующую ссылку можно найти в описании к видео (или просто кликнуть тут).
Подготовка IDE Arduino
Подключив к ПК связку из ESP8266 и FTDI-программатора, запустите IDE Arduino.
Кликните на «Инструменты» > «Плата» (Tools > Board) и выберите плату «Generic ESP8266 Module». По умолчанию все настройки для нее должны выглядеть примерно вот так:
Проверив настройки, нажмите на кнопку «Загрузка» (Upload) в IDE Arduino
и подождите несколько секунд, пока не увидите сообщение «Загрузка завершена» (Done uploading) в нижнем левом углу программы.
Как должна выглядеть цепь
Загрузив код в модуль, отключите его от компьютера. Затем подсоедините компоненты друг к другу как на схеме ниже.
Запитайте ESP8266 от 3.3-вольтового источника питания. Все готово, поздравляем! Светодиод должен начать мигать раз в секунду.
Код
/*********
Руи Сантос
Более подробно о проекте на: http://randomnerdtutorials.com
*********/
int pin = 2;
void setup() {
// Переключаем контакт GPIO2 в режим вывода данных (OUTPUT):
pinMode(pin, OUTPUT);
}
// Код в блоке loop() будет повторяться вновь и вновь:
void loop() {
digitalWrite(pin, HIGH); // включаем светодиод
// («HIGH» - это уровень напряжения)
delay(1000); // ждем секунду
digitalWrite(pin, LOW); // выключаем светодиод,
// переключая напряжение на «LOW»
delay(1000); // ждем секунду
}
См.также
Внешние ссылки
ESP8266 AT-команды | |
---|---|
Список AT-команд | |
Базовые команды |
|
Команды для WiFi |
|
Команды для TCP/IP |
|