Поворот сервопривода
Часть раздела Выходные сигналы путешествия по Arduino на Coddy. Урок 21 из 24.
arm.write() сразу перемещает сервопривод на заданный угол. Чтобы двигать сервопривод медленно, перебирай все промежуточные углы с помощью цикла for, делая небольшую паузу на каждом из них:
for (int angle = 0; angle <= 180; angle++) {
arm.write(angle);
delay(15);
}Здесь счётчик называется angle, а <= 180 включает и сам угол 180. 181 шаг по 15 мс занимает около 2,7 секунды.
Чтобы вернуться обратно, веди отсчёт в обратном направлении. angle-- уменьшает значение на 1 за каждый проход, а цикл выполняется, пока угол не меньше 0:
for (int angle = 180; angle >= 0; angle--) {
arm.write(angle);
delay(15);
}Помести оба цикла в loop(), и сервопривод будет двигаться туда-сюда, как стеклоочиститель.
Задание
ЛегкоЗаставь сервопривод на пине 9 поворачиваться туда и обратно снова и снова:
- от 0 до 180 градусов, по одному градусу за раз, с паузой 15 мс на каждом шаге
- затем таким же образом обратно до 0
Нажми Run, затем Check.
Попробуйте сами
#include <Servo.h>
Servo arm;
void setup() {
arm.attach(9);
}
void loop() {
// поворачивать от 0 до 180, на один градус каждые 15 мс
// затем обратно до 0
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Выходные сигналы
5Движение
Управление сервоприводомПоворот сервоприводаСервопривод и ручкаУгол сервопривода через SerialСветовой индикатор угла сервоприводаПотренируйтесь самостоятельно: Песочница Arduino