#include <Servo.h>
Servo ser;
void setup() {
ser.attach(9);
ser.write(0);
Serial.begin(9600);
for(int i = 2;i<5;i++){
pinMode(i,OUTPUT);
digitalWrite(i,HIGH);
}
for(int i = 5;i<8;i++){
pinMode(i,OUTPUT);
}
}
int pole[3] = {0,0,0};
bool state1 = true;
bool state2 = true;
bool state3 = true;
int index = 0;
int counter = 0;
void loop() {
if(digitalRead(2) == LOW && state1 == true){
for(int i = 0;i<3;i++){
if(pole[index] == 0){
pole[0] = 1;
break;
}
else if(pole[index] == 2){
index++;
}
}
index = 0;
state1 = false;
counter++;
Serial.println(pole[0] + pole[1] + pole[2]);
delay(100);
}
if(digitalRead(2) == HIGH && state1 == false){
state1 = true;
}
//---------------------------------------------------//
if(digitalRead(3) == LOW && state2 == true){
for(int i = 0;i<3;i++){
if(pole[0] == 1){
pole[1] = 1;
}
if(pole[index] == 0){
pole[index] = 2;
break;
}
else if(pole[index] == 2){
index++;
}
}
index = 0;
state2 = false;
counter++;
Serial.println(pole[0] + pole[1] + pole[2]);
delay(100);
}
if(digitalRead(3) == HIGH && state2 == false){
state2 = true;
}
//--------------------------------------------------//
if(digitalRead(4) == LOW && state3 == true){
for(int i = 0;i<3;i++){
if(pole[0] == 1 && pole[1] == 1){
pole[2] = 1;
break;
}
if(pole[index] == 0){
pole[index] = 2;
break;
}
else if(pole[index] == 2){
index++;
}
}
index = 0;
counter++;
Serial.println(pole[0] + pole[1] + pole[2]);
state3 = false;
delay(100);
}
if(digitalRead(4) == HIGH && state3 == false){
state3 = true;
}
if(pole[0] == 1 && pole[1] == 1 && pole[2] == 1){
digitalWrite(6,HIGH);
ser.write(90);
delay(5000);
ser.write(0);
vypni();
pole[0] = 0;
pole[1] = 0;
pole[2] = 0;
counter = 0;
}
if(counter == 3){
digitalWrite(5,HIGH);
counter = 0;
delay(5000);
vypni();
pole[0] = 0;
pole[1] = 0;
pole[2] = 0;
}
}
void vypni(){
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
}