Нужна помощь! робот который должен ездить по линии

Тема в разделе "Флудилка", создана пользователем Джама Омаров, 3 сен 2016.

  1. Собрал робота который должен ездить по линии, использовал arduino uno, troyka shield, motor shield, вот код:
    int leftDirPin = 4;
    int leftSpeedPin = 5;
    int rightSpeedPin = 6;
    int rightDirPin = 7;
    int leftLinePin = 10;
    int rightLinePin = 11;

    int runSpeed = 50;

    void setupMotorShield()
    {
    pinMode(leftDirPin, OUTPUT);
    pinMode(leftSpeedPin, OUTPUT);
    pinMode(rightDirPin, OUTPUT);
    pinMode(rightSpeedPin, OUTPUT);
    }

    void go()
    {
    analogWrite(leftSpeedPin, runSpeed);
    analogWrite(rightSpeedPin, runSpeed);
    }

    void stop()
    {
    analogWrite(leftSpeedPin, 0);
    analogWrite(rightSpeedPin, 0);
    }

    void goForward()
    {
    digitalWrite(leftDirPin, HIGH);
    digitalWrite(rightDirPin, HIGH);
    go();
    }

    void turnLeft()
    {
    digitalWrite(leftDirPin, LOW);
    digitalWrite(rightDirPin, HIGH);
    go();
    }

    void turnRight()
    {
    digitalWrite(leftDirPin, HIGH);
    digitalWrite(rightDirPin, LOW);
    go();
    }

    void setup()
    {
    setupMotorShield();
    }

    void loop()
    {
    boolean whiteLeft = digitalRead(leftLinePin);
    boolean whiteRight = digitalRead(rightLinePin);

    if (whiteLeft && whiteRight) {
    goForward();
    } else if (!whiteLeft && !whiteRight) {
    stop();
    } else if (whiteRight) {
    turnLeft();
    } else {
    turnRight();
    }
    }

    А робот не едет, на motor shield два красных светодиода.
     
    Последнее редактирование: 3 сен 2016
  2. ostrov

    ostrov Гуру

    Загоните код в тэг.
     
  3. Vad33

    Vad33 Капитан-оригинал

    Переделайте процедуру SETUP

    Код (C++):
    void setup()
    {
    setupMotorShield();
    goForward();
    delay(1000);
    }
    И сразу станет понятно, судьба ли роботу ездить. :)