Teraz jest czwartek, 28 marca 2024, 09:13

Strefa czasowa: UTC + 1




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
 Tytuł: WS2812B + arduino, słaba częstotliwość odświeżania
PostNapisane: poniedziałek, 29 stycznia 2018, 22:15 
Offline
Moderator
Avatar użytkownika

Dołączył(a): sobota, 20 marca 2010, 17:25
Posty: 3602
Wiek: 36
Lokalizacja: Warszawa
Koledzy programatorzy arduino. Wyjąłem z przydasiek pasek ledowy 300 sztuk . Myślę sobie, zrobię sobie na nim jakąś animację, a co, kto bogatemu (w przydasie) zabroni :) Zacząłem od pływającego punktu. Jakież było moje zdziwienie gdy się okazało, że animacja jest wolna. Pomimo delay(1) pomiędzy zapalaniem kolejnych diód (300x1ms = 300ms zwłoki) animacja trwała ponad 6s.

To z natury takie wolne czy ja coś nie umim? Testowałem na arduino nano, oraz na ESP8266 (80 MHz zegar, sądziłem że w stosunku do 16MHz arduino pasek będzie zapylać aż miło). Na bibliotekach fastled oraz adafruit neopixel.

Tu kawałek kodu.

Kod:
#include "FastLED.h"

#define NUM_LEDS 300
#define DATA_PIN 2

CRGB leds[NUM_LEDS];
void setup() {

   delay(2000);

  FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
}

void loop() {
   
  for(int whiteLed = 0; whiteLed < NUM_LEDS; whiteLed = whiteLed + 1) {
    leds[whiteLed] = CRGB::White;
    FastLED.show();
    delay(1);
    leds[whiteLed] = CRGB::Black;
  }
}


Góra
 Zobacz profil Wyślij e-mail  
 
 Tytuł: Re: WS2812B + arduino, słaba częstotliwość odświeżania
PostNapisane: wtorek, 30 stycznia 2018, 06:47 
Offline
modelarz
Avatar użytkownika

Dołączył(a): piątek, 7 maja 2010, 18:38
Posty: 1013
Wiek: 55
Lokalizacja: Tarnowskie Góry
Szybkość limituje raczej szeregowy interfejs SPI między procesorem a paskiem LED, a nie sam procesor. Tam pewnie leci kilka bajtów na diodę, a to wszystko tylko w 800kHz (chyba).
Razy 300 diód (razy 2 komendy na każdą) + jakiś narzut na komunikację itp...

_________________
Pozdrawiam
Michał


Góra
 Zobacz profil Wyślij e-mail  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  

118,259,706 Wyświetlone Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL