Працюємо з 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Модуль усилителя 2 х 3 Вт

Модуль усилителя 2 х 3 Вт

Миниатюрный стерео усилитель звуковой частоты класса D на основе микросхемы PAM8403Мощность 2 х..

19.11грн.

Мини кнопка 6 x 6 x 13 мм

Мини кнопка 6 x 6 x 13 мм

Миниатюрная кнопка с выводамиХорошо подходит под макетные платыРазмеры 6 x 6 x 13 мм..

1.83грн.

Обзор плат Arduino

Обзор плат Arduino

Оригинальный Arduino был разработан для одной специфической задачи, и справился с этой задачей в сов..

Микросхема генератор импульсов NE555P

Микросхема генератор импульсов NE555P

Микросхема NE555P предназначена для создания генераторов прямоугольных импульсов или генератора один..

4.38грн.

Стабилизатор напряжения 3,3 В 800 мА LM1117T-3.3

Стабилизатор напряжения 3,3 В 800 мА LM1117T-3.3

Стабилизатор напряжения в виде микросхемы с тремя ногамиИспользуется для стабилизации нестабилизиров..

14.05грн.