Опишемо програму управління серво-мотором командами з 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 | Помаранчевий дріт |

Уроки Arduino типы данных для начинающих
Привет друзья от geekmatic.in.ua! Пора заняться полезным делом и разобрать типы данных, представле..
Модуль 3 — Робота з цифровими сигналами: pull-up, pull-down і кнопка-перемикач
Модуль 3 — Робота з цифровими сигналами (курс для початківців) Мета модуля: зрозуміти, як п..
ESP32 LED PWM: частоти та роздільна здатність ШІМ (LEDC)
ESP32 LED PWM Controller: керування яскравістю світлодіодів ESP32 має вбудований модуль LED PWM C..
Одна кнопка — три команди на Arduino UNO: клік, подвійний клік і довге натискання
Одна кнопка — три команди: клік, довге натискання та подвійний клік на Arduino UNO У більшо..
Як правильно скласти технічне завдання для розробки електроніки
Як правильно скласти технічне завдання для розробки електроніки Якщо ви плануєте розробку пристро..





