
  // Делаем 500 шагов const byte stepPin = 32;
const byte directionPin = 33;  //объявляем пин отвечающий за направление вращения
const byte enablePin = 25;    //объявляем пин отвечающий за разрешение/запрещение работы
const byte stepPin = 32;      //объявляем пин отвечающий за совершение одного шага
 
// Выдержка для регулировки скорости вращения
int delayTime = 1; // в мс
 
void setup() {
  Serial.begin(9600);
  // Настраиваем нужные контакты на выход
  pinMode(stepPin, OUTPUT);
  pinMode(directionPin, OUTPUT);
  pinMode(enablePin, OUTPUT);  
}
 
void loop() {
 
  // Подаём питание на двигатель
 digitalWrite(enablePin, HIGH);
digitalWrite(directionPin, HIGH); //выбрали направление по часовой
  for (int i = 0; i <500; i++) {  //цикл на 500 шагов
    // Делаем шаг
    digitalWrite(stepPin, LOW);
    delay(delayTime);
 
    digitalWrite(stepPin, HIGH);
    delay(delayTime);
  }
  
  if (digitalRead(directionPin) == HIGH) {
    Serial.println("========");
    Serial.println("против часовой");
  } else {
    Serial.println("========");
    Serial.println("по часовой");
  }
  Serial.print("Скорость вращения = ");
  Serial.println(delayTime);

  
  digitalWrite(enablePin, LOW); //выключили двигатель
  delay(500); 

  digitalWrite(enablePin, HIGH);
 digitalWrite(directionPin, LOW); //выбрали направление против часовой
   for (int i = 0; i <500; i++) {
    // Делаем шаг
    digitalWrite(stepPin, HIGH);
    delay(delayTime);
 
    digitalWrite(stepPin, LOW);
    delay(delayTime);
  }

  if (digitalRead(directionPin) == HIGH) {
    Serial.println("========");
    Serial.println("против часовой");
  } else {
    Serial.println("========");
    Serial.println("по часовой");
  }
  Serial.print("Скорость вращения = ");
  Serial.println(delayTime);
  
  digitalWrite(enablePin, LOW); //выключили двигатель
  delay(500); 
}
