Stránka 1 z 1

Ovládání RGB led

Napsal: 18 srp 2013, 23:41
od misisnik
Zdravím
Potřebuju ovládat barvy u RGB ledky se společnou anodou. Kotody jsou připojeny k procesoru 8051.
Na netu jsem se dočetl, že by měli jít namíchat barvy pomocí pwm, zkoušel jsem a k ničem kloudnému jsem se nedostal máte nějaké nápady ?
8051 programuju v Assembleru

Napsal: 19 srp 2013, 14:52
od Mira80
neni lepsi pouzit AVR, ktere uz ma PWM primo v sobe ?

Napsal: 19 srp 2013, 15:14
od GeorgeB
Jestli máš zájem,tak pošlu podklady pro výrobu jehlanu s 3x RGB LED. Neboli ovladač 9x PWM. Konstrukce pro AT89C2051, program psaný v ASM.
http://www.youtube.com/watch?v=2vHLnB2rhJw

Napsal: 19 srp 2013, 18:19
od misisnik
Díky stačil by mi ten program.

Jiný procesor použít nemůžu upravuju už hotový výrobek.. ( takže jen programově)

Napsal: 19 srp 2013, 18:36
od GeorgeB
Program v příloze.

Napsal: 19 srp 2013, 18:44
od misisnik
Díky podíval jsem se na to, ale moc mi to neříká..

Jde mi spíše o princim řízení barevnosti dejme tomu pro případ barvy (hnědá)
R: 59
G: 34
B: 14

Jestli jsem to pochopil správně kdybyhc měl periodu 0.1ms tak bude červená rozsvícená 23us, zelená 13us a modrá 5us.
A teď otázka ledky se musí spouštět zároveň, nebo jednu periodu budu blikat s cervenou druhou se zelenou a treti s modrou a opakovat to pořád dokola ??

Napsal: 09 pro 2013, 20:20
od JirkaRCK
Ahoj, v uC se moc nevyznám, ale pokud tě dobře chápu, tak bys měl rozhodně řídit všechny tři zároveň. Pokud bys chtěl rozsvěcet a zhasínal jednu po druhé, měl bys periodu ne 0.1, ale 0.3ms a každou barvou bys mohl dosáhnout pouze 33% její maximální intenzity (2/3 doby by nesvítila, protože by se obstarávaly zbylé dva kanály, takže by maximální střída PWM byla jen 1/3). Nicméně i tento případ by měl "něco" dělat. V podstatě by to mělo fungovat na třetinový výkon a možná nepříjemně poblikávat.

Programově bych si to představoval asi takto:

Nastavit všechny tři výstupy na 1 a spustit časovač od nuly.

Po x us zhasnout první
Po y us zhasnout druhou
Po z us zhasnout třetí
Když časovač doběhne na 0.1ms, vynulovat ho a zase všechny rozsvítit.