#include<ESP32Servo.h>
Servo servo1, servo2,servo3,servo4,servo5,servo6,servo7,servo8;
int a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0;
int mode = 1;
int sw1 = 0, locksw1 = 0, sw2 = 0, sw3 = 0;
void setup() {
  Serial.begin(115200);
  pinMode(15, INPUT_PULLUP);
  pinMode(2, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
  servo1.attach(13, 500, 2400);
  servo2.attach(12, 500, 2400);
  servo3.attach(14, 500, 2400);
  servo4.attach(27, 500, 2400);
  servo5.attach(26, 500, 2400);
  servo6.attach(25, 500, 2400);
  servo7.attach(33, 500, 2400);
  servo8.attach(32, 500, 2400);
}

void loop() {
  sw1 = digitalRead(15);
  sw2 = digitalRead(2);
  sw3 = digitalRead(4);
  if ((sw1 == 0) && (locksw1 == 0)) {
    mode++;
    locksw1 = 1;
    if (mode > 8) {
      mode = 1;

    }
  }
  if ((sw1 == 1) && (locksw1 == 1)) {
    locksw1 = 0;
  }
  if (sw2 == 0) {
    if ((mode == 1) && (a1 < 180)) {
      a1++;
    }
    if ((mode == 2) && (a2 < 180)) {
      a2++;
    }
    if ((mode == 3) && (a3 < 180)) {
      a3++;
    }
    if ((mode == 4) && (a4 < 180)) {
      a4++;
    }
    if ((mode == 5) && (a5 < 180)) {
      a5++;
    }
    if ((mode == 6) && (a6 < 180)) {
      a6++;
    }
    if ((mode == 7) && (a7 < 180)) {
      a7++;
    }
    if ((mode == 8) && (a8 < 180)) {
      a8++;
    }
  }
  if(sw3==0){
    if((mode==1)&&(a1>0)){
      a1--;
    }
    if((mode==2)&&(a2>0)){
      a2--;
    }
    if((mode==3)&&(a3>0)){
      a3--;
    }
    if((mode==4)&&(a4>0)){
      a4--;
    }
    if((mode==5)&&(a5>0)){
      a5--;
    }
    if((mode==6)&&(a6>0)){
      a6--;
    }
    if((mode==7)&&(a7>0)){
      a7--;
    }
    if((mode==8)&&(a8>0)){
      a8--;
    }
  }

    

        servo1.write(a1);
        servo2.write(a2);
        servo3.write(a3);
        servo4.write(a4);
        servo5.write(a5);
        servo6.write(a6);
        servo7.write(a7);
        servo8.write(a8);
        Serial.print(mode);
        Serial.print("\t");
        Serial.print(a1);
        Serial.print("\t");
        Serial.print(a2);
        Serial.print("\t");
        Serial.print(a3);
        Serial.print("\t");
        Serial.print(a4);
        Serial.print("\t");
        Serial.print(a5);
        Serial.print("\t");
        Serial.print(a6);
        Serial.print("\t");
        Serial.print(a7);
        Serial.print("\t");
        Serial.println(a8);
        delay(50);
      }