Сервопривод

Тема в разделе "Закажу проект", создана пользователем Andurio, 23 янв 2016.

  1. Andurio

    Andurio Нуб

    На UNO подключить сервопривод. С ручным и программным управлением, с отображением на дисплее угла (в градусах или процентах) поворота.
     
  2. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    Какой у вас сервопривод?
     
  3. Andurio

    Andurio Нуб

    Да вот из этого набора.
    [​IMG] [​IMG]
     
  4. Crazyday

    Crazyday Нерд

    Для вывода на Serial Monitor

    Код был проверен лично.

    Код (C++):

    #include <Servo.h>
    #define POT_MAX_ANGLE 270.0 // макс. угол поворота потенциометра
    // объявляем объект типа Servo с именем myServo. Ранее мы
    // использовали int, boolean, float, а теперь точно также
    // используем тип Servo, предоставляемый библиотекой. В случае
    // Serial мы использовали объект сразу же: он уже был создан
    // для нас, но в случае с Servo, мы должны сделать это явно.
    // Ведь в нашем проекте могут быть одновременно несколько
    // приводов, и нам понадобится различать их по именам
    Servo myServo;
    void setup()
    {
      Serial.begin(9600);
      // прикрепляем (англ. attach) нашу серву к 9-му пину. Явный
      // вызов pinMode не нужен: функция attach сделает всё за нас
      myServo.attach(9);

    }
    void loop()
    {
      int val = analogRead(A0);
      // на основе сигнала понимаем реальный угол поворота движка.
      // Используем вещественные числа в расчётах, но полученный
      // результат округляем обратно до целого числа
      int angle = int(val / 1024.0 * POT_MAX_ANGLE);
      // обычная серва не сможет повторить угол потенциометра на
      // всём диапазоне углов. Она умеет вставать в углы от 0° до
      // 180°. Ограничиваем угол соответствующе
      angle = constrain(angle, 0, 180);
      val = (angle * 100 / 180);
      // и, наконец, подаём серве команду встать в указанный угол
      myServo.write(angle);
      Serial.print(angle);
      Serial.print("°");
      Serial.print("    ");
      Serial.print(val);
      Serial.println("%");
    }
    Часть кода взял здесь.
    Для вывода информации с порта рекомендую Serial Projector
     
  5. m_t

    m_t Нерд

    Можем обсудить.
    пишите на почту
    m_t01@mail.ru
    В сообщении указывайте ссылку на тему.
    Какой бюджет?
     
  6. DrProg

    DrProg Вечный нерд

    Интересно, много ли тут заказчиков изначально точно знают бюджет своего заказа? Просто для статистики. Или ждут предложения от исполнителя с просьбой "подешевле"?
     
  7. Mestniy

    Mestniy Гуру

    Обычно человек не знает сколько это стоит. И приходиться самому говорить цену. Хотя есть и грамотные пользователи, которые знают свой бюджет и конкретно говорят, сколько могут заплатить. Но таких процентов 10. А остальные 90, толи жадные и ждут предложения дешевле, толи не знают сколько могут дать(хотя таких трудно понять).
    Ну это чисто из моего скромного опыта.:cool: