Arduino servo. Управление сервоприводом Arduino через последовательный порт: подробное руководство

Как подключить сервопривод к Arduino. Как написать код для управления сервоприводом через последовательный порт. Как отправлять команды с компьютера на Arduino для поворота сервопривода. Какие проблемы могут возникнуть при работе с сервоприводами и Arduino.

Содержание

Что такое сервопривод и как он работает

Сервопривод — это электромеханическое устройство, которое позволяет точно управлять положением, скоростью и ускорением вала. В отличие от обычных двигателей, сервоприводы имеют встроенную обратную связь, позволяющую контролировать их положение.

Основные компоненты сервопривода:

  • Электродвигатель постоянного тока
  • Редуктор для увеличения крутящего момента
  • Потенциометр для определения положения вала
  • Электронная схема управления

Как работает сервопривод?

  1. На сервопривод подается управляющий сигнал — последовательность импульсов.
  2. Длительность импульса определяет желаемый угол поворота вала.
  3. Схема управления сравнивает заданное положение с текущим.
  4. Двигатель вращается, пока не будет достигнуто нужное положение.

Подключение сервопривода к Arduino

Для управления сервоприводом с помощью Arduino требуется всего 3 провода:


  • Питание (красный) — подключается к 5V на Arduino
  • Земля (черный/коричневый) — подключается к GND
  • Сигнальный (желтый/оранжевый) — подключается к цифровому пину

Схема подключения:

  1. Подключите красный провод сервопривода к пину 5V на Arduino
  2. Подключите черный/коричневый провод к GND
  3. Подключите сигнальный провод к цифровому пину (например, 9)

Важно помнить при подключении:

  • Сервоприводы потребляют значительный ток. При использовании более 2-3 сервоприводов может потребоваться внешнее питание.
  • Не превышайте максимально допустимый ток пинов Arduino.
  • Используйте стабилизатор напряжения при питании от батареи.

Программирование Arduino для управления сервоприводом

Для работы с сервоприводами в Arduino используется библиотека Servo. Основные шаги:

  1. Подключите библиотеку: #include <Servo.h>
  2. Создайте объект сервопривода: Servo myservo;
  3. Привяжите сервопривод к пину: myservo.attach(9);
  4. Управляйте положением: myservo.write(angle);

Пример базового кода:


#include <Servo.h>

Servo myservo;

void setup() {
  myservo.attach(9);
}

void loop() {
  myservo.write(0);  // поворот на 0 градусов
  delay(1000);
  myservo.write(90); // поворот на 90 градусов  
  delay(1000);
}

Реализация последовательного управления сервоприводом

Для управления сервоприводом с компьютера через последовательный порт:


  1. Настройте последовательное соединение в setup()
  2. Считывайте данные из Serial в loop()
  3. Преобразуйте полученное значение в угол для сервопривода
  4. Отправьте команду на сервопривод

Пример кода:


#include <Servo.h>

Servo myservo;
int angle = 0;

void setup() {
  Serial.begin(9600);
  myservo.attach(9);
}

void loop() {
  if (Serial.available() > 0) {
    angle = Serial.parseInt();
    angle = constrain(angle, 0, 180);
    myservo.write(angle);
    Serial.print("Повернуто на угол: ");
    Serial.println(angle);
  }
}

Отправка команд с компьютера на Arduino

Для отправки команд с компьютера на Arduino через последовательный порт:

  1. Откройте монитор порта в Arduino IDE
  2. Выберите скорость 9600 бод
  3. Введите число от 0 до 180 и нажмите Enter
  4. Сервопривод повернется на указанный угол

Как это работает?

  • Arduino постоянно проверяет наличие данных в буфере Serial
  • При получении числа оно преобразуется в угол
  • Угол ограничивается диапазоном 0-180 градусов
  • Команда отправляется на сервопривод

Типичные проблемы при работе с сервоприводами

При работе с сервоприводами и Arduino могут возникать следующие проблемы:


1. Дрожание сервопривода

Причины:

  • Недостаточное питание
  • Помехи в цепи управления
  • Механические проблемы

Решения:

  • Используйте отдельный источник питания для сервоприводов
  • Добавьте конденсатор между VCC и GND
  • Проверьте механические соединения

2. Сервопривод не движется

Возможные причины:

  • Неправильное подключение
  • Ошибки в коде
  • Неисправность сервопривода

Что проверить:

  • Правильность подключения проводов
  • Корректность кода и номера пина
  • Работоспособность сервопривода на тестовом скетче

3. Неточное позиционирование

Причины неточности:

  • Люфт в механике сервопривода
  • Нестабильное питание
  • Ограничения точности недорогих сервоприводов

Как улучшить точность:

  • Используйте качественные сервоприводы
  • Обеспечьте стабильное питание
  • Применяйте калибровку в программе

Расширенные возможности управления сервоприводами

Помимо базового управления положением, с сервоприводами можно реализовать более сложные алгоритмы:

Плавное движение

Для создания плавного движения сервопривода:

  1. Разбейте большой угол поворота на маленькие шаги
  2. Постепенно увеличивайте угол в цикле
  3. Добавьте небольшую задержку между шагами

Пример кода для плавного движения:



void smoothMove(int startAngle, int endAngle) {
  int step = (startAngle < endAngle) ? 1 : -1;
  for (int angle = startAngle; angle != endAngle; angle += step) {
    myservo.write(angle);
    delay(15);
  }
}

Управление скоростью

Для управления скоростью движения сервопривода:

  • Измените время задержки между шагами
  • Меньшая задержка = более быстрое движение
  • Большая задержка = более медленное движение

Пример функции с регулируемой скоростью:


void moveWithSpeed(int startAngle, int endAngle, int speed) {
  int step = (startAngle < endAngle) ? 1 : -1;
  int delayTime = map(speed, 0, 100, 50, 5);
  for (int angle = startAngle; angle != endAngle; angle += step) {
    myservo.write(angle);
    delay(delayTime);
  }
}

Применение сервоприводов в проектах

Сервоприводы широко используются в различных проектах робототехники и автоматизации. Вот несколько идей для применения:

Робот-манипулятор

Создайте простую роботизированную руку:

  • Используйте несколько сервоприводов для разных суставов
  • Напечатайте на 3D-принтере или вырежьте из фанеры части руки
  • Запрограммируйте последовательности движений

Система слежения за солнцем

Автоматическая система для солнечных панелей:


  • Установите сервопривод для поворота панели
  • Добавьте фоторезисторы для определения направления на солнце
  • Напишите код для поворота к максимальному освещению

Автоматическая кормушка для животных

Создайте устройство для кормления питомцев по расписанию:

  • Используйте сервопривод для открывания контейнера с кормом
  • Добавьте часы реального времени для отслеживания времени
  • Запрограммируйте подачу корма в заданное время

Эти проекты демонстрируют разнообразие применений сервоприводов в сочетании с Arduino. Экспериментируйте и создавайте свои уникальные устройства!


Сервопривод

— ссылка на Arduino

Управление устройством

Позволяет платам Arduino управлять различными серводвигателями.
Эта библиотека может управлять большим количеством сервоприводов. Он осторожно использует таймеры: библиотека может управлять 12 сервоприводами, используя только 1 таймер. На Arduino Due вы можете управлять до 60 сервоприводами.

Перейти в репозиторий

Совместимость

Эта библиотека совместима с авр, мегаавр, сэм, самд, nrf52, stm32f4, mbed, mbed_nano, mbed_portenta, mbed_rp2040 архитектуры, так что вы должны быть в состоянии использовать его на следующие платы Arduino:

  • Arduino Micro
  • Ардуино Леонардо
  • Ардуино Мега
  • Arduino из-за
  • Ардуино МКР ФОКС 1200
  • Ардуино МКР GSM 1400
  • Ардуино МКР НБ 1500
  • Ардуино МКР ВИДОР 4000
  • Arduino MKR WAN 1300 (подключение LoRa)
  • Ардуино МКР WAN 1310
  • Ардуино МКР Wi-Fi 1010
  • Arduino MKR ZERO (шина I2S и SD для звука, музыки и цифровых аудиоданных)
  • Arduino MKR1000 WI-FI
  • Ардуино Нано
  • Ардуино Нано 33 BLE
  • Ардуино Нано 33 Интернет вещей
  • Ардуино Нано Каждый
  • Ардуино Уно
  • Arduino Uno Wi-Fi REV2
  • Ардуино Юн
  • Ардуино ноль
  • Портента H7
Примечание о совместимости

Примечание: , в то время как библиотека должна корректно компилироваться на этих архитектурах, для этого могут потребоваться определенные аппаратные функции, которые могут быть доступны только на некоторых платах.

Выпуски

Чтобы использовать эту библиотеку, откройте Диспетчер библиотек в в Arduino IDE и установите его оттуда.

  • 1.1.8 (последний)
  • 1.1.7
  • 1.1.6
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1.2
  • 1.1.1
  • 1.1.0
  • 1.0.3
  • 1.0.2
  • 1.
    0.1
  • 1.0.0

Использование

Эта библиотека позволяет плате Arduino управлять серводвигателями RC (хобби). Сервоприводы имеют встроенные шестерни и вал, которыми можно точно управлять. Стандартные сервоприводы позволяют располагать вал под разными углами, обычно от 0 до 180 градусов. Сервоприводы непрерывного вращения позволяют устанавливать вращение вала на различные скорости.

Библиотека Servo поддерживает до 12 двигателей на большинстве плат Arduino и до 48 на Arduino Mega. На платах, отличных от Mega, использование библиотеки отключает функции AnalogWrite() (PWM) на контактах 9 и 10, независимо от того, есть ли сервопривод на этих контактах. На Mega можно использовать до 12 сервоприводов без вмешательства в функциональность ШИМ; использование двигателей от 12 до 23 отключит ШИМ на контактах 11 и 12.

Чтобы использовать эту библиотеку:

 #include  h>
 

Цепь

Серводвигатели имеют три провода: питание, заземление и сигнал. Провод питания обычно красного цвета и должен быть подключен к контакту 5V на плате Arduino. Заземляющий провод обычно черного или коричневого цвета и должен быть подключен к заземляющему контакту на плате Arduino. Сигнальный контакт обычно желтого, оранжевого или белого цвета и должен быть подключен к цифровому контакту на плате Arduino. Обратите внимание, что сервоприводы потребляют значительную мощность, поэтому, если вам нужно управлять более чем одним или двумя, вам, вероятно, потребуется запитать их от отдельного источника (то есть не от контакта 5 В на вашем Arduino). Обязательно соедините земли Arduino и внешнего источника питания вместе.

Примеры

  • Ручка: управление валом серводвигателя путем поворота потенциометра
  • Sweep: перемещает вал серводвигателя вперед и назад

Методы

  • прикрепить()
  • запись()
  • запись микросекунд()
  • чтение()
  • прикреплено()
  • отсоединить()

Создайте и управляйте сервоприводом с помощью компьютера — Maker Challenge

Резюме конкурса Maker

Сервоприводы с компьютерным управлением позволяют промышленным роботам производить все, от автомобилей до смартфонов. В этом задании учащиеся работают над процессом инженерного проектирования, управляя простым сервоприводом, отправляя команды со своих компьютеров на Arduino с использованием протокола последовательной связи. Это упражнение знакомит студентов с (иногда) неинтуитивными нюансами этого протокола, поэтому к концу они могут напрямую управлять положением сервопривода с помощью компьютера. После того, как учащиеся освоят последовательный протокол, они будут готовы создать несколько предложенных интерактивных проектов с помощью компьютера или «перерезать шнур» и приступить к работе с беспроводной связью Bluetooth или XBee.

Материалы и расходные материалы для производителя

  • компьютер, Windows или Mac
  • Программное обеспечение Arduino
  • ; скачать с https://www.arduino.cc/en/software
  • микроконтроллер SparkFun RedBoard или Arduino Uno и кабель для программирования; рекомендуется использовать Arduino Inventor’s Kit (некоторые из его многочисленных компонентов перечислены ниже) по адресу SparkFun
  • .
  • макетные платы
  • Резисторы 10 кОм
  • сервоприводы на 180 градусов; один из них поставляется с рекомендованным выше набором Arduino Inventor’s Kit — универсальным сервоприводом субмикроразмера от SparkFun, или вы можете приобрести сервоприводы более высокого качества, такие как Hitec HS-422 стандартного размера, от SparkFun
  • .
  • стабилизатор напряжения 5В от SparkFun; нужен только в том случае, если вы планируете управлять более чем двумя сервоприводами с помощью одного Arduino
  • батарея 9В; нужен только в том случае, если вы планируете управлять более чем двумя сервоприводами с помощью одного Arduino
  • Палочки для эскимо
  • пистолет для горячего клея и стержни для горячего клея

Рабочие листы и вложения

Блокнот по процессу инженерного проектирования (docx)

Блокнот по процессу инженерного проектирования (pdf)

Посетите [www.teachengineering. org/makerchallenges/view/cub-2216-servo-arm-arduino-serial-communication-protocol] для печати или загрузки.

Подписаться

Подпишитесь на нашу рассылку новостей, чтобы получать внутреннюю информацию обо всем, что связано с TeachEngineering, например, о новых функциях сайта, обновлениях учебных программ, выпусках видео и многом другом!

PS: Мы никому не передаем личную информацию и электронные письма.

Больше учебных программ, подобных этому

Вызов создателя средней школы

Беспроводное управление освещением и двигателями с помощью связи XBee!

Учащиеся узнают, как отправлять сигналы (например, от кнопок или датчиков) из одной системы в другую с помощью модулей радиосвязи XBee. В конце работы они могут управлять светодиодами и двигателями по беспроводной сети, используя микроконтроллеры Arduino и экраны XBee. Внедряет концепцию Интернета тонких...

Беспроводное управление освещением и двигателями с помощью связи XBee!

Урок средней школы

Защита от космического излучения: сценарий космического агентства

С помощью ролевых игр и решения задач этот урок готовит почву для дружеского соревнования между группами по разработке и созданию защитного устройства для защиты людей, путешествующих в космосе. Преподаватель спрашивает студентов: как мы можем разработать радиационную защиту для космических полетов?

Защита от космического излучения: сценарий космического агентства

Подать мяч

Вокруг нас электрические устройства взаимодействуют друг с другом. Например, компьютеры взаимодействуют с принтерами, которые взаимодействуют с беспроводными маршрутизаторами. Чтобы использовать компьютер для общения с устройствами и создания творческих проектов Arduino, вам необходимо выучить язык — протокол связи, — на котором говорят многие из этих устройств.

Как называется шнур, соединяющий Ардуино с компьютером? Это USB, что является сокращением от универсальной последовательной шины, а тип связи называется «последовательным» протоколом связи. Наличие стандартного протокола для связи электрических устройств похоже на наличие общего языка между людьми. Подумайте, как сложно может быть общаться с человеком, который не говорит на вашем родном языке. В то время как разные устройства обмениваются данными, используя множество различных протоколов, последовательный интерфейс является одним из старейших и остается одним из самых популярных.

Последовательная связь подобна отправке данных по одному каналу, по одному биту — единице или нулю — за раз. Предупреждаем: несмотря на то, что последовательная связь на Arduino очень мощная, у нее есть некоторые нюансы, которые на первый взгляд могут показаться странными. Как только вы узнаете, что происходит, вы обнаружите, что это на самом деле не так уж и сложно, и перед вами откроется целый мир проводной и беспроводной связи!

Ресурсы

  • Обратитесь к разделу "Процесс инженерного проектирования" на сайте TeachEngineering, чтобы помочь своим учащимся справиться с задачей. Используйте Блокнот процесса проектирования для документирования процесса проектирования.
  • В SparkFun SIK Guide см. схему 8 для сервопривода: https://cdn.sparkfun.com/datasheets/Kits/RedBoard_SIK_3.2.pdf
  • Чтобы подключиться к Arduino: Введение в Arduino: вызов производителя «Подключение и мигание светодиодов»
  • Чтобы использовать датчики с Arduino: создайте свой собственный ночник с помощью Arduino maker, вызов
  • Servo Library ссылка на Arduino: https://www. arduino.cc/en/Reference/Servo
  • Учебник Hobby Servo (более подробный) от SparkFun: https://learn.sparkfun.com/tutorials/hobby-servo-tutorial?_ga=2.84742297.1452592132.1497891440-1988227511.1497891440
  • ASCII Chart ссылка на Arduino: https://www.arduino.cc/en/Reference/ASCIIchart
  • Serial.setTimeout() ссылка на Arduino: https://www.arduino.cc/en/Serial/SetTimeout
  • Serial.available() ссылка на Arduino: https://www.arduino.cc/en/Serial/Available
  • Constrain Command ссылка на Arduino: https://www.arduino.cc/reference/en/language/functions/math/constrain/
  • Map Command ссылка на Arduino: https://www.arduino.cc/reference/en/language/functions/math/map/
  • Последовательная связь Ссылка от Arduino: https://www.arduino.cc/en/Reference/Serial
  • 9Руководство по последовательной связи 0220 от SparkFun: https://learn.sparkfun.com/tutorials/serial-communication
  • Ресурс регулятора напряжения в SparkFun https://www. sparkfun.com/products/107

Время Создателя

Этот челлендж для разработчиков посвящен пониманию нюансов связи между двумя сложными электрическими устройствами: Arduino и компьютером. Поскольку учащиеся будут активно использовать последовательный монитор, убедитесь, что компьютеры и Arduino подключены, и учащиеся могут надежно загружать код.

В первом упражнении используйте последовательный монитор, чтобы начать обработку пользовательского ввода. Предложите учащимся разработать программу, которая «считывает» информацию пользователя из строки ввода последовательного монитора и выводит ее обратно в окно вывода последовательного монитора. Хотя вы просто используете последовательный монитор на компьютере для просмотра как ввода, так и вывода, Arduino должен быть подключен, чтобы это работало. После того, как платы Arduino подключены через USB в эскизе, попросите учащихся выбрать правильную плату и порт для своих плат Arduino, используя следующий путь: Инструменты > Плата: Arduino/Genuine Uno, затем Инструменты > Порт: COM #.

Студенты должны будут загрузить свой код в Arduino, а затем выбрать значок лупы в правом верхнем углу, чтобы увидеть последовательный монитор. Попросите учащихся ввести свои имена в строку ввода последовательного монитора и записать результаты; , если они сделают это правильно, результаты могут показаться немного странными! См. код на рис. 1.

Рисунок 1. Серийный код.

Что происходит?

Когда учащиеся пишут свои имена и нажимают клавишу ввода, команда Serial.read() обрабатывает каждый ввод как символ. Поскольку Arduino не может говорить на нашем языке, а мы не можем говорить на его языке, система преобразует каждую букву в число, соответствующее символу. Код, который использует система, называется ASCII. Каждый символ имеет уникальный номер, и как только учащиеся узнают код (см. Ресурсы), и они, и Arduino смогут понять пользовательский ввод!

Подсказка: Попробуйте ввести 100. Что произойдет? Arduino обрабатывает эти числа как числовые символы и присваивает значение. Вы должны увидеть 49, за которыми следуют два 48. Опять же, если учащиеся заинтересованы, в разделе «Ресурсы» есть ссылка на таблицу кодов ASCII. А теперь попробуйте еще раз расшифровать ASCII-код вашего имени!

Что должны делать учащиеся, если они хотят ввести 100 и увидеть, что на экране отображается значение 100? После некоторого исследования команд Arduino они могли бы понять логику для этого. Однако существующая команда Arduino позволяет сделать это быстро и легко:

Серийный.parseInt().

Используя предыдущий код, предложите учащимся попробовать это:

1.     Заменить Serial.read() на Serial.parseInt()

2.     Удалите задержку.

Подсказка: Что теперь происходит, когда вы вводите 100 в последовательном окне? Ответ: Возвращается число 100. Подсказка: Что если ввести 100.456? Ответ: 100 и 456 возвращаются двумя отдельными строками. Подсказка: Каковы подводные камни при использовании Serial.parseInt()?

Ошибка 1: хотя задержка была удалена, частота обновления по-прежнему составляет 1 секунду, что довольно медленно.

Ошибка 2: всегда возвращается ноль, за исключением ввода пользователем.

Чтобы устранить ошибку 1 и ускорить обновления, используйте команду Serial.setTimeout() (см. Ресурсы). Добавьте это в функцию «setup» сразу после команды Serial.begin (9600). Эта команда регулирует скорость обновления. Предложите учащимся установить значение 100 или даже 50.

Решение ловушки 2 требует другого уровня мышления. Нам нужно, чтобы система реагировала только на ввод данных пользователем. Попробуйте обернуть все команды цикла в следующую командную строку:

Если (Серийный.доступный()>0) {

//Все остальные команды цикла здесь

}

Serial.available() возвращает количество байтов, доступных монитору последовательного порта. Если нет ничего, что можно было бы вернуть, цикл продолжает зацикливаться в поисках информации. Если информация существует, то цикл обрабатывает информацию, как и раньше. Предложите студентам попробовать это! Нуль все еще возвращается? Если это так, убедитесь, что вы заключаете все команды в фигурные скобки Serial. available().

Зная, как работает последовательная связь, давайте применим эти знания, чтобы сделать что-нибудь веселое!

Подсказка: Используя эти последовательные команды, можете ли вы подключить сервопривод и управлять им с помощью компьютера?

Вот рецепт успеха:

  1. Подключите сервопривод и проверьте его, используя схему 8 в руководстве SIK Guide .
  2. Код Serial.parseInt должен работать так, чтобы он возвращал значение, которое пользователь вводит в монитор последовательного порта. Совет: Если ваш код продолжает возвращать ноль монитору последовательного порта, убедитесь, что у вас есть команда Serial.available(), которая надлежащим образом упаковывает ваш код.
  3. Когда у вас есть код, работающий по отдельности, объедините две программы, чтобы пользователь мог управлять сервоприводом с экрана. Совет : Используйте команду ограничения, чтобы убедиться, что пользователь не может вводить команды, которые могут сломать сервопривод!

См. код на рис. 2.

Рисунок 2. Код сервопривода.

После того, как у учеников появится работающий сервопривод, дайте им:

  • Прикрепите палочку от эскимо к сервоприводу, чтобы сделать элементарную руку, которой вы можете управлять.
  • Несколько групп должны объединиться, чтобы сделать роботизированную руку (см. рис. 3-5) или даже руку.
  • Создайте робота, который может написать букву C. Какие еще буквы вы можете написать?

Рис. 3. Человеческая рука рядом с механической рукой, сделанной из палочек от эскимо, движущихся на сервоприводах, управляемых Arduino.

авторское право

Copyright © 2018 Рэйчел Шарп, Программа ITL, Колледж инженерии и прикладных наук, Колорадский университет в Боулдере

Рис. 4. Приближенный вид пяти сервоприводов и «пальцев» палочки от мороженого.

Copyright

Copyright © 2018 Рэйчел Шарп, Программа ITL, Колледж инженерии и прикладных наук, Колорадский университет в Боулдере

Примечание. Если учащиеся хотят использовать более двух микросервоприводов для изготовления руки, им необходимо использовать регулятор напряжения 5 В и регулятор напряжения 9 В.батарея В. Более двух сервоприводов потребляют больше тока, чем кабель питания USB может подать от контакта 5 В на Arduino, чтобы они могли двигаться и работать плавно. На рис. 5 показано, как подключить регулятор напряжения в сочетании с 9-вольтовой батареей для питания пяти сервоприводов. (Для получения более подробной информации о том, где приобрести регулятор напряжения, а также спецификаций для правильного использования, обратитесь к ресурсу регулятора напряжения SparkFun, указанному в разделе «Справочные материалы».)

Рис. 5. Полная установка из пяти сервоприводов с Arduino, 9V аккумулятор и регулятор напряжения.

Copyright

Copyright © 2018 Рэйчел Шарп, Программа ITL, Колледж инженерии и прикладных наук, Колорадский университет в Боулдере

Теперь, когда вы освоили основы последовательной связи, вы готовы «перерезать шнур» и перейти к беспроводным испытаниям! Два распространенных способа сделать это с помощью Arduino — это компоненты Bluetooth и XBee. Более продвинутые испытания производителя:

  • Управляйте сервоприводом с помощью телефона с помощью Bluetooth!
  • Беспроводное управление освещением и двигателями с помощью связи XBee!

Заворачивать

Предложите учащимся всем классом подумать о том, что сработало, а что вызвало затруднения в упражнении. Код сработал сразу? Вы поняли, как код ASCII отображает символы в числа? Какие были зависания? Какие трудности возникали при объединении наборов рабочих кодов? Если бы вам пришлось делать это упражнение снова, что бы вы изменили?

Сервоприводы

бывают всех размеров, от микросервоприводов до крупных промышленных приложений. Какие еще проекты вы можете придумать, если бы у вас был сервопривод меньшего размера? Как насчет большего сервопривода?

Как бы вы использовали этот проект в качестве трамплина для управления чем-то, что вам небезразлично? Если бы у вас был достаточно большой сервопривод, вы могли бы управлять замком? Дверь?

Советы

  • Важное примечание: Последовательная связь в реальном времени затруднена! См.

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

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