#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo1; // объявляем переменную для сервопривода
int angle = 90; // текущий угол поворота серво (начинаем с 90)
const int buttonLeft = 2; // пин кнопки для поворота влево
const int buttonRight = 3; // пин кнопки для поворота вправо
const int stepDelay = 15; // задержка для плавного движения (в миллисекундах)
void setup() {
servo1.attach(11); // привязываем сервопривод к цифровому пину 11
servo1.write(angle); // устанавливаем начальный угол
pinMode(buttonLeft, INPUT_PULLUP); // кнопка влево с подтяжкой
pinMode(buttonRight, INPUT_PULLUP); // кнопка вправо с подтяжкой
}
void loop() {
// Читаем состояние кнопок
int leftState = digitalRead(buttonLeft);
int rightState = digitalRead(buttonRight);
// Если нажата кнопка для поворота влево
if (leftState == LOW && angle > 0) { // проверяем, что угол больше 0
angle--; // уменьшаем угол
servo1.write(angle); // обновляем угол сервопривода
delay(stepDelay); // делаем небольшую задержку
}
// Если нажата кнопка для поворота вправо
if (rightState == LOW && angle < 180) { // проверяем, что угол меньше 180
angle++; // увеличиваем угол
servo1.write(angle); // обновляем угол сервопривода
delay(stepDelay); // делаем небольшую задержку
}
}