Магазин у відпустці 23.05 - 28.05. Всі замовлення будуть оброблені в понеділок

Опишемо програму управління серво-мотором командами з 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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Кулер для Orange PI PC

Кулер для Orange PI PC

Вентилятор охолодження мінікомп'ютера Orange PI PCПідходить під акриловий корпус для Orang..

35.31грн.

Блок живлення 5 В 2 А з виходом USB

Блок живлення 5 В 2 А з виходом USB

Блок живлення з портом USB для живлення контролерів, мінікомп'ютерів та іншої техніки.Напруга на вих..

86.02грн.

Модуль MicroSD карти пам'яті

Модуль MicroSD карти пам'яті

Модуль картки пам'яті з інтерфейсом SPI. Призначений для зберігання різноманітних даних контролера: ..

21.85грн.

Ультразвуковий датчик відстані HC-SR04

Ультразвуковий датчик відстані HC-SR04

Напруга живлення 5 ВРобочий кут відбитої хвилі не більше 15 градусівДіапазон вимірюваних відстаней 2..

43.16грн.

Тестуємо WEB-інструмент програмування Arduino на офіційному сайті

Тестуємо WEB-інструмент програмування Arduino на офіційному сайті

Подивимось ближче на веб-редакторНа офіційному сайті  Arduino в розділі скачування засобів прог..

Нове

Модуль твердотільного реле 4-канальний

Модуль твердотільного реле 4-канальний

Модуль призначений для комутації 4-х навантажень зі змінною напругою живлення 75 ... 264 ВМаксимальн..

Оптопара EL817 SMD

Оптопара EL817 SMD

Оптопара з транзистором на виходіЗастосовується для гальванічної розв'язки дискретного сигналу, а та..

Стабілізатор напруги 5В 2А мікросхема L78S05CV

Стабілізатор напруги 5В 2А мікросхема L78S05CV

Мікросхема стабілізатор напруги L78S05CVЗастосовується для стабілізації пульсуючої напруги в блоках ..

Програматор AVR-контролерів USBASP

Програматор AVR-контролерів USBASP

Програматор для завантаження та відлагодження програм в мікроконтролери компанії ATMEL.Інтерфейс про..

Зсувний регістр 74HC595N

Зсувний регістр 74HC595N

Цю мікросхему використовують для керування світлодіодними гірляндами та символьними індикаторами.Вон..

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

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

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

Вентилятор для Orange PI товщиною 10мм

Вентилятор для Orange PI товщиною 10мм

Вентилятор для охолодження процесора міні-комп'ютера Orange PI або Raspberry PIПрацює дуже тихоЖивле..

Термінальний роз'ємний конектор кутовий 4д

Термінальний роз'ємний конектор кутовий 4д

Роз'ємний 4-дротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з'єд..

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

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

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

Термінальний роз'ємний конектор кутовий 3д

Термінальний роз'ємний конектор кутовий 3д

Роз'ємний трьохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з..

Термінальний роз'ємний конектор кутовий 2д3.81mm

Термінальний роз'ємний конектор кутовий 2д3.81mm

Роз'ємний двохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з'..

Мікроконтролер ATTINY13A

Мікроконтролер ATTINY13A

Мініатюрний економічний AVR 8-бітний мікроконтролер, який можна програмувати як програматором, так і..

Логічний аналізатор 8 каналів

Логічний аналізатор 8 каналів

Надписи на корпусі можуть відрізнятись від наведених на картинці, але сутність приладу незмінна.Цифр..

Лінійний підшипник 8мм

Лінійний підшипник 8мм

Підшипник для лінійного ковзання робочого органу 3D-принтера або CNC за своїми осями.Одягається на ц..

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для натяжки зубчатого ременя GT2 6 мм на вісь 5 ммЗастосовується у 3D-принтерах та CNCШири..

Підшипник для зубчатого ременя GT2 20 зубів

Підшипник для зубчатого ременя GT2 20 зубів

Підшипник для натяжки зубчатого ременя GT2 6 мм на вісь 5 мм20 зубцівШирина 10 мм..