Ovládání tříbarevné LED – RGB
Tříbarevná LED obsahuje v jednom pouzdru tři polovodičové čipy s červenou (RED), zelenou (GREEN) a modrou (BLUE) barvou světla. Obvyklé je provedení se čtyřmi vývody, kde jsou buď propojené všechny katody (společná katoda), nebo jsou propojené všechny anody (společná anoda). RGB LED umožňují vzájemným mícháním poměrů jednotlivých složek R, G, a B generovat všechny ostatní barvy včetně bílé. V této úloze si vyzkoušíme použití takové RGB LED se společnou katodou a procvičíme si ovládání výstupů a použití časové prodlevy. Naučíme se používat přezdívky – Alias, což nám zpřehlední zápis programu. Můžeme potom vymýšlet nekonečné variace barevných světelných efektů.
Obr. 1: Schéma zapojení úlohy
Obr. 2: Realizace úlohy
’-------------------------------------------------------------------------------------
’ PROGRAM RGB-LED-1.bas Ukázka ovládání tříbarevné LED.
’ Program, kterým ovládáme tříbarevnou LED se společnou katodou
’ a vzájemným poměrem jednotlivých složek měníme výslednou barvu.
’--------------------------------------------------------------------------------------
$regfile = “m8def.dat” ‘definice procesoru
$crystal = 12000000 ‘nastavení frekvence procesoru
Config Portc.3 = Output ‘nastavení portů
Config Portc.4 = Output
Config Portc.5 = Output
R Alias Portc.3 ‘použití přezdívek „Alias“
G Alias Portc.4 ‘jednotlivé porty si můžeme pojmenovat
B Alias Portc.5 ‘podle barvy LED
’------------------------------ HLAVNI PROGRAM -------------------------------
Do
R = 1
G = 0
B = 0
Waitms 200
R = 0
G = 1
B = 0
Waitms 200
R = 0
G = 0
B = 1
Waitms 200
R = 1
G = 1
B = 0
Waitms 200
R = 0
G = 1
B = 1
Waitms 200
R = 1
G = 0
B = 1
Waitms 200
R = 1
G = 1
B = 1
Waitms 300
R = 0
G = 0
B = 0
Waitms 300
Loop
’---------------------- KONEC HLAVNIHO PROGRAMU ---------------------------------------
End
‘Popis programu
‘$regfile - říká překladači jaký typ mikroprocesoru použijeme
‘$crystal - informuje překladač o tom, jaká je frekvence oscilátoru v mikroprocesoru
‘Config PortC.3,4,5 = Output - nastaví tři výstupy pro jednotlivé anody RGB-LEDky.
‘V hlavním programu je nekonečná smyčka Do-Loop,
‘v ní se na definovanou dobu příkazem Wait přivádí na anodu barvy, která má svítit logická 1,
‘na tu, která nemá svítit logická 0. Do obvodu anody musíme zapojit omezovací rezistor,
‘společná katoda je připojena na GND. Změnou doby v příkazu Wait se mění výsledný světelný efekt.
‘Můžeme použít i RGB-LED se spoločenou ANODOU, potom je její anoda připojena na +5V a jednotlivé KATODY přes omezovací rezistory na výstupy mikropočítače.