Віримо в перемогу ЗСУ!
Працюємо з 09:00 до 18: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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Шестерня для зубчатого ременю на 20 зубців під вісь 5 мм

Шестерня для зубчатого ременю на 20 зубців під вісь 5 мм

Використовується для передачі та редукції обертаючого моменту від двигунаКількість зубців 20 шт.Діам..

45.09грн.

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

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

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

6.33грн.

Двигун 12В з редуктором 150RPM

Двигун 12В з редуктором 150RPM

Двигун постійного струму з потужним редуктором для використання в різноманітній робототехніці, елект..

552.16грн.

Світлодіод ультраяскравий 3мм

Світлодіод ультраяскравий 3мм

Над-яскравий світлодіод діаметром 3 ммКорпус прозорий в світлодіодів різного кольору світіння. Тобто..

0.95грн.

Кінцевик з коліщатком для 3D принтера або CNC ramps 1.4

Кінцевик з коліщатком для 3D принтера або CNC ramps 1.4

Кінцевий вимикач для встановлення на 3D-принтер або CNC-верстат системи ramps 1.4В комплекті кабель ..

50.19грн.