#include <Servo.h>
Servo solcros;
Servo soldire;
Servo sagdire;
Servo sagcros;
bool butondurum[] = {false, false, false, false, false, false};
int butonlar[] = {13, 12, 8, 7, 4, 2};
int zamanlayici = 0;
void setup() {
for (int i = 0; i <= 5; i++) {
pinMode(butonlar[i], INPUT);
}
solcros.attach(11);
soldire.attach(10);
sagdire.attach(6);
sagcros.attach(9);
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 6; i++) {
if (digitalRead(butonlar[i]) == HIGH) {
if (butondurum[i] == true) {
butondurum[i] = false;
} else {
butondurum[i] = true;
for (int j = 0; j < 6; j++) {
if (j != i) {
butondurum[j] = false;
}
}
}
}
}
if (butondurum[0] == true) {
for (;;) {
zamanlayici = random(1, 5);
Solcros(zamanlayici);
}
} else if (butondurum[1] == true) {
for (;;) {
zamanlayici = random(1, 5);
Soldire(zamanlayici);
}
} else if (butondurum[2] == true) {
for (;;) {
zamanlayici = random(1, 5);
Sagdire(zamanlayici);
}
} else if (butondurum[3] == true) {
for (;;) {
zamanlayici = random(1, 5);
Sagcros(zamanlayici);
}
} else if (butondurum[4] == true) {
Ucleme();
} else {
zamanlayici = 0;
solcros.write(0);
soldire.write(0);
sagdire.write(0);
sagcros.write(0);
}
}
void Solcros(int zamanlayici1) {
solcros.write(0);
delay(zamanlayici1 * 500);
solcros.write(135);
delay(1000);
solcros.write(0);
}
void Soldire(int zamanlayici1) {
soldire.write(0);
delay(zamanlayici1 * 500);
soldire.write(135);
delay(1000);
soldire.write(0);
}
void Sagdire(int zamanlayici1) {
sagcros.write(0);
delay(zamanlayici1 * 500);
sagcros.write(135);
delay(1000);
sagcros.write(0);
}
void Sagcros(int zamanlayici1) {
sagcros.write(0);
delay(zamanlayici1 * 500);
sagdire.write(135);
delay(1000);
sagcros.write(0);
}
void Ucleme() {
for (;;) {
zamanlayici = random(1, 5);
delay(zamanlayici * 500);
int secim = random(1, 5);
switch (secim) {
case 1:
solcros.write(135);
delay(300);
solcros.write(0);
break;
case 2:
soldire.write(135);
delay(300);
soldire.write(0);
break;
case 3:
sagdire.write(135);
delay(300);
sagdire.write(0);
break;
case 4:
sagcros.write(135);
delay(300);
sagcros.write(0);
break;
default:
zamanlayici = 0;
solcros.write(0);
soldire.write(0);
sagdire.write(0);
sagcros.write(0);
}
}
}