RGB led osvetlenie koľajiska

Vítam Vás pri mojom najnovšom článku. Nie je však o modelovaní, ale vraciam sa opäť k elektronike. Každý modelár máva dilemu, ako správne osvetliť koľajisko pri fotení svojich modelov. Taktiež dobré osvetlenie vždy vyzdvihne detaily krajinky a modelov brázdiacich koľajisko. Preto som sa rozhodol, vyrobiť si osvetlenie, ktoré si dokážem prispôsobiť aktuálnym svetelným podmienkam prostredia, prípadne nasimulovať noc, mesačný svit.

Najjednoduchší spôsob, ako si toto svetlo vyrobiť a dosiahnuť čo najviac odtieňov osvetlenia je použitie arduina. Keď si predstavíme RGB led pásik, tak vieme, že je vybavený trojfarebnými led diódami, červeno-zeleno-modrými. Tieto tri farby plne stačia na zobrazenie v podstate každého možného odtieňa svetla viditeľného voľným okom. Tento systém je používaný aj v televízoroch a monitoroch.

Dáme si trošku matematiky. Arduino je 8 bitový mikrokontroler. To znamená, že dokáže pracovať s 8 bitovými informáciami. Z toho vyplýva, že jeden digitálny PWM výstup dokáže nasimulovať pulzy šírky 0-255 bitov. Prakticky to znamená, čím vyššie číslo, tým dlhší pulz. To znamená, že keby sme na digitálny PWM výstup pripojili voltmeter, tak by sme podľa šírky pulzu namerali voltáž. Čím vyššie číslo, tým dlhší pulz a teda zobrazí nám vyššie výstupné napätie. Digitálny výstup teda simuluje analóg tým, že výstupné napätie vypína a zapína podľa šírky pulzu, robí to tak rýchlo, že voľným okom to nevidíme, taktiež bežné prístoje a spotrebiče to registrujú ako regulované analógové napájanie. Pre zaujímavosť, Arduino Uno má dva časovače, 500MHz na výstupoch 3,5,6 a 1000MHz na výstupoch 9,10,11. Z toho všetkého vyplýva, že 3×256 ostieňov je 16777216 rôznych odtieňov svetla.

Arduino spracuje obmedzený prúd. Novšie typy 40mA na digitálny výstup, staršie typy 200-400mA na mikrokontroler. Preto je nutné led pásik napájať externe, pričom zem (GND, mínusový pól) je spoločný. Aby sme mohli dosiahnuť dostatočne rýchle spínanie intenzity jednotlivej farby svetla, potrebujeme každú z troch farieb ledky spínať tranzistorom. Viac v schéme.

Pripájal som k tranzistorom približne 60cm RGB led pásiku, preto som sa pri odbere 20mA na ledku rozhodol pre použitie tranzistorov s prúdom až 1,5A. Použil som tranzistory TIP120, ktoré sú bežne používané pre podobné účely. Každý som ešte vybavil chladičom. Tranzistory sú spínané na bázu cez rezistor 4k7 z pulzného výstupu Arduina. Šírka pulzu je regulovaná potenciometrom. Tri farby led, teda 3 rovnako zapojené tranzistory a 3 potenciometre. Mimochodom, nepomýlte sa, tranzistory spínajú +12V alebo zem, podľa toho, či majú spoločnú katódu alebo anódu.

Program je dostatočne jednoduchý.

 

int red = 3;
int green = 5;
int blue = 6;

int reds = 0;
int greens = 0;
int blues = 0;

void setup()
{

 pinMode (red, OUTPUT);
 pinMode (green, OUTPUT);
 pinMode (blue, OUTPUT);
}

void loop() {
reds = analogRead (A0);
greens = analogRead (A2);
blues = analogRead (A3);

reds = map (reds,0,1023,0,255);
greens = map (greens,0,1023,0,255);
blues = map (blues,0,1023,0,255);

analogWrite (red, reds);
analogWrite (green, greens);
analogWrite (blue, blues);

delay (100);
}

Pripájam aj video na ukážku: video ukážka RGB osvetlenia

Želám veľa zdaru pri stavbe Vášho vlastného osvetlenia, pevne verím, že budete spokojní rovnako, ako som aj ja.

Marek Duda