Смешивание цветов RGB-светодиода на ESP32
Один крошечный пластиковый купол. Шестнадцать миллионов цветов. На этом уроке вы заставите один RGB-светодиод светиться красным, зелёным, синим, тёплым оранжевым, электрическим голубым, ярким пурпурным и чистым белым — а затем плавно перетекать из одного цвета в другой, и всё это под управлением вашего ESP32.
Секрет в том, что RGB-светодиод на самом деле — это три отдельных светодиода (красный, зелёный, синий), собранные в одном корпусе. Если вы умеете управлять яркостью каждого из трёх, вы можете смешать их почти в любой цвет, который различает ваш глаз. Встроенная в ESP32 система ШИМ LEDC даёт нам именно такое управление яркостью — сразу на трёх выводах. Давайте разберём это шаг за шагом.
Чему вы научитесь
- Объяснять, что такое RGB-светодиод и как аддитивное смешивание цветов создаёт новые цвета из красного, зелёного и синего света.
- Отличать RGB-светодиод с общим катодом от светодиода с общим анодом и понимать, почему логика кода между ними меняется на противоположную.
- Управлять всеми тремя цветовыми каналами с помощью системы ШИМ LEDC ESP32, используя значения скважности от 0 до 255.
- Рассчитывать правильный резистор для каждого цветового канала по его прямому напряжению при логике 3,3 В.
- Получать именованные цвета (жёлтый, голубой, пурпурный, оранжевый, белый) из троек RGB-значений и писать цикл плавного перехода цвета.
- Диагностировать три классические проблемы: неправильный общий вывод, перепутанные каналы и слишком тусклые цвета.
1. Что же такое RGB-светодиод?
Обычный светодиод (LED, светоизлучающий диод) — это крошечный электронный компонент, который испускает свет, когда через него в правильном направлении течёт ток. У него только один цвет.