Подключение трехцветного светодиода к Arduino Uno

В этой статье мы будем подключать трехцветный (красный/зеленый/синий) светодиод (RGB LED) к плате Arduino Uno.

Подключение трехцветного светодиода к Arduino Uno: внешний вид конструкции

Принципы работы трехцветного светодиода

Внешний вид трехцветного светодиода показан на следующем рисунке:

Внешний вид трехцветного светодиода

Трехцветный светодиод имеет 4 контакта как показано на рисунке ниже:

  • контакт 1: цвет 1 отрицательный вывод при общем аноде или цвет 1 положительный вывод при общем катоде;
  • контакт 2: общий положительный вывод для всех трех цветов при общем аноде или общий отрицательный вывод для всех трех цветов при общем катоде;
  • контакт 3: цвет 2 отрицательный вывод или цвет 2 положительный вывод;
  • контакт 4: цвет 3 отрицательный вывод или цвет 3 положительный вывод.

Контакты трехцветного светодиода

Таким образом, есть 2 типа трехцветных светодиодов – с общим катодом (ОК) и с общим анодом (ОА). При общем катоде (общий отрицательный вывод) мы имеем три положительных вывода, где каждый вывод отвечает за свой цвет, и один общий отрицательный вывод. Внутренняя схема подключений трехцветного светодиода с общим катодом показана на следующем рисунке:

Внутренняя схема подключений трехцветного светодиода с общим катодом

В таком светодиоде (с ОК) если мы хотим зажечь красный цвет мы должны подать питание на контакт, отвечающий за красный цвет, и подать землю на общий отрицательный вывод. Аналогично и для других цветов.

При общем аноде (общий положительный вывод) мы имеем три отрицательных вывода, где каждый вывод отвечает за свой цвет, и один общий положительный вывод. Внутренняя схема подключений трехцветного светодиода с общим анодом показана на следующем рисунке:

Внутренняя схема подключений трехцветного светодиода с общим анодом

В таком светодиоде (с ОА) если мы хотим зажечь красный цвет мы должны подать землю на контакт, отвечающий за красный цвет, и подать питание на общий положительный вывод. Аналогично и для других цветов.

В нашей схеме мы будем использовать трехцветный светодиод с общим анодом (ОА). Если вам будет необходимо подсоединить больше подобных светодиодов к плате Arduino Uno, к примеру 5, то вам будет нужно 5×4= 20 контактов, но можно уменьшить количество контактов в этом случае до 8 если мы соединим трехцветные светодиоды параллельно и будем использовать технологию мультиплексирования.

Необходимые компоненты

Плата Arduino UNO
Трехцветный светодиод с общим анодом (ОА)
Резистор 1 кОм

Работа схемы

Схема устройства представлена на следующем рисунке.

Схема подключения трехцветного светодиода к Arduino Uno

На представленной схеме мы подсоединили общий отрицательный вывод трехцветного светодиода к выводу питания платы Arduino при помощи резистора 1 кОм.

Отрицательные выводы (1, 3, 4) трехцветного светодиода подсоединены к контактам 2, 3 и 4 Arduino. Здесь трехцветный светодиод подсоединен в обратной логике, то есть если мы подадим на отрицательные выводы светодиода высокий уровень, то он выключится. То есть чтобы светодиод оставался в выключенном состоянии необходимо поддерживать на его отрицательных выводах высокий уровень. А если мы подадим на них низкий уровень, то светодиод зажгется.

То есть мы имеем, что контакт 2 светодиода – это его общий анод, а контакты 1, 3 и 4 – отрицательные выводы для красного, синего и зеленого цветов соответственно.

В представленном далее коде программы вы можете увидеть как мы последовательно мигаем всеми тремя цветами в трехцветном светодиоде последовательно подавая на соответствующие отрицательные выводы светодиода высокий и низкий уровень.

Исходный код программы

Код программы достаточно простой, поэтому комментариев к нему нет. Но если у кого возникнут какие либо вопросы по тексту данной программы, то вы можете задать их в комментариях к данной статье.

void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
digitalWrite(2, LOW);
delay(500);

digitalWrite(2, HIGH);
delay(500);

digitalWrite(3, LOW);
delay(500);

digitalWrite(3, HIGH);
delay(500);
digitalWrite(4, LOW);
delay(500);

digitalWrite(4, HIGH);
delay(500);
}

Видео, демонстрирующее работу схемы

(1 голосов, оценка: 5,00 из 5)
Загрузка...
11 просмотров


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

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