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.
Jak nastavit barvu RGB LEDky?
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Re: Jak nastavit barvu RGB LEDky?
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?
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...
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?
Dekuji moc za rady.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 10 hostů