Matrix neopixel - ovladani
Napsal: 22 říj 2021, 14:48
Ahoj, potřeboval bych pomoct s projektem hodin a řešenim jak ovladat programovatelne LEDky (SK6812) v poli. Je to pole 11 x 10 ledek.
Potřebuji nejak lip ovladat skupiny tech ledek. Udelal jsem si prototyp kdy to zapinam "hloupe" vyctem cele skupiny "cisel" ktere potřebuji zapnout ale je to takove slozite a dlouhe. Urcite je mozne to resit nejak lip - kdyby jste meli nekdo tip jak na to pomohlo by mi to.
Pole vypada takhle - cisla jsou poradove cisla LEDky
Jedna se o to ze potrebuji v nejakem case rozsvitit skupinu ledek. Pro testovani jsem to udelal tak že jsem nacpal vsechny cisla do funkce - pro testovani mi to stacilo ale je to slozite a je mi jasne ze to neni dobre udelane.
Snazil jsem se udelat neco jako pole ktere se ma sepnout v jeden okamzik:
Je to nejake zvlastni - krome LEDek z pole mi to zapne i LEDku 0 a pak asi 4 LEDky z pole ktere nejsou obsažené v "hod_4" - nechapu to
Muj plan je takovy ze to bude sepnute než se změni čas a prekne mi to jine pole. Smazani a sepnutit jineho pole je asi OK mate me ze se mi zapinaji i jine LEDky nez z pole.
Hledal jsem hodne na netu a je hodne přistupů jak to kdo řeší, ale jsem amater a chtel bych jit cestou kterou pochopim než okopirovat kod který nechapu.
Diky za pripadne tipy jak to udelat fukční a ne moc složite
Potřebuji nejak lip ovladat skupiny tech ledek. Udelal jsem si prototyp kdy to zapinam "hloupe" vyctem cele skupiny "cisel" ktere potřebuji zapnout ale je to takove slozite a dlouhe. Urcite je mozne to resit nejak lip - kdyby jste meli nekdo tip jak na to pomohlo by mi to.
Pole vypada takhle - cisla jsou poradove cisla LEDky
Kód: Vybrat vše
100 101 102 103 104 105 106 107 108 109 110
89 90 91 92 93 94 95 96 97 98 99
78 79 80 81 82 83 84 85 86 87 88
67 68 69 70 71 72 73 74 75 76 77
56 57 58 59 60 61 62 63 64 65 66
45 46 47 48 49 50 51 52 53 54 55
34 35 36 37 38 39 40 41 42 43 44
23 24 25 26 27 28 29 30 31 32 33
12 13 14 15 16 17 18 19 20 21 22
1 2 3 4 5 6 7 8 9 10 11
Kód: Vybrat vše
pixels.setPixelColor(100, pixels.Color(255,255,255));
pixels.setPixelColor(101, pixels.Color(255,255,255));
pixels.show();
pixels.setPixelColor(100, pixels.Color(0,0,0));
pixels.setPixelColor(101, pixels.Color(0,0,0));
Kód: Vybrat vše
int hod_1 [7]= {100, 101, 106, 107, 108, 109, 110}
int hod_2 [7]= {102, 103, 104, 105, 97, 98, 99}
int hod_3 [7]= {102, 103, 104, 105, 71, 72, 73}
int hod_4 [9]= {102, 103, 104, 105, 45, 46, 47, 48, 49}
void loop() {
for (int LEDon = 0; LEDon < pocetLED; LEDon++) {
pixels.setBrightness(10);
pixels.setPixelColor(hod_4[LEDon], pixels.Color(0,0,0,255));
pixels.show();
delay(10);
}
}
Muj plan je takovy ze to bude sepnute než se změni čas a prekne mi to jine pole. Smazani a sepnutit jineho pole je asi OK mate me ze se mi zapinaji i jine LEDky nez z pole.
Hledal jsem hodne na netu a je hodne přistupů jak to kdo řeší, ale jsem amater a chtel bych jit cestou kterou pochopim než okopirovat kod který nechapu.
Diky za pripadne tipy jak to udelat fukční a ne moc složite