#include <Stepper.h>

#define STEPS 200



Stepper stepperA(STEPS, 2, 4, 3, 5); // ostreni
Stepper stepperB(STEPS, 6, 8, 7, 9); // na platforme
Stepper stepperC(STEPS, 13, 11, 10, 12); // v merkur boxu
byte inByte = 0;
unsigned long lastTime = 0;

void setup()

{
  Serial.begin(9600);
  stepperA.setSpeed(30);
  stepperB.setSpeed(30);
  stepperC.setSpeed(30);
  pinMode(14, OUTPUT);
  randomSeed(analogRead(0));

  //  myservo.attach(14);
}

void loop()
{
/*int i,j,k,l;

  for(i=2;i<=5;i++) {
    for(j=2;j<=5;j++) {
      for(k=2;k<=5;k++) {
        for(l=2;l<=5;l++) {
          if(i!=j && j!=k && k!=l && i!=k && i!=l && j!=l) {
            Serial.print(i, DEC);
            Serial.print(" ");
            Serial.print(j, DEC);
            Serial.print(" ");
            Serial.print(k, DEC);
            Serial.print(" ");
            Serial.println(l, DEC);
            Stepper stepperA(STEPS, i,j,k,l);
            
   stepperA.setSpeed(30);
   
            
            stepperA.step(100);
            delay(300);
          }
        }
      }
    }
  }*/
  
  if (Serial.available()) {
    inByte = Serial.read();

    if (inByte == 4){
      stepperA.step(1);
    }

    if (inByte == 5){
      stepperA.step(-1);
    }

    if (inByte == 6){
      stepperB.step(1);
    }

    if (inByte == 7){
      stepperB.step(-1);
    }

    if (inByte == 8){
      stepperC.step(1);
    }

    if (inByte == 9){
      stepperC.step(-1);
    }
    
    if (inByte == 10){
      digitalWrite(14, LOW);
    }

    if (inByte == 11){
      digitalWrite(14, HIGH);
    }

    if (inByte >= 4 && inByte <= 9) {
      lastTime = millis();
    }
  }
  if ( (lastTime + 1000) < millis() ) {
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
  }
  
}

