Ручка поворачивает серво
Угол сервопривода повторяет положение ручки, а дребезг АЦП сглаживается.

Что понадобится
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | 5V | → | Потенциометр | VCC |
| Arduino Uno | GND | → | Потенциометр | GND |
| Arduino Uno | A0 | → | Потенциометр | SIG |
| Arduino Uno | 5V | → | Сервопривод | V+ |
| Arduino Uno | GND | → | Сервопривод | GND |
| Arduino Uno | D9 | → | Сервопривод | PWM |
Скетч
#include <Servo.h>
// Ручка на A0 → угол серво на D9. Чтобы вал не дёргался от шума АЦП,
// усредняем несколько измерений и двигаем серво только при заметной разнице.
Servo myservo;
int lastAngle = -1;
void setup() {
myservo.attach(9);
Serial.begin(9600);
}
int readAngle() {
long sum = 0;
for (int i = 0; i < 8; i++) sum += analogRead(A0);
return map(sum / 8, 0, 1023, 0, 180);
}
void loop() {
int angle = readAngle();
if (lastAngle < 0 || abs(angle - lastAngle) >= 2) {
myservo.write(angle);
lastAngle = angle;
Serial.print("угол ");
Serial.println(angle);
}
delay(50);
}
Коротко о детали: Потенциометр
Переменный резистор: ручка делит напряжение между крайними выводами. Средний вывод даёт от нуля до напряжения питания и читается analogRead(). Самый простой способ ввести в скетч плавно меняющееся число.
Ещё примеры с деталью «Потенциометр»
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Ручка поворачивает серво» в симуляторе