Stránka 1 z 1

Jak nastavit barvu RGB LEDky?

Napsal: 02 srp 2017, 22:03
od Snarks
Hoj,
potřebuji na Arduinu udělat změnu ve fungujícím programu.
Tímto řádkem se mění náhodně barva RGB LED.
color = strip.Color(random(0, 255), random(0, 255), random(0, 255));
Místo toho potřebuji aby se tam náhodně objevovala jedna z těchto pěti kombinací:
0,0,255
0,255,0
0,255,255
255,0,255
255,255,0

Děkuji za pomoc.

Re: Jak nastavit barvu RGB LEDky?

Napsal: 02 srp 2017, 22:20
od Wojta
Udělejte si 2D pole s danými kombinacemi a pak v něm vybírejte náhodnou z nich. Něco takového by mělo fungovat.

Kód: Vybrat vše

// vsechny kombinace
byte kombinace[5][3] = {
{0,0,255},
{0,255,0},
{0,255,255},
{255,0,255},
{255,255,0}
}

int rnd = random(0,4); //zapis si nahodne cislo do pameti

color = strip.Color(kombinace[rnd][0], kombinace[rnd][1], kombinace[rnd][2]);  //vyber kombinaci na pozici urcene nahodnym cislem


Re: Jak nastavit barvu RGB LEDky?

Napsal: 02 srp 2017, 22:24
od petan
Ještě by to šlo řešit podmínkou ... switch.
Samozřejmě tedy, že to není elegantní jak řešení výše ;) Ale pro rozšíření obzorů, dejme tomu...

Kód: Vybrat vše

void setup(){
  randomSeed(analogRead(A0));	//zapni random mašinu
}

void getColor() {
//Spuštěním této funkce dojde ke změně hodnoty v proměnné color na jednu z pěti předem definovaných barev.
//Funkce nic nevrací. Jenom mění...
byte rndNumber =  random(4);	//vygeneruje číslo mezi 0 až 4 - to znamená celkem pět čísel

switch(rndNumber){
 case 0:
  //barva 1
  color = strip.Color(0,0,255);
  break;
 case 1:
  //barva 2
  break;
//a tak dále
}
}

Re: Jak nastavit barvu RGB LEDky?

Napsal: 06 srp 2017, 21:07
od Snarks
Dekuji moc za rady.