На плате расположен адресный RGB светодиод.
Помигать таким светодиодом, используя стандартный Ардуиновский блинк из примеров разумеется не выйдет.
Цвета устанавливаются одной ногой DIN, нога DOUT нужна если мы собираемся подключить несколько светодиодов гирляндой - фактически это кусок обычной адресной светодиодной ленты состоящий из одного светодиода. Каждый цвет имеет 255 градаций - таким образом можно мигать 255*255*255 = 16'581'375 вариантами цвета.
У меня не оригинальная плата ESP32-S3-DevKitC-1/ESP32-S3-WROOM-1-N8R8 от Espressif Systems (стоит она очень даже недешево)
а её недорогой аналог из Китая. /Китай копирует даже Китайские разработки/
ESP32-S3-DevKitC-1/ESP32-S3-WROOM-1-N16R8
Стоит такая платка в 4 раза дешевле. На обратной стороне платы есть надпись.
YD-ESP32-23 2022-V1.3
По качеству пока ничего сказать не могу - так как только еще начинаю работать с этой платформой. В отличии от оригинальной платы, где светодиод уже привязан к GPIO48 - на "реплике" необходимо капнуть капельку припоя на перемычку RGB.
Перемычка соединит GPIO48 с входом DIN светодиода. Данная опция удобна - если встроенный светодиод в проекте не нужен, оставляем все как есть и смело используем данную ногу в своих целях.
Перед началом работы необходимо установить поддержку плат ESP32 в среде Arduino IDE. Как это сделать можно прочитать тут:
Прошивать плату ESP32-S3-DevKitC-1 будем старинным дедовским способом через встроенный переходник USB-UART на микросхеме CH343(правый разъем)
После подключения платы к ПК в Windows появился виртуальный COM порт с номером 15 (у Вас может быть и другой номер)
Запускаем среду разработки Arduino IDE. В настройках выбора платы ищем "esp32s3 dev module" и выбираем COM порт:
Работа с адресными светодиодами в среде Arduino IDE из коробки не поддерживается. Для работы подойдет любая библиотека умеющая работать с адресными светодиодными лентами например - Adafruit NeoPixel
Её можно установить и непосредственно из среды Arduino IDE.
Осталось написать код программы. Данный светодиод на полной яркости сильно бьет по глазам - поэтому максимальную яркость лучше ограничить.
Библиотека отправляет 3 байта информации в которых закодированы яркость каждого из светодиодов.
Схему из предыдущей статьи придется исправить, есть платы где питание светодиода подается именно с отдельного GPIO - в этой плате адресный светодиод подключен к источнику питания постоянно - есть только GPIO управления.
А зачем может потребоваться адресный светодиод на самой плате? Это удобный способ откладки кода и проверки железа, когда нет возможности организовать удобный вывод через порт компьютера.
Например свою самодельную подводную лодку я ходил тестировать в бассейн.
Для определения дифферента использовался IMU-сенсор на 10 степеней свободы:
а поскольку в момент теста модель находилась в прямой видимости, встроенный в плату Arduino светодиод гас в тот момент когда дифферент выходил за пределы нормы - показывая работу сенсора. Паять отдельный светодиод смысла не было - пульт бьет почти на 1км, и в условиях реальной эксплуатации его все равно не разглядеть, а для тестов самое оно - не тащить же с собой в бассейн ноутбук.
В следующей статье погоняем из среды Arduino IDE интерфейс SPI, подключив какой-нибудь большой цветной дисплей.
Оглавление канала доступно тут
Всем удачи!