|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Bizgec65 Član
Pridružen-a: Sre 10 Mar 2010 11:46 Prispevkov: 2057 Aktiv.: 12.02 Kraj: Trebnje
|
Objavljeno: Čet Jan 09, 2020 8:48 pm Naslov sporočila: Arduino in WS2812 RGB led |
|
|
Kot vsako leto obljubim, da bom okoli hiše razpeljal nekaj trakov, sem tudi letos uspel napeljati le tiste kupljene lučke, ki utripajo po svoje.
No in po novem letu je seveda pravi čas za ukrepanje, saj bo december kmalu spet naokoli.
Doma se mi valja en kos RGB WS2812 traku, na netu najdem kar nekaj primerov utripanja, le takega, kot bi ga želel ne.
Recimo, da imam (trenutno) trak z 8 led, rad bi, da se ledice prižigajo in ugašajo od sredine navzven in nazaj.
Koda: |
void loop()
{
for (int i = 0; i <= 7; i++) {
leds[i] = CRGB ( 0, 0, 255);
FastLED.show();
delay(40);
}
for (int i = 7; i >= 0; i--) {
leds[i] = CRGB ( 0, 0, 0);
FastLED.show();
delay(40);
}
} |
Tole je trenutna koda, ki deluje: od 1. do zadnje se prižigajo in nazaj grede ugašajo.
Kako dodati v prvem delu recimo še en "for int (recimo j)" ki bo istočasno prižigal v tem primeru 7.,6.,5.,4., diodo, s tem, da bi v prvem delu pač števec spremenil:
Koda: |
...
for (int i = 0; i <= 3; i++)
...
|
In potem bi se seveda poigral še z ugašanjem v tem vrstnem redu.
Upam, da sem razumljivo napisal. _________________ Če bi nekateri padli z višine svojega ega na višino svoje inteligence, bi se ubili. (Je pa res, da se meni ne smilijo!) |
|
Nazaj na vrh |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5766 Aktiv.: 25.96 Kraj: Grosuplje
|
Objavljeno: Čet Jan 09, 2020 10:50 pm Naslov sporočila: |
|
|
Eh, Fadil.......
z leds[i] adresiraš ledico in poveš kakšne barve naj sveti. In če prav razumem knjižnjico Fastled, lahko to narediš za vse ledice na traku, ko vedo kako naj svetijo, prižgeš vse naenkrat z FastLED.show().
To se pravi:
Koda: |
leds[6] = CRBG (0, 0, 255); //Ledice začnejo z 0, torej je 7 ledica leds[6]
leds[5] = CRBG (0, 0, 255);
leds[4] = CRBG (0, 0, 255);
leds[3] = CRBG (0, 0, 255);
FastLed.show(); // in jih naenkrat prižgeš |
Na enak način jih ugasneš.
Zadnji primer na tej strani, v katerem s potenciometrom na vhodu Arduina prižigaš in ugašaš ledice, pove vse.
V tem primeru adresira ledice glede na položaj potenciometra in nato vse naenkrat prižge. _________________ Lp, Jaka |
|
Nazaj na vrh |
|
|
rafaellsi Član
Pridružen-a: Ned 11 Sep 2011 18:54 Prispevkov: 477 Aktiv.: 3.12 Kraj: Radovljica
|
Objavljeno: Čet Jan 09, 2020 10:59 pm Naslov sporočila: |
|
|
Mogoče bi šlo takole (brez dodatne spremenljivke):
Koda: |
.....
{
for (int i = 0; i <= 3; i++) {
leds[i] = CRGB ( 0, 0, 255);
leds[7-i] = CRGB ( 0, 0, 255);
FastLED.show();
delay(40);
}
.....
|
|
|
Nazaj na vrh |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5766 Aktiv.: 25.96 Kraj: Grosuplje
|
Objavljeno: Čet Jan 09, 2020 11:15 pm Naslov sporočila: |
|
|
rafaellsi je napisal/a: |
Mogoče bi šlo takole (brez dodatne spremenljivke):....... |
Bizgec65 je napisal/a: |
....., ki bo istočasno prižigal v tem primeru 7.,6.,5.,4., diodo, s tem, da bi v prvem delu pač števec spremenil............ |
V gornjih primerih se naslovi ledico, se ji pove, kako naj sveti in nato to isto ledico prižge, nato naslednjo (for i=0 to 7.......), ko so vse prižgane, jih eno po eno ugaša v obratnem vrstnem redu (for i = 7 to 0).
Sicer pa, mogoče nisem čisto razumel, kaj Bizgec65 želi? _________________ Lp, Jaka |
|
Nazaj na vrh |
|
|
Bizgec65 Član
Pridružen-a: Sre 10 Mar 2010 11:46 Prispevkov: 2057 Aktiv.: 12.02 Kraj: Trebnje
|
Objavljeno: Čet Jan 09, 2020 11:38 pm Naslov sporočila: |
|
|
Jaka57 je napisal/a: |
Bizgec65 je napisal/a: |
....., ki bo istočasno prižigal v tem primeru 7.,6.,5.,4., diodo, s tem, da bi v prvem delu pač števec spremenil............ |
V gornjih primerih se naslovi ledico, se ji pove, kako naj sveti in nato to isto ledico prižge, nato naslednjo (for i=0 to 7.......), ko so vse prižgane, jih eno po eno ugaša v obratnem vrstnem redu (for i = 7 to 0).
Sicer pa, mogoče nisem čisto razumel, kaj Bizgec65 želi? |
Res je, sem vedel, da sem nerodno napisal. Rafaellsi je bolj "bral" moje misli kot ti Jaka57, a vseeno hvala obema.
Zadeva deluje kot sem želel, tisto naslavljanje ledic posamezno, kako naj sveti, fade in/out..., mi je "kao vse" jasno, le tega nisem uspel najti in razbrati, kako naj naenkrat zasvetita 0 in 7, potem 1 in 6, 2 in 5...
Tistega "leds [7-i]", še nisem jemal. _________________ Če bi nekateri padli z višine svojega ega na višino svoje inteligence, bi se ubili. (Je pa res, da se meni ne smilijo!) |
|
Nazaj na vrh |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5766 Aktiv.: 25.96 Kraj: Grosuplje
|
Objavljeno: Pet Jan 10, 2020 12:49 am Naslov sporočila: |
|
|
Bizgec65 je napisal/a: |
.......kako naj naenkrat zasvetita 0 in 7, potem 1 in 6, 2 in 5...
Tistega "leds [7-i]", še nisem jemal. |
Če bi tako napisal, se ne bi .
Važno, da si rešil.
Boš to na avto dal, kaj je že bila tista nadaljevanka? _________________ Lp, Jaka |
|
Nazaj na vrh |
|
|
Bizgec65 Član
Pridružen-a: Sre 10 Mar 2010 11:46 Prispevkov: 2057 Aktiv.: 12.02 Kraj: Trebnje
|
Objavljeno: Pet Jan 10, 2020 7:33 am Naslov sporočila: |
|
|
Jaka57 je napisal/a: |
Boš to na avto dal, kaj je že bila tista nadaljevanka? |
Vitez za volanom. Ne, to bom dal na električni skuter, hahaha.
Drugače pa, "imam čas za igranje", pa sem se res lotil že za naslednje Novo leto pripraviti nekaj kombinacij s temi ledicami, tisto s potenciometrom sem tudi že osvojil, le da jaz trenutno spreminjam kombinacije rajši s tipko, malo se učim in preizkušam. Tu se mi je pa zataknilo. _________________ Če bi nekateri padli z višine svojega ega na višino svoje inteligence, bi se ubili. (Je pa res, da se meni ne smilijo!) |
|
Nazaj na vrh |
|
|
mato1111 Član
Pridružen-a: Pet 28 Dec 2012 14:42 Prispevkov: 611 Aktiv.: 4.46 Kraj: Vrhnika
|
Objavljeno: Ned Sep 27, 2020 8:03 pm Naslov sporočila: |
|
|
Ker bo kmalu december in da malo obudim temo...
Trenutno se ukvarjam z led trakom z ws2812 ledicami. Za nastavitev barve posameznega "piksla" oz ledice imam naslednjo funkcijo:
Koda: |
/*
Pixel=stevilka ledice, Red=svetilnost rdece barve, Green=svetilnost zelene barve, Blue=svetilnost modre barve
*/
void SetPixel(int Pixel, byte Red, byte Green, byte Blue) {
leds[Pixel].r = Red;
leds[Pixel].g = Green;
leds[Pixel].b = Blue;
} |
Na zacetku programa:
Koda: |
#define NUM_LEDS 100
CRGB leds[NUM_LEDS];
#define STRIP_PIN 2 |
in v void setup():
Koda: |
FastLED.addLeds<WS2812, STRIP_PIN, GRB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip ); |
|
|
Nazaj na vrh |
|
|
robert Član
Pridružen-a: Sob 29 Maj 2004 21:48 Prispevkov: 1869 Aktiv.: 8.42 Kraj: Tolmin
|
Objavljeno: Pon Sep 28, 2020 11:50 pm Naslov sporočila: |
|
|
Najprej hvala za obuditev teme
Ker lani ni bilo te teme so seveda Neopixel LEDice iz Kitajske prinesli šele ledeni možje
Vseeno pa se je v "ropotiji" našlo nekaj Neopixel modulov z po 8LED in par z 5LED, ki so pripadali čisto drugemu projektu.
Ker je že cela hiša polna ESP8266 (Wemos D1) so bile tudi te priključene na enega od njih. Na njega sem naložil: https://github.com/dMbski/ESPtree .
Lučke so pa " 5M WS2811 RGB IP68 Full Color 50PCS Bulbs LED Pixel Module Strip Light " - tukaj je potrebno biti pozoren na 5v izvedbo (cca 12€).
No - pri pospravljanju smrečice je bilo tudi to na hitro stestirano in sedaj je treba spraviti v lično stanje (To-Do Nr.:283) _________________ LP Robert |
|
Nazaj na vrh |
|
|
mato1111 Član
Pridružen-a: Pet 28 Dec 2012 14:42 Prispevkov: 611 Aktiv.: 4.46 Kraj: Vrhnika
|
Objavljeno: Tor Okt 20, 2020 10:29 am Naslov sporočila: |
|
|
Mogoce kdo ve koliko je lahko dolga data linija od mikrokrmilnika do led traku ws2812?
Jaz sem kupil Nodemcu z ESP8266 in nanj naložil WLED. Z njim upravljam preko brskalnika pa še 100 že vgrajenih efektov ima podpira pa krmiljenje do 500 ledic (vse vezane zaporedno) |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 48 dni
Powered by phpBB © 2001, 2005 phpBB Group
|