RGB светодиод

Ардуино: трехцветный светодиод — RGB

На предыдущем уроке мы уже попробовали зажигать и гасить с помощью Ардуино обычный светодиод. Теперь же разберемся с многоцветным светодиодом, который часто называют сокращенно: RGB-светодиод.

RGB — это аббревиатура, которая расшифровывается как: Red — красный, Green — зеленый, Blue — синий. То есть внутри этого устройства размещается сразу три отдельных светодиода. В зависимости от типа, RGB-светодиод может иметь общий катод или общий анод.

Смешение цветов

Чем RGB-светодиод, лучше трех обычных? Всё дело в свойстве нашего зрения смешивать свет от разных источников, размещенных близко друг к другу. Например, если мы поставим рядом синий и красный светодиоды, то на расстоянии несколько метров их свечение сольется, и глаз увидит одну фиолетовую точку. А если добавим еще и зеленый, то точка покажется нам белой. Именно так работают мониторы компьютеров, телевизоры и уличные экраны.

Матрица телевизора состоит из отдельно стоящих точек разных цветов. Если взять лупу и посмотреть через нее на включенный монитор, то эти точки можно легко увидеть. А вот на уличном экране точки размещаются не очень плотно, так что их можно различить невооруженным глазом. Но с расстояния несколько десятков метров эти точки неразличимы.

Получается, что чем плотнее друг к другу стоят разноцветные точки, тем меньшее расстояние требуется глазу чтобы смешивать эти цвета. Отсюда вывод: в отличие от трех отдельностоящих светодиодов, смешение цветов RGB-светодиода заметно уже на расстоянии 30-70 см. Кстати, еще лучше себя показывает RGB-светодиод с матовой линзой.

3+

Изменено:

Ардуино: трехцветный светодиод — RGB: 8 комментариев

  1. Не знаю, как на предыдущих версиях Arduino IDE, но на моей (1.8.5) скетч плавного изменения яркости не заработал — отладчик дюже ругался на (переменную?) dim. Немного пошукав по сети, добавил сразу после строчки [const byte rgbPins[3] = {6,5,3}; (изменил порядок под свою раскладку цветов)] такую строчку: [int dim = 1;] — всё заработало! Здесь число dim меняет шаг
    дискретности уровня свечения. Чем меньше число, тем меньше шаг и
    плавнее изменение яркости.

    3+
  2. Довольно прикольно. Интересно, а на этот RGB светодиод на каждый выход(цвет) добавить три потенциометра и через них регулировать свечение цвета и яркость?

    1+
    • Разумеется можно. Три потенциометра подключаются к трем аналоговым входам контроллера. Программа берет с них значения, и пропорционально передает их на три контакта RGB светодиода.

      0
  3. скетч рабочий и компактный .Я применил задержку — 50,так мне кажется лучше. Уно- китайская.

    0
  4. убрал переменную dim , работает так же вот код : const byte rgbPins[3] = {3,5,6};

    void setup() {
    for(byte i=0; i=0; i—){
    analogWrite( rgbPins[0], i );
    analogWrite( rgbPins[1], (255-i) );
    delay(10);
    }
    // гасим зеленый, параллельно разжигаем синий
    for(int i=255; i>=0; i—){
    analogWrite( rgbPins[1], i );
    analogWrite( rgbPins[2], (255-i));
    delay(10);
    }
    // гасим синий, параллельно разжигаем красный
    for(int i=255; i>=0; i—){
    analogWrite( rgbPins[2], i);
    analogWrite( rgbPins[0], (255-i) );
    delay(10);
    }

    0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.