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

VGA фотокамера 640 х 480

Фотокамера для подключения к контроллеру. Контроллер опрашивает камеру и сохраняет снимок на флешку,..

144.28грн.

Модуль реле одноканальный 5В 10А

Модуль реле одноканальный 5В 10А

Одноканальный модуль реле для подключения напрямую к дискретному выходу контроллера. Светодиодная ин..

26.60грн.

Разветвитель на 2 коннектора JST SM

Разветвитель на 2 коннектора JST SM

Разветвитель для коннектора JST SMМожно подключать два устройства к одному источнику сигнала паралле..

39.62грн.

Автоматическое управление озонатором воды на Arduino Nano

Автоматическое управление озонатором воды на Arduino Nano

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

Звук и музыкальная информатика

Звук и музыкальная информатика

Попросту говоря, мы представляем звук, как вибрация, проходящая через среду (как правило, в воздухе)..