kód který teď používám:
Kód: Vybrat vše
#include <FastLED.h>
#define BUTTON_PIN 2
#define LED_PIN 6
#define NUM_LEDS 120
CRGB leds[NUM_LEDS];
bool oldState = HIGH;
int showType = 0;
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
bool newState = digitalRead(BUTTON_PIN);
if (newState == LOW && oldState == HIGH) {
delay(20);
newState = digitalRead(BUTTON_PIN);
if (newState == LOW) {
showType++;
if (showType > 7)
showType=0;
startShow(showType);
}
}
oldState = newState;
}
void startShow(int i) {
switch(i){
case 0: for (int i = 0; i <= 119; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
break;
case 1:
for (int i = 0; i <= 49; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
for (int i = 50; i <= 69; i++) {
leds[i] = CRGB ( 255, 0, 0);
}
for (int i = 70; i <= 119; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
break;
case 2:
for (int i = 0; i <= 49; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
for (int i = 50; i <= 69; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
for (int i = 70; i <= 119; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
break;
case 3:
for (int i = 0; i <= 49; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
for (int i = 50; i <= 69; i++) {
leds[i] = CRGB ( 0, 0, 255);
}
for (int i = 70; i <= 119; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
break;
case 4:
for (int i = 0; i <= 49; i++) {
leds[i] = CRGB ( 255, 0, 0);
}
for (int i = 50; i <= 69; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
for (int i = 70; i <= 119; i++) {
leds[i] = CRGB ( 255, 0, 0);
}
break;
case 5:
for (int i = 0; i <= 49; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
for (int i = 50; i <= 69; i++) {
leds[i] = CRGB ( 255, 255, 255);
}
for (int i = 70; i <= 119; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
break;
case 6:
for (int i = 0; i <= 49; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
for (int i = 50; i <= 69; i++) {
leds[i] = CRGB ( 255, 0, 255);
}
for (int i = 70; i <= 119; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
break;
case 7:
for (int i = 0; i <= 49; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
for (int i = 50; i <= 69; i++) {
leds[i] = CRGB ( 0, 255, 255);
}
for (int i = 70; i <= 119; i++) {
leds[i] = CRGB ( 0, 255, 0);
}
break;
}
FastLED.show();
}
}