Скетч: Езда по линии при помощи сервопривода.

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем logistic, 23 ноя 2016.

  1. logistic

    logistic Нуб

    Доброго времени суток. Имеется машина с сервоприводом на рулевое. Нужно заставить кататься по чёрной линии при помощи датчиков линии (аналоговых), что-то вроде чем больше черного видит датчик_1 тем больше отклоняется серва в одну сторону и так же со вторым, чем больше оттенок черного видит датчик_2 нем больше серва отклоняется в другую сторону. Если два датчика на белом серва на 90 (посередине) Может кто писал, подскажите с скетчем
    P.S. Такое не прокатит, сам умею:D
    Код (C++):
    #define lineSens1 A9
    #define lineSens2 A11

    #include <Servo.h>

    Servo myservo;

    void setup() {
      myservo.attach(38);

    }

    void loop() {
      if(analogRead(lineSens1)<analogRead(lineSens2)) myservo.write(180);
      if(analogRead(lineSens1)>analogRead(lineSens2)) myservo.write(0);
      if(analogRead(lineSens1)== analogRead(lineSens2)) myservo.write(90);
    }
     
    Последнее редактирование: 23 ноя 2016
  2. Arkad_snz

    Arkad_snz Гик

    Т.е. руль бывает только в трех положениях?
    Далеко вы уедете по городу на машине, у которой руль может быть только в крайних положениях, и в среднем?
    Да, и в среднем-то положении вы руль не фиксируете - постоянная перекладка руля из крайности в крайность. Прямо ехать ваша машина не сможет!
     
  3. Tomasina

    Tomasina Сушитель лампочек Модератор

    Код (C++):
    #define SENSOR_LEFT  A9
    #define SENSOR_RIGHT A11

    #include <Servo.h>
    Servo myservo;

    void setup()
    {
      myservo.attach(38);
    }

    void loop()
    {
      unsigned int left  = analogRead(SENSOR_LEFT);
      unsigned int right = analogRead(SENSOR_RIGHT);
      unsigned int angle = map(abs(left - right), 0, 1023, 90, 180);
      myservo.write(angle - 90);
    }
     
    logistic нравится это.
  4. logistic

    logistic Нуб

    Супер! Большое спасибо:)
     
  5. Tomasina

    Tomasina Сушитель лампочек Модератор

    работает хоть? :rolleyes:
     
  6. logistic

    logistic Нуб

    да)
     
  7. Novichok64

    Novichok64 Нуб

    Видео в студию!
     
  8. Arkad_snz

    Arkad_snz Гик

    Вопрос (в стиле матрешка-заданий): что нужно изменить в скетче, чтобы оно ехало по белой линии на черном фоне (белым мелом черта на асфальте)?