//2-copy
const int enPin=8;
#include <Arduino.h>
#include "BasicStepperDriver.h"

#define EN 8
#define Feed_step 200
#define Bend_step 200
#define Feed_RPM 80
#define Bend_RPM 30

#define MICROSTEPS 16
#define FEEDSTEPS 8
int Delay = 50;

#define Bend_DIR 5
#define Bend_STEP 2
#define Feed_DIR 6
#define Feed_STEP 3
int val = 0;
int data = 0;
int a = 0;
int b = 0;
int c = 0;

BasicStepperDriver Feed_stepper(Feed_step, Feed_DIR, Feed_STEP);

BasicStepperDriver Bend_stepper(Bend_step, Bend_DIR, Bend_STEP);



void setup() {
  Serial.begin(9600);
  pinMode(enPin, OUTPUT);
  digitalWrite(enPin, LOW);
    Feed_stepper.begin(Feed_RPM, MICROSTEPS);
    Bend_stepper.begin(Bend_RPM, MICROSTEPS);
    Serial.println("Для Треугольника введите (1, Длина стороны) ");
    Serial.println("Для Квадрата введите (2, Длина стороны) ");
    Serial.println("Для Прямоугольника введите (3, Высота, Длина) ");
    Serial.println("Для Шестиугольник введите (4, Длина стороны) ");
    Serial.println("Для Пружины введите (5, Длина пружины) ");
    Serial.println("**Примечание Введите значение без скобок ");
}

void loop() {
  if (Serial.available()>0){

a = Serial.parseInt(); //motor select
b = Serial.parseInt();
c = Serial.parseInt();
  }


if (a == 1){
  Serial.println("  ");
  Serial.print("Делаем Треугольника с длинной ");
  Serial.print(b);
  Serial.println("mm");
for (int x=0; x<3; x++){
  Serial.println("..");
  Feed_stepper.move(FEEDSTEPS*b*MICROSTEPS);
  delay(Delay);
  Bend_stepper.rotate(95);  
  delay(Delay);
  Bend_stepper.rotate(-95);
  }
  Feed_stepper.move(FEEDSTEPS*15*MICROSTEPS);
  Serial.println("Готово ");
  a = 0;
  b = 0;
}


  
if (a == 2){
  Serial.println("  ");
  Serial.print("Делаем Квадрата с длинной "); 
  Serial.print(b);
  Serial.println("мм");
for (int x=0; x<4; x++){
  Serial.println("..");
  Feed_stepper.move(FEEDSTEPS*b*MICROSTEPS);
  delay(Delay);
  Bend_stepper.rotate(75);  
  delay(Delay);
  Bend_stepper.rotate(-75);
  }
  Feed_stepper.move(FEEDSTEPS*15*MICROSTEPS);
  Serial.println("Готово ");
  a = 0;
  b = 0;
}


if (a == 3){
  Serial.println("  ");
  Serial.print("Делаем Прямоугольник с длинной и высотой "); 
  Serial.print(b);
  Serial.print(" & ");
  Serial.print(c);
  Serial.println("мм");
  Serial.println("..");
 for (int x=0; x<2; x++){ 
  Feed_stepper.move(FEEDSTEPS*b*MICROSTEPS);
  delay(Delay);
  Bend_stepper.rotate(75);  
  delay(Delay);
  Bend_stepper.rotate(-75);
  delay(Delay);
  Feed_stepper.move(FEEDSTEPS*c*MICROSTEPS);
  delay(Delay);
  Bend_stepper.rotate(75);  
  delay(Delay);
  Bend_stepper.rotate(-75);
 }
 Feed_stepper.move(FEEDSTEPS*15*MICROSTEPS);
  Serial.println("Готово ");
  a = 0;
  b = 0;
}


if (a == 4){
  Serial.println("  ");
  Serial.print("Делаем Шестиугольник с длинной "); 
  Serial.print(b);
  Serial.println("мм");
for (int x=0; x<5; x++){
  Serial.println("..");
  Feed_stepper.move(FEEDSTEPS*b*MICROSTEPS);
  delay(Delay);
  Bend_stepper.rotate(70);  
  delay(Delay);
  Bend_stepper.rotate(-70);
  }
  Feed_stepper.move(FEEDSTEPS*15*MICROSTEPS);
  Serial.println("Готово ");

a = 0;
  b = 0;
}



if (a == 5){
  Serial.println("  ");
  Serial.print("Делаем Пружину с длинной "); 
  Serial.print(b);
  Serial.println("мм");
for (int x=0; x<b*5; x++){
  Serial.println("..");
  Feed_stepper.move(315);
  delay(Delay);
  Bend_stepper.rotate(60);  
  delay(Delay);
  Bend_stepper.rotate(-60);
  }
  Feed_stepper.move(FEEDSTEPS*15*MICROSTEPS);
  Serial.println("Готово ");
  a = 0;
  b = 0;
}

}
    
