Действительно, с вайфаем работает через пень колоду. Первые 9-10 раз мигает как положено, потом начинается - то только первый мигает желтым, то все горят белым, первый мигает синим. Иногда прочухивается и начинает работать, но не долго. Как ни странно, но нормально работает с таким костылем:
#define STRIP_PIN 2
#define NUMLEDS 40
#include <FastLED.h>
#include <ESP8266WiFi.h>
CRGB strip[NUMLEDS];
void light(CRGB color = CRGB::White, byte bright = 150) {
FastLED.setBrightness(bright);
for (byte i; i < NUMLEDS; i++) {
strip[i] = color;
if (i % 10 == 0 || i == NUMLEDS - 1) {
FastLED.show();
}
}
}
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin("**************", "***********");
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
delay(500);
Serial.println(".");
}
Serial.println(WiFi.localIP());
FastLED.addLeds<WS2811, STRIP_PIN, GRB>(strip, NUMLEDS);
FastLED.setBrightness(50);
FastLED.clear();
FastLED.show();
}
void loop() {
light();
delay(500);
light(CRGB::Black);
delay(500);
}
Конструкция
if (i % 10 == 0 || i == NUMLEDS - 1) {
исключительно, чтобы FastLED.show() не вызывать на каждой итерации - это сильно замедляет цикл.
А уж что там вайфай нарушает - одним китайцам известно )))