Сервопривод – это привод, вал которого может встать в заданное положение или поддерживать заданную скорость вращения. Другими словами, валом сервопривода можно управлять, например, задавая ему положение в градусах или определенную частоту вращения.
Сервоприводы используются в самых разных областях, например, в робототехнике они помогают моделировать различные движения роботов. Сервоприводы – эффективное решение для перемещения механизмов в пространстве.
В этом уроке мы научимся управлять сервоприводом.
Для
урока нам понадобиться:
Подключение сервопривода
к Arduino.
Для
достижения самых разных целей робототехники
к программируемому контроллеру Arduino
может быть подключен сервопривод.
Подключение осуществляется через
кабели, которые выходят из сервопривода.
Обычно это три кабеля: красный; коричневый
или черный; желтый, оранжевый или белый.
Подключение
сервопривода к плате Arduino производится
через ШИМ-выводы. Что Такое PWM (ШИМ) мы
уже рассматривали в уроке: Плавное
включение светодиода на Arduino с помощью
ШИМ (PWM)
За
основу возьмем урок Подключение
кнопки и светодиода плате Arduino к схеме
добавим сервопривод и вот что у нас
должно получиться.
Изменим
код:
#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo; // объявляем переменную servo типа "servo"
int led_pin=3; // пин подключения
int button_pin = 4; // пин кнопки
// переменные
int buttonState = 0; // переменная для хранения состояния кнопки
void setup() {
pinMode(led_pin, OUTPUT); // Инициализируем цифровой вход/выход в режиме выхода.
pinMode(button_pin, INPUT); // Инициализируем цифровой вход/выход в режиме входа.
servo.attach(5); // привязываем сервопривод к аналоговому выходу 10
}
void loop() {
buttonState = digitalRead(button_pin);// считываем значения с входа кнопки
if (buttonState == HIGH) {
digitalWrite(led_pin, HIGH);// зажигаем светодиод
servo.write(0); //ставим вал на 180
delay (1000); // задержка в 1 секунду
}
else {
digitalWrite(led_pin, LOW);// выключаем светодиод
servo.write(180); //ставим вал на 0
delay (1000); // задержка в 1 секунду
}
}
#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Мы
еще не работали с библиотеками. Библиотека
это класс, содержащий функции которые
мы можем использовать в нашей программе.
Библиотека позволяет сократить объем
написанного кода и скорость разработки
приложения.
Ка
вы поняли строка выше подключает нашу
библиотеку Servo.h,
после чего мы можем использовать все
функции данной библиотеки.
Servo servo; // объявляем переменную servo типа "servo"
Объявлением
переменную, она нам понадобиться для
работы с библиотекой.
servo.attach(5); // привязываем сервопривод к аналоговому выходу 5
Функция
библиотеки Servo.
servo.write(180); //ставим вал на 180
С
помощью данной функции мы можем повернуть
сервопривод на заданный угол.
Управление сервоприводом с помощью потенциометра.
#include <Servo.h>
Servo myservo;
int potpin = 0;
int val;
void setup() {
myservo.attach(9);
}
void loop() {
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
delay(15);
}
Схема подключения сервопривода и потенциометра к Arduino.
Следующий
урок: IR
Пульт. Включение выключение светодиода.
Если
у вас чего то нет для выполнения данного
урока, Вы можете посмотреть в каталоге.
Там собранные комплектующими от
проверенных продавцов по самым низким
ценам.
Понравилась статья? Поделитесь ею с друзьями:
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.