Skocz do zawartości

Problem z diodami WS2812


rafal220

Pomocna odpowiedź

Witam wszystkich.

W ramach ćwiczeń z Arduino zamówiłem okrągłą linijkę z LEDami jak w temacie. 

a1.thumb.jpg.1c643c7a780655146dc1400f06b0fce5.jpg

Niestety już pierwsze próby wykazały, że albo te chińskie LEDy nie spełniają standardów WS2812, albo coś jest nie tak z biblioteką która je obsługuje przy czym raczej stawiam na to pierwsze.

Do testów uruchomiłem gotowy fragment kodu;

 

#include <Adafruit_NeoPixel.h>


Adafruit_NeoPixel linijka = Adafruit_NeoPixel(16, 8, NEO_GRB + NEO_KHZ800);
 
void setup() {
  linijka.begin();
  linijka.show(); 
 
  linijka.setPixelColor(0, linijka.Color(255, 0, 0));
}
 
void loop() {
 
}

Niestety żadna z LEDów nie świeci. Zamiana nr. LED czy też koloru nie wnosi żadnych rezultatów. Natomiast zmiana częstotliwości z 800 na 400 powoduje, że wszystkie LEDy świecą na biało. Można tylko zmienić ilość zapalonych LED na biało w granicy 1 - 16 poprzez zmianę zmiennej konfigurującej całą linijkę. Nic po za tym.  Czynność powtórzyłem na innych portach Arduino nano, ale jest to samo. Co może być nie tak? Niekompatybilność biblioteki z LEDami niezgodnymi ze standardem 2812? 

 

Link do komentarza
Share on other sites

P.S.

Podłączyłem inny wyświetlacz i dalej nic. 

5.thumb.jpg.9fd6319392096e791413f60dbe22e1f9.jpg

Ten w ogóle nic nie wyświetla. Nawet przy częstotliwości 400kHz Mam drobny spadek napięcia zasilania na 2m kabla USB które wynosi ok. 4,5V No ale tyle powinno jeszcze wystarczyć do uruchomiania kilku LEDów. 

Ma ktoś jakiś pomysł? 

  • Lubię! 1
Link do komentarza
Share on other sites

Mialem się nie wypowiadac ale nie wytrzymałem.

Najpierw s*asz a potem zdejmujesz gacie czy może lepiej odwrotnie?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@_LM_ Skopiowałem przykład, ale brak oznak czegokolwiek. Ani dla 400kHz, ani dla 800kHz. Przecież to powinno działać na pierwszym przykładzie z kursu Arduino... XD Te chińskie moduły prawdopodobnie mogą pracować na częstotliwości pomiędzy 400kHz a 800kHz. Nic mi innego do głowy nie przychodzi. Albo to nie są WS2812, tylko inny wynalazek współpracujący z deklarowanymi chińskimi sterownikami RGB... No nie mam takiego sterownika bo bym sprawdził czy to w ogóle działa.

Link do komentarza
Share on other sites

1 minutę temu, ethanak napisał:

Najpierw s*asz a potem zdejmujesz gacie czy może lepiej odwrotnie?

Nie bardzo kapuję. Pisałem, że nie wszystkie Twoje kody są dla mnie zrozumiałe pod kątem technicznym C. 

Link do komentarza
Share on other sites

@rafal220 To przemyśl to co przed chwilą napisałem. Obsługa kibla i gaci chyba nie przekracza możliwości programistów od klocków? Np. mój najmłodszy wnuczek co prawda czytać jeszcze nie umie, ale obsługę gaci ma już opanowaną...

Link do komentarza
Share on other sites

@_LM_ Sorki mała poprawka. Demo z linku działa. Zapomniałem zmienić deklaracji pinu Arduino. Pytanie czemu nie działa przykład z kursu? Musieli cos zmienić w obsłudze tej biblioteki.  XD

Link do komentarza
Share on other sites

P.S. 

Przeanalizowałem kod z Demo oraz porównałem. Nie wiem jakim cudem uciekła mi jedna linijka kodu wyświetlająca piksele... XD przykłady kopiowałem do notatnika kropka w kropkę. No nic. Ważne że działa. Teraz można na spokojnie analizować dalsze ćwiczenia. 😁

Link do komentarza
Share on other sites

@ethanak Nie. Wtedy kiedy to kopiowałem, to jeszcze nie miałem nic w temacie Arduino. A mówią że najgorzej jest jak coś uruchamiasz pierwszy raz i nie działa. Wtedy szukasz nie wiadomo czego. Wkleiłem kod i nie działał. A najgorsze jest to, że ten pierwszy moduł dawał oznaki życia. Myślałem, że coś jest schrzaniane po stronie technicznej. Te LEDy dają fajne możliwości, ale z wirtualizacją kolorów w Paint, to średnio wychodzi. Monitor trochę inaczej oddaje barwy. Czyli pierwsze zadanie to podłączyć 3 potencjometry pod ADC, ustawiać kolor który mnie interesuje oraz odczytywać wartości zmiennych w print, a najlepiej na wyświetlaczu 2x16 który poznałem wcześniej... 

8 minut temu, ethanak napisał:

Może miała za długą nazwę?

No to teraz wiem już o co poszło. O nazwę zmiennej do wyświetlania dp. Serio ??

Link do komentarza
Share on other sites

Tani monitor źle oddaje barwy. Porządny monitor bardzo dobrze oddaje barwy, ale kosztuje więcej niż kino domowe 90 inczów i dolby z 17 kanałami. Zastanów się co jest ci potrzebne.

  • Lubię! 1
Link do komentarza
Share on other sites

Pozostaje kwestia jaki współczynnik oddawania barw mają te chińskie LEDy. ? Niby świecą równo, ale żeby o tym się przekonać, to muszę zrobić układ na 4 potencjometrach. 3 od barwy a czwarty od sumy, czyli mocy albo wzmocnienia. Nawet chyba da radę zrobić taką opcję na 3 funkcjach map na każdy kolor.  Można zrobić też wszystko na piechotę, ale na razie wykorzystam gotową map do przeliczania wartości. Zobaczymy. aktualnie poprzez for ręcznie sobie zmieniam ilość LEDów oraz edytując kolor. Tutaj wykorzystując różne funkcję można uzyskać niemalże nieograniczone możliwości po wyświetlanie obrazów i filmów przy użyciu dodatkowego szybkiego rejestru zewnętrznego obsługującego niezależnie moduły 8x8 do uzyskania szybkiej częstotliwości odświeżania matrycy. Bez rejestru 800kHz może nie wystarczyć. 

Link do komentarza
Share on other sites

Jeszcze musisz się naumiec co to jest logarytm. A potencjometry nie są potrzebne, Serial jest dwukierunkowy.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.