• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
FastLed/NeoPixel Pomoc na napisaniu programu
#3
AVR + WS281x + animacje to nie zbyt dobry pomysł gdy ma być dużo led. Nie to że się nie da:
https://www.youtube.com/watch?v=aM9hy4Ep...sQ&index=3
https://www.youtube.com/watch?v=h2RKAJZd...sQ&index=4
https://www.youtube.com/watch?v=hBovo7Y0...sQ&index=2
Musisz jednak zapomnieć o bibliotekach Arduino. One blokują program w czasie transmisji do led. Trzeba użyć przerwań. Użyłem USART, bo nie ma problemu z zbyt długim poziomem H gdy pomiędzy transmisja wystąpi inne przerwanie. W Przypadku USART przedłużony zostanie poziom L co nie jest problemem. Ponadto USART ma 2 bajty FIFO, więc przerwania można wywoływać ok 130'000razy na sekundę a nie 260'000. Ponadto, na jedną led potrzeba 8 a nie 9 bajtów. Aby uC był mniej obciążony trzeba go taktować 20 a nie 16MHz. uC musi mieć dużo RAM, 100led to 800 bajtów czyli prawie połowa tego co oferuje Mega328. Użyj Mega1284 z 16kB RAM. Mega 2560/1280 z 8kB odpada, bo Fclk max to 16MHz.
Jak widzisz dużo problemów. Najlepiej uzyć ARM ostatecznie Xmega. One mają DMA, dużo RAM, szybki zegar. Tam problemów ze sterowaniem WS281x nie ma.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: FastLed/NeoPixel Pomoc na napisaniu programu - przez es2 - 05-08-2018, 12:59

Skocz do:


Przeglądający: 6 gości