Найти тему

Подключение RGB-светодиода к Arduino

Оглавление

Всем привет! Сегодня я покажу вам как подключить RGB-светодиод к Arduino.

Для этого понадобятся:

1. Любая плата Arduino(я буду использовать Uno) с USB-кабелем

2. Компьютер с установленной Arduino IDE и драйверами для плат

3. RGB-светодиод и три резистора на 220Ом

4. Соединительные провода типа папа-папа 4 штуки

Что такое RGB-светодиод

RGB-светодиод представляет собой три светодиода красного, зелёного и синего цветов в одном корпусе. Само название RGB расшифровывается как "Red Green Blue" - "Красный Зелёный Синий". Благодаря этим трём цветам он может гореть сразу 7 цветами. А если изменять яркость светодиодов можно добиться огромного количества оттенков. Давайте же рассмотрим подключение такого светодиода к Arduino.

RGB-светодиод
RGB-светодиод

Подключение RGB-светодиода к Arduino и скетч

Сам светодиод имеет четыре ноги. Самая длинная - контакт Gnd. Её подключаем к Gnd платы Arduino. При таком расположении светодиода, как на картинке выше, нога, которая справа от минуса - это красный цвет. Самая левая нога - синий, после синего - зелёный. Также определить какой контакт какой цвет обозначает можно с помощью скетча, который представлен ниже. Просто подключаем самую длинную ногу к Gnd платы, затем берём провод, подключенный к Pin2 платы, и через резистор на 220Ом подключаем его по очереди к трём остальным ногам.

int Pin_Led = 2;

void setup() {

pinMode(Pin_Led, OUTPUT);

}

void loop() {

digitalWrite(Pin_Led, HIGH);

delay(1000000);

}

И так, итоговая схема подключения:

Схема подключения RGB-светодиода к Arduino
Схема подключения RGB-светодиода к Arduino

Gnd(RGB-светодиод) - Gnd(плата Arduino)

Красный(RGB-светодиод) через резистор на 220Ом - Pin2(плата Arduino)

Синий(RGB-светодиод) через резистор на 220Ом - Pin3(плата Arduino)

Зелёный(RGB-светодиод) через резистор на 220Ом - Pin4(плата Arduino)

Теперь напишем скетч, где RGB-светодиод горит 1 секунду по очереди каждым из трёх цветов.

int Red = 2; //пин красного светодиода

int Blue = 3; //пин синего светодиода

int Green = 4; //пин зелёного светодиода

void setup() {

pinMode(Red, OUTPUT); //переводим пин красного светодиода в режим //вывода

pinMode(Blue, OUTPUT); //переводим пин синего светодиода в режим //вывода

pinMode(Green, OUTPUT); //переводим пин зелёного светодиода в режим //вывода

}

void loop() {

//зажигаем красный цвет

digitalWrite(Red, HIGH);

delay(1000);

digitalWrite(Red, LOW);

//зажигаем синий цвет

digitalWrite(Blue, HIGH);

delay(1000);

digitalWrite(Blue, LOW);

//зажигаем зелёный цвет

digitalWrite(Green, HIGH);

delay(1000);

digitalWrite(Green, LOW);

}

Теперь наш RGB-светодиод может гореть тремя цветами. Как же сделать чтобы он горел семью цветами? Нужно вспомнить про смешивание цветов. Схема смешивания цветов в RGB представлена ниже.

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

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

int Red = 2; //пин красного светодиода

int Blue = 3; //пин синего светодиода

int Green = 4; //пин зелёного светодиода

void setup() {

pinMode(Red, OUTPUT); //переводим пин красного светодиода в режим //вывода

pinMode(Blue, OUTPUT); //переводим пин синего светодиода в режим //вывода

pinMode(Green, OUTPUT); /переводим пин зелёного светодиода в режим //вывода

}

void loop() {

//зажигаем красный цвет

digitalWrite(Red, HIGH);

delay(1000);

digitalWrite(Red, LOW);

//зажигаем синий цвет

digitalWrite(Blue, HIGH);

delay(1000);

digitalWrite(Blue, LOW);

//зажигаем зелёный цвет

digitalWrite(Green, HIGH);

delay(1000);

digitalWrite(Green, LOW);

//зажигаем жёлтый цвет

digitalWrite(Red, HIGH);

digitalWrite(Green, HIGH);

delay(1000);

digitalWrite(Red, LOW);

digitalWrite(Green, LOW);

//зажигаем фиолетовый цвет

digitalWrite(Red, HIGH);

digitalWrite(Blue, HIGH);

delay(1000);

digitalWrite(Red, LOW);

digitalWrite(Blue, LOW);

//зажигаем голубой цвет

digitalWrite(Green, HIGH);

digitalWrite(Blue, HIGH);

delay(1000);

digitalWrite(Green, LOW);

digitalWrite(Blue, LOW);

//зажигаем белый цвет

digitalWrite(Red, HIGH);

digitalWrite(Blue, HIGH);

digitalWrite(Green, HIGH);

delay(1000);

digitalWrite(Red, LOW);

digitalWrite(Blue, LOW);

digitalWrite(Green, LOW);

}

Теперь RGB-светодиод горит семью цветами. На этот раз всё, всем спасибо за внимание!