Поэкспериментируем с полноцветным светодиодом. На самом деле это сразу три светодиода в одном корпусе. Внутри находится красный, синий и зеленый светодиоды. Они соединены между собой по специальной схеме.
Рисунок 1. Внутренняя схема RGB светодиода
Как видно из схемы, аноды трех светодиодов соединены, а катоды нет. Поэтому у полноцветного светодиода 4 вывода — общий анод и три катода (бывают светодиоды, у которых, наоборот, общий катод).
Если внутри корпуса находятся красный, синий и зеленый светодиоды, то как же получаются другие цвета? Ведь полноцветный светодиод может светиться практически любым цветом. Все дело в восприятии цвета человеческим глазом. Оказывается, цвета могут смешиваться. Например, если одновременно горит красный и зеленый, то мы видим это как желтый, а красный и синий вместе дают фиолетовый.
Рисунок 2. Цветовая модель RGB
Именно так устроен монитор компьютера или дисплей твоего смартфона. Каждая точка на экране (пиксель) это на самом деле три точки (субпиксели) — красная, синяя и зеленая. Каждая из них светится с разной интенсивностью, и так получаются миллионы цветов. Когда все три субпикселя светятся на полную яркость, получается белый цвет, а когда все три погашены — мы видим черный.
Такая модель кодирования цвета называется аддитивная цветовая модель RGB (аббревиатура от английского Red, Green, Blue — Красный, Зеленый, Синий).
Кроме аддитивной существуют другие, например субтрактивная схема формирования цвета, используемая прежде всего в полиграфии для стандартной триадной печати. Она использует голубой, пурпурный и жёлтый цвета в роли основных, а также чёрный цвет. Схема CMYK обладает сравнительно с RGB меньшим цветовым охватом. Печать четырьмя красками, соответствующими CMYK, также называют печатью триадными красками.
Для того, чтобы не перепутать выводы RGB светодиода они выполнены с различной длиной.
Рисунок 3. Цоколевка RGB светодиода
Рисунок 4. Электрическая принципиальная схема эксперимента
Токоограничительные резисторы в схеме обязательны!
#define LED_PIN_B 15 #define LED_PIN_G 14 #define LED_PIN_R 13 void setup() { analogWriteFreq(500); analogWriteRange(1024); } void loop() { }
В программе мы настроили три светодиода — красного, синего и зеленого цвета. Задали для всех частоту ШИМ 500 Герц и каждому цвету установили свою яркость. В итоге получили один суммарный цвет светодиода.
Подбери значения яркости трех цветов, чтобы получить розовый, фиолетовый и бирюзовый цвета.