#include <Adafruit_NeoPixel.h>
#include <EEPROM.h>
Adafruit_NeoPixel neo(20,7,NEO_GRB + NEO_KHZ800);
void setup() {
neo.begin();
neo.show();
Serial.begin(9600);
randomSeed(A0);
attachInterrupt(digitalPinToInterrupt(3),duha,FALLING);
attachInterrupt(digitalPinToInterrupt(2),majak_vola,FALLING);
}
int pole[3] = {0,0,0};
unsigned long time = 0;
bool majak_t = true;
bool duha_t = false;
void loop() {
if(majak_t == true){
for(int i = 0;i < 21;i++){
for(int j = 0;j<3;j++){
int ran1 = random(0,2);
Serial.print(String(ran1) + ",");
Serial.println(" ");
if(ran1 == 0){
pole[j] = 0;
}
else if(ran1 == 1){
pole[j] = 255;
break;
}
else if(pole[0] == 0 && pole[1] == 0 && pole[2] == 0){
pole[0] = 255;
}
}
neo.setPixelColor(i,neo.Color(pole[0],pole[1],pole[2]));
neo.show();
delay(100);
for(int i = 0;i<3;i++){
pole[i] = 0;
Serial.println(" ");
}
}
for(int i = 20;i >= 0;i--){
neo.setPixelColor(i,neo.Color(0,0,0));
neo.show();
delay(100);
}
}
//----------------------------------------------//
if(duha_t == true){
if(millis() >= time){
if(time % 1000 == 0){
majak(0,1);
}
else if(time % 500 == 0){
majak(1,0);
}
time += 500;
}
}
}
void duha(){
majak_t = false;
duha_t = true;
}
void majak_vola(){
majak_t = true;
duha_t = false;
}
void majak(int cislo,int cislo2){
for(int i = 0;i<20;i++){
if(i % 2 == cislo){
neo.setPixelColor(i,neo.Color(255,0,0));
neo.show();
}
if(i % 2 == cislo2){
neo.setPixelColor(i,neo.Color(0,0,255));
neo.show();
}
}
}