Arduino Polska Forum

Pełna wersja: Grupowanie WS2812
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam, jak można stworzyć w prosty sposób grupy pixeli np. dioda 0-09 to grupa A, 10-19 to grupa B itd., w taki sposób aby można było później konkretne funkcje "zadawać" konkretnej grupie?
Pozdrawiam
Zrób sobie wirtualne bufory LED-ów. Niestety tracisz na każda diodę 3 bajty dla palety 24-bit, 1 bajt dla 256 barw, dwa bajty dla 65536 barw. W programie odwołujesz się do wirtualnych buforów a gdy chcesz wysłać dane do LED, kopiujesz z buforów wirtualnych do rzeczywistego bufora LED ewentualnie dane konwertujesz jeśli wirtualne bufory nie mają palety 24-bit.

Rozwiązanie najprostsze ale nieoptymalne. Przyjąłem jednak, ze skoro pytasz o tak prostą rzecz, to nie ma co pisać o modyfikacji bibliotek, chyba, że chcesz się w to bawić. Do dalszej konwersacji potrzebne będą dodatkowe informacje, takie jak:
- jaki to uC?
- jaka biblioteka?
- ile LED?
(17-06-2019, 18:25)es2 napisał(a): [ -> ]Zrób sobie wirtualne bufory LED-ów. Niestety tracisz na każda diodę 3 bajty dla palety 24-bit, 1 bajt dla 256 barw, dwa bajty dla 65536 barw. W programie odwołujesz się do wirtualnych buforów a gdy chcesz wysłać dane do LED, kopiujesz z buforów wirtualnych do rzeczywistego bufora LED ewentualnie dane konwertujesz jeśli wirtualne bufory nie mają palety 24-bit.

Rozwiązanie najprostsze ale nieoptymalne. Przyjąłem jednak, ze skoro pytasz o tak prostą rzecz, to nie ma co pisać o modyfikacji bibliotek, chyba, że chcesz się w to bawić. Do dalszej konwersacji potrzebne będą dodatkowe informacje, takie jak:
- jaki to uC?
- jaka biblioteka?
- ile LED?
Witam, dzięki za pomysł ale to zbyt duża na moim etapie.
Posiadam Uno oraz Mega
Biblioteka NeoPixel
LED myślę około 240szt. w sumie (jeszcze nie wiem ile będzie grup - to zależy od konstrukcji którą chce wykonać)

A nie ma możliwości zdefiniować jakiejś stałej const w której jest zawarty zakres LED i później tą stałą wywoływać w funkcji?
(17-06-2019, 18:53)kyoto napisał(a): [ -> ]Posiadam Uno oraz Mega
LED myślę około 240szt. w sumie (jeszcze nie wiem ile będzie grup - to zależy od konstrukcji którą chce wykonać)
240 LED, policzyłeś ile RAM na to potrzeba?
Wątpię.

Nie pchał bym się w UNO, jeśli już to Mega ale do sterowania kilkuset LED AVR się nie bardzo nadają. Nie wiem co tam jeszcze program będzie robił poza wysyłaniem danych do LED ale raczej wybierz coś mocniejszego niż AVR. Policzyłeś na jak długo uC będzie zablokowany przez transmisje do LED? Ile naprzykład znaków mógłby odebrać wtedy UART a tego nie zrobi ? Oczywiście, gdy użyjesz mocniejszego niż AVR (czy teraz z popularnych uC są słabsze od AVR?) to oczywiście użyj bibliotek, które nie zaprzepaszcza możliwości lepszego uC.

(17-06-2019, 18:53)kyoto napisał(a): [ -> ]Biblioteka NeoPixel
Jesli chcesz pomocy, pokaż jej kod.

(17-06-2019, 18:53)kyoto napisał(a): [ -> ]A nie ma możliwości zdefiniować jakiejś stałej const w której jest zawarty zakres LED i później tą stałą wywoływać w funkcji?
Nie znasz C?
Na 99% nie znasz!