Адресные светодиоды
В одном из предыдущих уроков мы уже познакомились с обычным светодиодом и с его более комплексной версией — RGB светодиодом. Зажигать и гасить светодиод можно и безо всякого контроллера, подавая на него ток от обычной пальчиковой батарейки. Однако, чтобы управлять сразу группой светодиодов, да ещё и не просто включать/выключать, а менять их яркость, потребуется немного больше знаний и навыков.
Взять, к примеру, ту же светодиодную матрицу 8×8. Чтобы вывести на нее изображение, понадобится освоить принципы динамической индикации и разобраться со сдвиговыми регистрами. Отчасти проблему решают специализированные микросхемы, типа MAX7219 или HOLTEC16K33, но у них тоже есть свои ограничения. У нас, кстати, есть уроки на эту тему: матрица на max7219 и матрица 8×8 ROC.
Всё ещё более усложняется, когда нам нужно управлять не просто множеством светодиодов, но еще и разными цветами и с разной интенсивностью свечения. Это бывает необходимо, когда из светодиодов строится огромный уличный дисплей. Тут в дело идёт тяжелая артиллерия: мощные системы на основе STM32 старших серий либо контроллеры на основе ПЛИС.
К счастью, есть более простое и дешевое решение, которое позволяет DIY-энтузиасту без глубоких знаний в программировании управлять RGB светодиодами, причём адресно и с возможностью менять яркость каждого светодиода в сборке. Светодиоды, а точнее, светодиодные модули, которые позволяют всё это делать называются адресными. Самый популярный на данный момент представитель этих «умных» RGB модулей называется WS2812b.
На этом уроке мы разберём как устроен WS2812b, подключим к Arduino Uno линейку из 8 адресных светодиодов и попробуем реализовать различные забавные алгоритмы. То же самое проделаем в среде Circuitpython, с помощью платы Графит.
Список необходимых компонентов
Для выполнения примеров из данного урока, кроме светодиодного линейки светодиодов, потребуется отладочная плата Arduino или аналогичная, беспаечная макетная плата, немного проводов вилка-вилка, а также обычный выводной резистор и фоторезистор.
Для работы с CircuitPython понадобится контроллер с данной прошивкой: Графит-S2, Графит-S3. Другие платы, например: Raspberry-Pico или Графит-RP2040.
Если вам не хватает чего-то из этого списка, можно добавить эти компоненты в корзину прямо здесь и затем оформить заказ в нашем интернет-магазине.