Працюємо з 09:00 до 19:00 Пн-Пт
Київ біля ТЦ Квадрат бул.Перова

Опишем программу управления серво-мотором командами с COM-порта на примере контроллера Arduino Leonardo.

Управление будет  в таком виде как: в стандартном (или стороннем) окне монитора COM-порта вводим целую цифру от нуля до 180, нажимаем Enter и серво меняет положение своего плеча на заданный угол. 

Скетч в Arduino IDE выглядит следующим образом:

Текст программы с комментариями следующий:

#include <Servo.h>  //подключение библиотеки servo


Servo myservo;  // создание объекта servo для управления мотором
// на большинстве плат Arduino можно создать 12 servo объектов


String inputString = "";         // переменная типа string для сохранения входных данных
boolean stringComplete = false;  // флаг данные получены 


void setup() {
  myservo.attach(9); //выбираем девятый управляющий дискретный выход контроллера для управления моторчиком 


  //инициализация последовательного порта:
  Serial.begin(9600);


  // получить 200 байтов и записать в переменную inputString:
  inputString.reserve(200);


  myservo.write(0); //выставляем изначальное положение серво в 0 градусов
}


void loop() {
  serialEvent(); //вызов нашей коммуникационной функции


  // печатаем ответ в COM-порт и поворачиваем серво на заданный угол:
  if (stringComplete) {
    Serial.println(inputString);


    myservo.write(inputString.toInt()); //задание положения серво-машинке из полученной команды


    // обнуляем строковую переменную:
    inputString = "";
    stringComplete = false;
  }
}


void serialEvent() {
  while (Serial.available()) {
    // получить новый байт данных:
    char inChar = (char)Serial.read();


    // добавить новый байт к строковой переменной inputString:
    inputString += inChar;


    // если входной символ является новой строкой, взвести флаг
    // что бы основной цикл обработал принятую команду:
    if (inChar == '\n') {
      stringComplete = true;
    }


  }
}


Подключаем серво к плате контроллера по таблице соответсвия выводов:

Arduino
 Servo
Ноль питания
Коричневый провод
Плюс 5В
Красный провод
Дискретный выход №9
Оранжевый провод



В мониторе COM-порта тоже необходимо сделать некоторые настройки для корректной работы проекта. В правом нижнем углу окна необходимо выбрать следующие значения выпадающих списков "Новая строка" (чтобы все ваши команды из командной строки заканчивались концом строки) и 9600 бод (так как мы настроили последовательную связь на скорость обмена 9600).
 
Если всё настроено правильно, то введя цифру и нажав Enter в окне монитора COM-порта, серво повернется на соответствующий угол и контроллер вернет эту цифру назад в последовательный порт.

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Модуль стабилизатора напряжения 5 В

Модуль стабилизатора напряжения 5 В

Модуль предназначен для питания различных электронных устройств, модулей, контроллеров, работающих н..

11.26грн.

Кабель сигнальный 4х0,22мм² экранированный медный

Кабель сигнальный 4х0,22мм² экранированный медный

Кабель экранированный четырехжильный для монтажа соединений между датчиками, исполнительными механиз..

6.16грн.

Аварийный звуковой сигнализатор 85дБ 12В

Аварийный звуковой сигнализатор 85дБ 12В

Громкий сигнализатор аварийных ситуаций.Напряжение питания 12 ВТок потребления 23 мАХарактер звука -..

61.14грн.

Симистор BTA12-600B

Симистор BTA12-600B

Высоковольтный симистор.Максимальный ток нагрузки при полной синусоиде 12 АМаксимальный ток управляю..

10.32грн.

Торцевой подшипник под вращающуюся ось 8 мм

Торцевой подшипник под вращающуюся ось 8 мм

Такие подшипники предназначены для крепления оси червячной передачи на любой из трёх осей перемещени..

51.99грн.