const int r1 = 4;
const int g1 = 3;
const int b1 = 2;
const int r2 = 7;
const int g2 = 6;
const int b2 = 5;
const int r3 = 10;
const int g3 = 9;
const int b3 = 8;
const int r4 = 13;
const int g4 = 12;
const int b4 = 11;
int activeDiode = 0;
double BeginActive = 0;
double EndActive = 0;
double systemTimer = 0;
const int sb = A2;
const int cb = A3;
const int porog = 1023;
const int lightDelay = 5000;
int status = 0;
//номер светодиода//
double diodeConteiners[4][4]{
{1,0,0,0}, //состояние светодиода и таймер//
{0,0,0,0},
{0,0,0,0},
{1,0,0,0}
};
void setup() {
Serial.begin(9600);
pinMode(sb, INPUT);
pinMode(cb, INPUT);
pinMode(r1, OUTPUT);
pinMode(g1, OUTPUT);
pinMode(b1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(b2, OUTPUT);
pinMode(g2, OUTPUT);
pinMode(r3, OUTPUT);
pinMode(b3, OUTPUT);
pinMode(g3, OUTPUT);
pinMode(r4, OUTPUT);
pinMode(b4, OUTPUT);
pinMode(g4, OUTPUT);
// put your setup code here, to run once:
}
//включение красного цвета
void diodeActivator(int diodeNumber, double color) {
if (color == 0){
return;}
else if (diodeNumber == 0 && color == 1){
digitalWrite(r1, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 0 && color == 2){
digitalWrite(g1, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 0 && color == 3){
digitalWrite(b1, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 1 && color == 1){
digitalWrite(r2, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 1 && color == 2){
digitalWrite(g2, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 1 && color == 3){
digitalWrite(b2, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 2 && color == 1){
digitalWrite(r3, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 2 && color == 2){
digitalWrite(g3, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 2 && color == 3){
digitalWrite(b3, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 3 && color == 1){
digitalWrite(r4, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 3 && color == 2){
digitalWrite(g4, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}
else if (diodeNumber == 3 && color == 3){
digitalWrite(b4, HIGH);
diodeConteiners[diodeNumber][1] = 1;
}}
//основной цикл
void loop() {
int sbValue = analogRead(sb);
delay(1000);
if (sbValue == porog || analogRead(cb) == porog){
delay(1);
if(analogRead(sb) > 900 || analogRead(cb) > 900) {
Serial.println("click sucсess");
for (int i = 0; i < 4; i++){
diodeActivator(i, diodeConteiners[i][0]);
}
BeginActive = systemTimer;
status++;
Serial.println(status);
status = 0;
Serial.println(status);
BeginActive = systemTimer;
}
}
for (int i = 0; i < 4; i++){
if (diodeConteiners[i][0] == 4) {
diodeConteiners[i][0] = 0;}}
systemTimer+=1;
Serial.println(systemTimer);
if(systemTimer > BeginActive + 5){
digitalWrite(r1, LOW);
digitalWrite(r2, LOW);
digitalWrite(r3, LOW);
digitalWrite(r4, LOW);
digitalWrite(b1, LOW);
digitalWrite(b2, LOW);
digitalWrite(b3, LOW);
digitalWrite(b4, LOW);
digitalWrite(g1, LOW);
digitalWrite(g2, LOW);
digitalWrite(g3, LOW);
digitalWrite(g4, LOW);
diodeConteiners[0][1] = 0;
diodeConteiners[1][1] = 0;
diodeConteiners[2][1] = 0;
diodeConteiners[3][1] = 0;
BeginActive = 0;
Serial.println("diodes was off");}
else{ Serial.println("diodes is on");}
}