// Библиотека с расширенными функциями для работы с Servo #include // Создаём объект для работы с первым сервомотором AmperkaServo servoOne; // Создаём объект для работы со вторым сервомотором AmperkaServo servoTwo; // Задаём имя пина, к которому подключён первый сервопривод constexpr uint8_t SERVO_PIN_ONE = 9; // Задаём имя пина, к которому подключён второй сервопривод constexpr uint8_t SERVO_PIN_TWO = 11; void setup() { // Подключаем первый и второй сервомотор // servoOne.attach(SERVO_PIN_ONE); // servoTwo.attach(SERVO_PIN_TWO); // Подключаем сервомотор с расширенными параметрами // Советуем использовать именно этот вариант для точной настройки мотора // servo.attach(pin, minPulseWidth, maxPulseWidth, minAngle, maxAngle); // - pin: номер пина, к которому подключён сервопривод // - minPulseWidth: ширина импульса, соответствующая минимальному углу поворота. // Опциональный и по умолчанию стоит 544 мкс. // - maxPulseWidth: ширина импульса, соответствующая максимальному углу поворота. // Опциональный и по умолчанию стоит 2400 мкс. // - minAngle: минимальный угол поворота сервопривода. // Опциональный и по умолчанию стоит 0°. // - maxAngle: максимальный угол поворота сервопривода. // Опциональный и по умолчанию стоит 180°. // Данные возьмите из технических характеристик мотора servoOne.attach(SERVO_PIN_ONE, 544, 2400, 0, 180); servoTwo.attach(SERVO_PIN_TWO, 544, 2400, 0, 180); // Устанавливаем минимальный угол первого мотора servoOne.writeAngle(servoOne.getMinAngle()); // Устанавливаем минимальный угол второго мотора servoTwo.writeAngle(servoTwo.getMinAngle()); } void loop() { // Устанавливаем среднее положение первого мотора servoOne.writeAngle(servoOne.getMidAngle()); // Ждём 1 секунду delay(1000); // Устанавливаем максимальный угол первого мотора servoOne.writeAngle(servoOne.getMaxAngle()); // Ждём 1 секунду delay(1000); // Устанавливаем среднее положение первого мотора servoOne.writeAngle(servoOne.getMidAngle()); // Ждём 1 секунду delay(1000); // Устанавливаем минимальный угол первого мотора servoOne.writeAngle(servoOne.getMinAngle()); // Ждём 1 секунду delay(1000); // Устанавливаем среднее положение второго мотора servoTwo.writeAngle(servoTwo.getMidAngle()); // Ждём 1 секунду delay(1000); // Устанавливаем максимальный угол второго мотора servoTwo.writeAngle(servoTwo.getMaxAngle()); // Ждём 1 секунду delay(1000); // Устанавливаем среднее положение второго мотора servoTwo.writeAngle(servoTwo.getMidAngle()); // Ждём 1 секунду delay(1000); // Устанавливаем минимальный угол второго мотора servoTwo.writeAngle(servoTwo.getMinAngle()); // Ждём 1 секунду delay(1000); }