Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите, не работает правильно 8 кейс, там должна быть анимация, а у меня тупо свет, без плавной смены цветовой гаммы

Личный тренер Профи (712), на голосовании 2 недели назад
#include <FastLED.h>

#define LED_PIN 6
#define NUM_LEDS 60

CRGB leds[NUM_LEDS];

#define BUTTON_PIN 2

int buttonState = HIGH;
int prevButtonState = HIGH;
int buttonPressCounter = 0;

byte bright = 50; // яркость LED светодиодов
byte baza = 0; // изменение оттенка LED

void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
FastLED.addLeds<WS2812B, LED_PIN, GRB>(leds, NUM_LEDS);
FastLED.setBrightness(50);
FastLED.addLeds <WS2812, LED_PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(bright);

}

void loop() {
buttonState = digitalRead(BUTTON_PIN);

if (buttonState != prevButtonState) {
if (buttonState == LOW) {
buttonPressCounter++;
if (buttonPressCounter > 8) {
buttonPressCounter = 1;
}

switch (buttonPressCounter) {
case 1:
fill_solid(leds, NUM_LEDS, CRGB(255, 0, 0));
break;
case 2:
fill_solid(leds, NUM_LEDS, CRGB(255, 102, 0));
break;
case 3:
fill_solid(leds, NUM_LEDS, CRGB(255, 223, 0));
break;
case 4:
fill_solid(leds, NUM_LEDS, CRGB(0, 128, 0));
break;
case 5:
fill_solid(leds, NUM_LEDS, CRGB(0, 191, 255));
break;
case 6:
fill_solid(leds, NUM_LEDS, CRGB(0, 0, 255));
break;
case 7:
fill_solid(leds, NUM_LEDS, CRGB(139, 0, 255));
break;
case 8:
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV(baza+ i * 5, 255, 255);
}
baza++;
FastLED.setBrightness(bright);
FastLED.show();
delay(20);

}

FastLED.show();
}
}

prevButtonState = buttonState;
}

не работает case 8, не проходит анимация, тупо горят светодиоды
Голосование за лучший ответ
Demon Мудрец (11297) 1 месяц назад
добавь в цикл delay(20);
DemonМудрец (11297) 1 месяц назад
или еще больше
Похожие вопросы