#include <Adafruit_NeoPixel.h>
#include <EEPROM.h>
Adafruit_NeoPixel a(20, 4, NEO_GRB + NEO_KHZ800);
int jozo = 0;
void setup() {
pinMode(3, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), efekt, FALLING);
randomSeed(analogRead(A0));
a.begin();
jozo = EEPROM.read(1);
if (jozo == 255) {
jozo = 0;
}
}
void loop() {
if (jozo == 0) {
for (int i = 0; i < 20; i++) {
int rand = random(0, 3);
if (rand == 0) {
a.setPixelColor(i, 255, 0, 0);
a.show();
delay(50);
}
else if (rand == 1) {
a.setPixelColor(i, 0, 255, 0);
a.show();
delay(50);
}
else if (rand == 2) {
a.setPixelColor(i, 0, 0, 255);
a.show();
delay(50);
}
}
for (int i = 20; i >= 0; i--) {
a.setPixelColor(i, 0, 0, 0);
a.show();
delay(50);
}
}
else if (jozo == 1) {
for (int i = 0; i < 20; i++) {
if (i % 2 == 0) {
a.setPixelColor(i, 0, 0, 255);
a.show();
}
else {
a.setPixelColor(i, 0, 0, 0);
a.show();
}
}
delay(500);
for (int i = 0; i < 20; i++) {
if (i % 2 == 1) {
a.setPixelColor(i, 255, 0, 0);
a.show();
}
else {
a.setPixelColor(i, 0, 0, 0);
a.show();
}
}
delay(500);
}
else if (jozo == 2) {
for (int i = 0; i < 20; i++) {
a.setPixelColor(i, 255, 255, 255);
a.show();
delay(50);
a.setPixelColor(i, 0, 0, 0);
a.show();
if (i == 20)
i = 0;
}
}
}
void efekt() {
if (jozo == 0) {
jozo = 1;
}
else if (jozo == 1) {
jozo = 2;
}
else if (jozo == 2) {
jozo = 0;
}
EEPROM.update(1, jozo);
}