139
правок
Строка 29: | Строка 29: | ||
Обращаю внимание на то, что не рекомендуется тестировать конфигурацию более чем на 5 светодиодах, такого количества будет достаточно, чтобы понять как выглядит световая картинка в том или ином алгоритме. Подключение большего количества светодиодов может привести к выгоранию USB-порта на компе, т.к. там обычно предельно допустимый ток 350мА, а один светодиод на такой ленте потребляет около 50мА. | Обращаю внимание на то, что не рекомендуется тестировать конфигурацию более чем на 5 светодиодах, такого количества будет достаточно, чтобы понять как выглядит световая картинка в том или ином алгоритме. Подключение большего количества светодиодов может привести к выгоранию USB-порта на компе, т.к. там обычно предельно допустимый ток 350мА, а один светодиод на такой ленте потребляет около 50мА. | ||
==Заливаем первую прошивку | ==Первый скетч== | ||
Заливаем первую прошивку. | |||
Подразумевается что на PC уже установлена среда разработки VSCode и расширение PlatformIO. Создадим новый проект. | Подразумевается что на PC уже установлена среда разработки VSCode и расширение PlatformIO. Создадим новый проект. | ||
[[Файл:Pio-create-prj.jpg]] | [[Файл:Pio-create-prj.jpg]] | ||
закодим src/main.cpp, чтобы понимать, что esp32 работает, сделаем код, который постоянно зажигает и тушит встроенный светодиод синего цвета. | |||
запускаем это дело в виде асинхронной функции. | |||
<syntaxhighlight lang="c++"> | |||
#include <Arduino.h> | |||
void ledON() { | |||
digitalWrite(LED_PIN, LOW); | |||
} | |||
void ledOFF() { | |||
digitalWrite(LED_PIN, HIGH); | |||
} | |||
void ledBlink( void * parameter ) { | |||
const TickType_t xDelay = 1000 / portTICK_PERIOD_MS; | |||
while(1) { | |||
ledON(); | |||
vTaskDelay(xDelay); | |||
ledOFF(); | |||
vTaskDelay(xDelay); | |||
} | |||
} | |||
void setup() { | |||
ledBlink(); | |||
} | |||
void loop(){} | |||
</syntaxhighlight> | |||
сейчас можно залить попробовать скомпилировать прошивку, для этого в нижней панели жмём кнопку [[Файл:Снимок экрана 2023-12-06 205145.jpg]] | |||
если всё собралось, только можно шить это дело в esp32: | |||
* подключаем esp32 к компу при помощи microUSB data кабеля | |||
* инициируем заливку прошивки при помощи кнопки [[Файл:Снимок экрана 2023-12-06 205336.jpg]], когда система напишет "Connecting..." - зажимаем кнопку Boot на dev-плате esp32 | |||
* если прошивка залилась успешно, перезагружаем esp32 соответствующей кнопкой, после этого у вас должен замигать синий светодиод на плате | |||
==Библиотека для работы с адресной лентой== | |||
Далее нам нужно подключить к проекту библиотеку для работы с лентой, они есть разные, я использовал FastLED | Далее нам нужно подключить к проекту библиотеку для работы с лентой, они есть разные, я использовал FastLED | ||
Строка 241: | Строка 286: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
прошиваемся, в случае успеха у вас должна заработать лента, алгоритм будет менять каждые 5 секунд, всего 12 алгоритмов | |||
Подробно останавливаться на коде прошивки мы не будем, в Интернете полно разных алгоритмов, их можно добавлять к нашей оснастке, переключать их реже или чаще, можно даже кнопку прикрутить под это дело на один из пинов, тут кому насколько фантазии хватит. | Подробно останавливаться на коде прошивки мы не будем, в Интернете полно разных алгоритмов, их можно добавлять к нашей оснастке, переключать их реже или чаще, можно даже кнопку прикрутить под это дело на один из пинов, тут кому насколько фантазии хватит. |
правок