// Библиотека с расширенными функциями для работы с Servo #include // Создаём объект для работы с сервомоторами AmperkaServo servo; // Задаём имя пина, к которому подключён сервопривод constexpr uint8_t SERVO_PIN = 9; void setup() { // Подключаем сервомотор // servo.attach(SERVO_PIN); // Подключаем сервомотор с расширенными параметрами // Советуем использовать именно этот вариант для точной настройки мотора // servo.attach(pin, minPulseWidth, maxPulseWidth); // - pin: номер пина, к которому подключён сервопривод // - minPulseWidth: ширина импульса, // соответствующая максимальной скорости по часовой стрелке CW. // Опциональный и по умолчанию стоит 544 мкс. // - maxPulseWidth: ширина импульса, // соответствующая максимальной скорости против часовой стрелки CW. // Опциональный и по умолчанию стоит 2400 мкс. // Данные возьмите из технических характеристик мотора servo.attach(SERVO_PIN, 544, 2400); } void loop() { // Перебираем значения скорости вала сервы // от нуля до максимальной по часовой стрелке CW for (int speed = 0; speed < 255; speed++) { // Отправляем текущую скорость на серво servo.writeSpeed(speed); // Ждём 10 мс delay(10); } // Останавливаем сервопривод servo.writeSpeed(0); // Ждём 1 секунду delay(1000); // Перебираем значения скорости вала сервы // от нуля до максимальной против часовой стрелке CCW for (int speed = 0; speed > -255; speed--) { // Отправляем текущую скорость на серво servo.writeSpeed(speed); // Ждём 10 мс delay(10); } // Останавливаем сервопривод servo.writeSpeed(0); // Ждём 1 секунду delay(1000); }