Arduino + ledy ws2812b - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Diody LED i Multiplexing (https://forum.arduinopolska.pl/dzial-diody-led-i-multiplexing) +--- Wątek: Arduino + ledy ws2812b (/watek-arduino-ledy-ws2812b) |
RE: Arduino + ledy ws2812b - semi - 08-12-2019 @busyboy czy rozumiesz co się do Ciebie pisze? I ja i @elvis, piszemy o tym, aby sprawdzić czy odpowiednio sterujesz ledami. Czy np taktowanie CPU jest właściwe. Jaki problem podłączyć analizator lub oscyloskop i to sprawdzić? Od razu będzie widać czy przypadkiem nie masz złych czasów, np 2 razy dłuższych, co oznacza, ze CPU pracuje na wewnętrznym RC. A może wcale nie ma sygnału sterującego? Albo to zegar lub dane dla WS2811, bo nie dpowiedziałeś na pytanie, które wcześniej zadałem. Chcesz dochodzić metodą prób i błędów to próbuj ale nie licz, że sukces osiągniesz szybko albo dostaniesz magiczną recepturę jak rozwiązać problem. Jak masz płytki z STM32F072 albo Mega1284, to mogę dać kod, który na 100% działa. na inne uC też mam ale z pamięci nie napiszę na jakie. RE: Arduino + ledy ws2812b - busyboy - 08-12-2019 Rozumiem Wasze zaangażowanie i próbę pomocy ale niestety nie posiadam ani analizatora ani oscyloskopu aby to sprawdzić. Jestem początkujący w tym temacie, zrobiłem kilka prostych projektów typu obsługa LCD, sterowanie przekaźnikami, termometr i to wszystko. Chciałem zrobić światełka led na Święta, myślałem że nie będzie problem - ponieważ wcześniej widziałem setki filmów na YT o tej tematyce Zdjęcie uC poniżej RE: Arduino + ledy ws2812b - elvis - 08-12-2019 @busybox, nie zwracaj uwagi na to co pisze @semi. To zupełnie stuknięty koleś, który próbuje leczyć kompleksy pisząc na forach i przechwalając się że ma tandetnego rigola i chiński analizator logiczny oraz opanował podstawy STM32. A wracając do tematu - możesz do tego samego wyjścia gdzie podpinasz linię sterującą paska LED podłączyć zwykłą diodę? Chodzi mi o to, żebyś podłączył diodę i wgrał program, który będzie migał z częstotliwością 1s (czyli delay = 500). Dzięki temu po pierwsze upewnimy się że numeracja pinów jest jak należy, a samo wyjście działa. Jak już dioda będzie migała to będziesz miał kolejne zadanie: włączyć stoper i liczyć 60 mignięć. Nie będzie to bardzo precyzyjny pomiar, ale jeśli taktowanie jest bardzo niepoprawne, to będzie widać że wyszło coś innego niż minuta. To wszystko można zrobić bez oscyloskopu i innych drogich narzędzi, które oczywiście warto mieć, ale wiele można zrobić używając rozumu - który oczywiście też trzeba najpierw posiadać... RE: Arduino + ledy ws2812b - busyboy - 08-12-2019 Dziękuje za pomoc, Wyjście działa poprawnie, PIN 11, schemat zrobiłem na diodzie i ustawiłem tak jak napisałem miganie delay = 500) Kod: void setup() Czas migania 60 razy diody zmierzony to 59,53 s. RE: Arduino + ledy ws2812b - elvis - 08-12-2019 A możesz wrócić do kodu z biblioteka Adafruit, ale migać tylko jedna dioda jak na poczatku? Bo zmieniłeś dwie rzeczy na raz - bibliotekę i kod testowy, lepiej wprowadzać zmiany pojedynczo RE: Arduino + ledy ws2812b - busyboy - 08-12-2019 Coś takiego ? Kod: #include <Adafruit_NeoPixel.h> Dioda miga, tak jak w powyższym kodzie. RE: Arduino + ledy ws2812b - elvis - 08-12-2019 Nie o to mi chodziło Chciałem żebyś podłączył jeszcze raz pasek diod i napisał odpowiednik tego programu: Kod: void loop() { Bo dopiero teraz zauważyłem, że przy bibliotekce FastLED używałeś tego kodu do testowania - i bardzo dobrze. Ale przechodząc do Adafruit, użyłeś też innego kodu testującego. A ten jest lepszy na początek. RE: Arduino + ledy ws2812b - elvis - 08-12-2019 W kodzie, który używałeś do testowania Adafruit_Neopixel jest chyba jeszcze jeden błąd: Kod: Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_RGB + NEO_KHZ400); ws2812 raczej pracują na 800kHz, więc pownno być NEO_KHZ800 w ostatnim parametrze. RE: Arduino + ledy ws2812b - busyboy - 08-12-2019 Mówiąc szczerz próbowałem już wszystkich kombinacji RE: Arduino + ledy ws2812b - elvis - 08-12-2019 A próbowałeś zmniejszać liczbę "pikseli" (N_LEDS), podać że jest 16, albo nawet tylko 1 ? |