Сервопривод и ручка
Часть раздела Выходные сигналы путешествия по Arduino на Coddy. Урок 22 из 24.
Рычаг может следовать за ручкой, а не за фиксированным списком углов. Здесь используется та же схема, что и для диммера и регулятора высоты тона: считать, преобразовать, использовать.
Ручка выдаёт значения от 0 до 1023, а arm.write() принимает значения от 0 до 180 градусов, поэтому map() преобразует их:
int reading = analogRead(A0);
int angle = map(reading, 0, 1023, 0, 180);
arm.write(angle);Значение 0 превращается в 0 градусов, 1023 — в 180, а все значения между ними дают промежуточные результаты, поэтому рычаг поворачивается вместе с ручкой.
Вывод угла с помощью Serial.println() показывает в мониторе последовательного порта, какое число получает рычаг. Это помогает, когда он не указывает туда, куда вы ожидаете.
Задание
ЛегкоЗаставь сервопривод следовать за ручкой:
- считай показание ручки с помощью
analogRead(A0) - преобразуй показание в угол от 0 до 180 с помощью
map() - перемести туда рычаг с помощью
arm.write()и выведи угол
Нажми Run и поверни ручку, затем нажми Check.
Попробуйте сами
#include <Servo.h>
Servo arm;
void setup() {
arm.attach(9);
Serial.begin(9600);
}
void loop() {
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Выходные сигналы
5Движение
Управление сервоприводомПоворот сервоприводаСервопривод и ручкаУгол сервопривода через SerialСветовой индикатор угла сервоприводаПотренируйтесь самостоятельно: Песочница Arduino