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;
}
}