Смешивание цветов RGB-светодиода на Pico
До сих пор каждый ваш светодиод светил одним постоянным цветом — красный всегда красный, зелёный всегда зелёный. Но существует чудесный маленький компонент под названием RGB-светодиод, который может светиться любым цветом, какой только можно себе представить: тёплым оранжевым, небесно-голубым, ярко-пурпурным, чисто белым или медленной радугой, плавно переходящей через все оттенки. И всё это делается с помощью всего одного корпуса светодиода и трёх выводов вашего Pico.
Секрет в том, что RGB-светодиод — это на самом деле три крошечных светодиода в одном корпусе: красный, зелёный и синий. Используя приём затемнения с помощью PWM, который вы уже изучили, вы задаёте каждому из этих трёх светодиодов разную яркость, и, позволяя их свету смешиваться, можете получить миллионы цветов. Именно так экран, с которого вы это читаете, создаёт каждый цвет, который показывает. На этом уроке вы подключите RGB-светодиод, напишете удобную вспомогательную функцию set_color(r, g, b) и будете смешивать названные цвета, радугу и случайные вспышки.
Чему вы научитесь
- Что на самом деле находится внутри RGB-светодиода и почему у него четыре ножки.
- В чём разница между RGB-светодиодом с общим катодом и с общим анодом — и об инвертированной логике, в ловушку которой попадает каждый.
- Как управлять тремя цветами с помощью трёх каналов PWM, по одному на вывод.
- Как построить вспомогательную функцию
set_color(r, g, b), которая переводит привычный диапазон 0–255 в значенияduty_u16()для Pico. - Аддитивное смешивание цветов: рецепты жёлтого, голубого, пурпурного, белого и оранжевого.
- Как сделать плавное радужное затухание с помощью циклов и как выводить случайные цвета.
- Почему каждому цвету нужен свой резистор и почему красный ведёт себя иначе, чем зелёный и синий.
- Как устранять перепутанные выводы, блёклые бледные цвета и ошибки монтажа.