NeoMatrix, tablica z koordynatami - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: NeoMatrix, tablica z koordynatami (/watek-neomatrix-tablica-z-koordynatami) |
NeoMatrix, tablica z koordynatami - gagatekns - 09-12-2017 Witam, jestem nowy, chciałem się trochę pobawić arduinkiem Mam problem, bo nie wiem jak mam zaimplementować pewną rzecz. Opiszę na przykładnie. Na wstępie, mam diody neopixel połączone ze sobą ostatecznie będzie układ 10 x 10. Teraz testuje połączone ze sobą 3 diody. Korzystam z bibliotek: Adafruit_NeoMatrix.h Adafruit_NeoPixel.h Adafruit_GFX.h Teraz opisze na czym polega mój problem: W NeoMatrix jest polecenie Kod: drawFastHLine(uint8_t x0, uint8_t y0, uint8_t length, uint16_t color); Chcę mieć przed programem zmienne w postaci tablicy w której będą się znajdować x0, y0, lenght, a następnie chcę je "wrzucać" w drawFastHLine. mniej więcej chodzi o to (taki wycinek kodu) Kod: const int test3diody[3] = {0, 0, 2}; // zaczynamy od diody w pozycji 0 0 i zapalamy 2 diody ale niestety po kompilacji leci "candidate expects 4 arguments, 2 provided". Proszę o poradę jak to zrobić żeby w drawFastHLine mogło zczytywać koordynaty i długość z tablicy RE: NeoMatrix, tablica z koordynatami - Smaczek - 09-12-2017 Witam, W wywolaniu funkcji powinno być: (test3diody[0], test3diody[1],test3diody[2], jakisKolor) Pozdrawiam RE: NeoMatrix, tablica z koordynatami - gagatekns - 09-12-2017 Już sobie poradziłem. Ogólnie takich "const int " będzie wiele z różnymi koordynatami. Dlatego do wyświetlenia ich po prostu zrobiłem taką funkcję: const int w_it[3] = { 0, 0, 3 }; const int w_is[3] = { 2, 1, 3 }; .... void setDiode(const int wordArr[3]){ matrix.drawFastHLine(wordArr[0], wordArr[1], wordArr[2] , ledColor); } i wyświetlam setDiode(w_it); RE: NeoMatrix, tablica z koordynatami - gagatekns - 09-12-2017 Ale mam jeszcze mały problem, tak jak pisałem mam połączone ze sobą 3 diody dlatego NeoMatix ustawiałem tak: Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix( 3, 1, 6, // - szerokość = 3, wysokość =1 NEO_MATRIX_TOP + NEO_MATRIX_RIGHT + NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE, NEO_GRB + NEO_KHZ800); po użyciu tego matrix.drawFastHLine(0, 0, 1, ledColor); jest ogólnie ok tylko że zaświeca się ostatnia dioda, a nie pierwsza podłączona do arduino. Dlaczego tak jest? |