Řízení RGB LED

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ů.

obrazekObr. 1: Schéma zapojení úlohy

obrazekObr. 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.

Zdroje

Obrázky: 

  • Obr. 1, 2: Archiv autora.
Přílohy
RGB-LED-1-program.zip Stáhnout
Procvič si

Změnou kombinací jednotlivých složek (barev) a dobou jejich svitu zkus vytvořit různé barvy výsledného světla.

Tip

Pokud chceš téměř plynule měnit dobu svícení LED, můžeš použít příkaz cyklu For-Next, který je popsán v Helpu BASCOM-AVR IDE a použit vkapitole Maticový LED zobrazovač a jeho řízení.

Ke změně jasu svícení LED lze také s výhodou požít pulsně-šířkovou modulaci PWM, která bude popsána v následující kapitole.