В този проект ще свържем 5 RGB (червено зелено синьо) светодиода към Arduino Uno. Тези светодиоди са свързани паралелно за намаляване на използването на ПИН на Uno.
Типичен RGB светодиод е показан на фигурата по-долу:
RGB LED ще има четири щифта, както е показано на фигурата.
PIN1: Цвят 1 отрицателен извод или цвят 1 положителен извод
ПИН2: Общо положително за трите цвята или общо отрицателно за трите цвята
PIN3: Цвят 2 отрицателен извод или цвят 2 положителен извод
PIN4: Цвят 3 отрицателен извод или цвят 3 положителен извод
Така че има два вида RGB светодиоди, единият е общ катоден тип (често отрицателен), а другият е често срещан аноден тип (честотен положителен). В CC (Common Cathode или Common Negative) ще има три положителни терминала, всеки терминал представляващ цвят и един отрицателен терминал, представящ и трите цвята. Вътрешната схема на CC RGB LED може да бъде представена по-долу.
Ако искаме ЧЕРВЕНО да е включено по-горе, трябва да захранваме ЧЕРВЕНИЯ светодиоден щифт и да заземим общия отрицателен. Същото важи и за всички светодиоди. В CA (Common Anode или Common Positive) ще има три отрицателни терминала, всеки терминал представляващ цвят и един положителен терминал, представящ и трите цвята. Вътрешната верига на CA RGB LED може да бъде представена, както е показано на фигура..
Ако искаме ЧЕРВЕНО да е включено по-горе, трябва да заземим ЧЕРВЕНИЯ светодиоден щифт и да захраним общото положително. Същото важи и за всички светодиоди.
В нашата схема ще използваме тип CA (Common Anode или Common Positive). За свързване на 5 RGB светодиода към Arduino обикновено са ни необходими 5x4 = 20 ПИН кода, като ще намалим използването на ПИН до 8 чрез паралелно свързване на RGB светодиоди и чрез използване на техника, наречена мултиплексиране.
Компоненти
Хардуер: UNO, захранване (5v), 1KΩ резистор (3 броя), RGB (червено зелено синьо) LED (5 броя)
Софтуер: Atmel studio 6.2 или Aurdino всяка вечер.
Схема и работно обяснение
Свързването на веригата за RGB LED Arduino взаимодействие е показано на фигурата по-долу.
Сега за сложната част, кажете, че искаме да включим ЧЕРВЕНИЯ светодиод в SET1 и ЗЕЛЕНИЯ LED в SET2. Ние захранваме PIN8 и PIN9 на UNO и заземяваме PIN7, PIN6.
С този поток ще имаме ЧЕРВЕН в първия SET и ЗЕЛЕН във втория SET ON, но ще имаме ЗЕЛЕН в SET1 и ЧЕРВЕН в SET2 ON с него. По проста аналогия можем да видим, че и четирите светодиода затварят веригата с горепосочената конфигурация и така всички те светят.
Така че, за да премахнем този проблем, ще включваме само по един SET в даден момент. Кажете при t = 0m SEC, SET1 е настроен на ON. При t = 1m SEC, SET1 се настройва OFF и SET2 се включва. Отново при t = 6m SEC, SET5 се изключва и SET1 се включва. Това продължава.
Тук е трикът, човешкото око не може да улови честота повече от 30 HZ. Това е, ако светодиодът се включва и изключва непрекъснато със скорост 30 HZ или повече. Окото вижда светодиода като постоянно включен. Това обаче не е така. Светодиодът постоянно ще се включва и изключва. Тази техника се нарича мултиплексиране.
Просто казано, ще захранваме всеки общ катод от 5 SETs 1 милили секунда, така че след 5 мили секунди ще завършим цикъла, след което цикълът започва отново от SET1, това продължава вечно. Тъй като светодиодите се включват и изключват твърде бързо. Човекът предсказва, че всички настройки са включени през цялото време.
Така че, когато захранваме SET1 при t = 0 мили секунди, заземяваме ЧЕРВЕНИЯ щифт. При t = 1 милисекунда захранваме SET2 и заземяваме ЗЕЛЕНИЯ щифт (по това време ЧЕРВЕНО и СИНЕ се издърпват НАГОРЕ). Цикълът върви бързо и окото вижда ЧЕРВЕНО сияние в ПЪРВИ КОМПЛЕКТ и ЗЕЛЕНО светене във ВТОРО КОМПЛЕКТ.
Ето как програмираме RGB LED, ще осветяваме бавно всички цветове в програмата, за да видим как работи мултиплексирането.