Управление Ардуино с компьютера

Рассмотрим управление Arduino с компьютера через USB. Представим несколько программ (скетчей) для управления платы Ардуино через USB с компьютера.

Arduino UNO программирование для начинающих

Как управлять Ардуино с компьютера через USB. Расскажем, как произвести включение светодиода и управлять сервомотором на Arduino с компьютерной клавиатуры через функцию Serial.available() и Serial.read(). Данные функции проверяют, поступают ли какие-то команды на микроконтроллер по последовательному порту, а затем считывают поступающие команды, вводимые в Serial monitor с компьютера.

Управление Ардуино через компьютер

Функция Serial.available() получает количество байт доступных для чтения из последовательного порта. Это те байты которые отправлены с компьютера и записаны в буфер последовательного порта. Буфер Serial monitor Arduino может хранить максимум до 64 байт. Функция используется также при подключении Bluetooth модуля к Ардуино и полезна при отладке устройства на проектирования.

Serial.available Ардуино. Примеры

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno;
  • Макетная плата;
  • USB-кабель;
  • 1 светодиод;
  • 1 резистор 220 Ом;
  • 1 сервопривод;
  • Провода «папка-папка» и «папка-мамка».

Остальные исполнительные устройства для Arduino UNO вы можете взять на свое усмотрение и самостоятельно попробовать управлять ими через компьютер с помощью USB кабеля. Соберите на макетной плате схему с одним светодиодом из первого занятия Что такое Ардуино и как им пользоваться. Представим несколько вариантов по управлению микроконтроллера Arduino с компьютера.

1. Включение светодиода на Ардуино с компьютера

Управление светодиодом на Arduino UNO с компьютера
Управление светодиодом на Arduino UNO с компьютера

После сборки схемы загрузите следующий скетч в плату

int val; // освобождаем память в контроллере для переменой

void setup()
{
  Serial.begin(9600); // подключаем последовательный порт
  pinMode(13, OUTPUT); // объявляем пин 13 как выход
}

void loop()
{
  if (Serial.available()) // проверяем, поступают ли какие-то команды
  {

    val = Serial.read(); // переменная val равна полученной команде

    if (val == '1') {digitalWrite(13, HIGH);} // при 1 включаем светодиод
    if (val == '0') {digitalWrite(13, LOW);} // при 0 выключаем светодиод

  }
}

Пояснения к коду:

  1. Функция Serial.available() проверяет поступление команд с компьютера;
  2. Функция Serial.read() читает данные, поступившие в Serial monitor.

На что обратить внимание:

  1. В условии if (val == '1') стоит знак двойное равенство «соответствие»;
  2. В условии if (val == '1') необходимо использовать одинарные кавычки.

Задание для самостоятельного выполнения:

  1. Добавьте в электрическую схему еще один светодиод и перепишите скетч для плавного включения светодиода на Ардуино с компьютера.

При тестировании и настройке различных устройств, управляемых через Bluetooth, например, роботом или Лодкой на Ардуино вам пригодится знание, как управлять сервомотором через компьютер. Поэтому рассмотрим сейчас простое управление сервоприводом через компьютер по USB кабелю. При этом через монитор можно отправлять не только цифры, но и буквы латинского алфавита.

2. Управление сервоприводом с компьютера

Управление сервоприводом на Arduino UNO с компьютера
Управление сервоприводом на Arduino UNO с компьютера

После сборки схемы загрузите следующий скетч в плату

#include <Servo.h> // подключаем библиотеку для сервопривода
Servo servo; // объявляем переменную servo типа "servo"
int val; // освобождаем память в контроллере для переменой

void setup()
{
  Serial.begin(9600); // подключаем последовательный порт
  servo.attach(11); // привязываем сервопривод к выходу 11
}

void loop()
{
  if (Serial.available()) // проверяем, поступают ли какие-то команды
  {

    val = Serial.read(); // переменная val равна полученной команде

    if (val == '1') { servo.write(10); } // при 1 поворачиваем серво на 10
    if (val == '2') { servo.write(45); } // при 2 поворачиваем серво на 45
    if (val == '3') { servo.write(90); } // при 3 поворачиваем серво на 90

  }
}

Пояснения к коду:

  1. Функция Serial.read() считывает команды, вводимые в Serial monitor;
  2. В некоторых примерах можно встретить такой вариант проверки появления данных в Serial monitor if (Serial.available()>0).

На что обратить внимание:

  1. Сервопривод подключается только к аналоговым портам servo.attach(11).
  2. В качестве команд можно использовать не только цифры, но и буквы. При этом имеет значение какая буква — прописная или строчная.

Задание для самостоятельного выполнения:

  1. Самостоятельно сделайте управление мотором на Ардуино с компьютера.
1 Star2 Stars3 Stars4 Stars5 Stars (43 votes, average: 4,81 out of 5)
Загрузка...

5 комментариев для “Управление Ардуино с компьютера

  1. Здравствуйте! Отличный урок, но светодиодов может быть только 10 (0-9). Как управлять 11 и более?

    1. Спасибо. Добавили информацию о том, что для управления Arduino через Serial monitor можно использовать еще латинские буквы. При этом не забывайте, что строчная (f) и прописная буква (F) — это два разных символа с точки зрения микроконтроллера.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *