NEMA17+A4988+кнопка

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Roobie, 31 дек 2017.

  1. Roobie

    Roobie Нуб

    Добрый день. Вчера приобрел uno и nema17 (+A4988).
    Также приобрел кнопки и резисторы.
    Хочу чтобы по нажатию кнопки двигатель выполнял задачу из кода (скажем, поворот вала на 360) и останавливался.
    Подскажите, пожалуйста, как сделать?

    Двигатель запускаю так :
    Код (C++):
    int Index;
    void setup()
    {
      pinMode(6, OUTPUT); //Enable
      pinMode(5, OUTPUT); //Step
      pinMode(4, OUTPUT); //Direction
      digitalWrite(6,LOW);
    }
    void loop()
    {
      digitalWrite(4,HIGH);
      for(Index = 0; Index < 2000; Index++)
      {
        digitalWrite(5,HIGH);
        delayMicroseconds(500);
        digitalWrite(5,LOW);
        delayMicroseconds(500);
      }
      delay(1000);
    }
    Думал, что должно заработать так :
    Код (C++):
    int Index;
    int switchPin = 8;

    void setup()
    {
      pinMode(switchPin, INPUT);
      pinMode(6, OUTPUT); //Enable
      pinMode(5, OUTPUT); //Step
      pinMode(4, OUTPUT); //Direction

      digitalWrite(6,LOW);
    }

    void loop()
    {
      if (digitalRead(switchPin) == HIGH)
    {
        digitalWrite(4,HIGH);
      for(Index = 0; Index < 2000; Index++)
      {
        digitalWrite(5,HIGH);
        delayMicroseconds(500);
        digitalWrite(5,LOW);
        delayMicroseconds(500);
      }
    }
      else
      {
        digitalWrite(6, HIGH);
      }
    }
    Но так не работает.

    Прошу прощения за столь элементарный вопрос, первый день с ардуино.
    Если нет желания напрямую помочь с кодом, дайте, пожалуйста, какую-нибудь статью, или урок, который поможет решить мою задачу. Большое спасибо. С наступающим новым годом!