Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод. указания к лаб. раб. по (КУПТО).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.91 Mб
Скачать

Void setup() {

???? //подключение сервопривода к выводу 6

???? //перемещение вала привода в положение 0º

}

Void loop() {

???? //перемещение вала привода в положение 30º

delay(500);

???? //перемещение вала привода в положение 60º

delay(500)

}

К п.3 Взаимодействие с последовательным интерфейсом в Arduino IDE осуществляется через встроенный класс Serial, который служит для связи устройства Ардуино с компьютером или другими устройствами, поддерживающими последовательный интерфейс обмена данными. Все платы Arduino имеют хотя бы один последовательный порт (UART, иногда называют USART). Для обмена данными Serial используют цифровые порты ввод/вывода 0 (RX) и 1 (TX), а также USB порт. В работе используются следующие методы класса Serial:

  • begin() – Инициирует последовательное соединение и задает скорость передачи данных в бит/c (бод). Для обмена данными с компьютером используйте следующие значения: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 или 115200.

  • read() – Cчитывает очередной доступный байт из буфера последовательного соединения.

  • println() – Передает данные через последовательное соединение как ASCII текст с следующим за ним символом переноса строки (ASCII символ 13 или '\r') и символом новой строки (ASCII 10 или '\n').

Необходимый скетч может быть реализован по следующему шаблону:

#include <Servo.h>

String inputString = "";

boolean stringComplete = false;

Servo sm;

int pos=0;

void setup() {

???? // Инициализация сервопривода на скорости 9600 бод

inputString.reserve(200);

???? // подключение сервопривода к выводу 6

???? //перемещение вала привода в положение 0º

}

void loop() {

if (stringComplete) {

/* целочисленная переменная */=inputString.toInt();

???? //перемещение вала привода в полученное положение

inputString = "";

stringComplete = false;

}

}

void serialEvent() {

while (Serial.available()) {

char inChar = (char)Serial.read();

inputString += inChar;

if (inChar == '\n') {

stringComplete = true;

}

}

}

Отладку скетча можно выполнить при помощи встроенного монитора последовательного порта (рис. 1).

Рис. 1 – Вызов окна монитора последовательного порта

Приложение на C# должно иметь одну форму со следующим интерфейсом (рис. 2).

Рис. 2 – Интерфейс управляющего приложения

Используемые элементы, а также их свойства приведены в табл. 1

Табл. 1 Свойства элементов интерфейса управляющего приложения

Элемент

Свойство

Значение

Label

Name

currentPosition

Text

0

TrackBar

Name

servoPosition

Maximum

180

Minimum

0

SmallChange

1

Button

Text

Установить

Код единственной формы приложения может быть разработан по следующему шаблону:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO.Ports;

namespace WindowsFormsApplication9

{

public partial class Form1 : Form

{

public Form1()

{