#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
// Адрес PCA9685 (может отличаться в зависимости от настройки адресных пинов)
#define PCA9685_ADDRESS 0x40
// Создайте экземпляр объекта для управления PCA9685
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(PCA9685_ADDRESS);
int servoMin = 150; // Минимальное значение
int servoMax = 600; // Максимальное значение
void setup() {
// Инициализация связи I2C
Wire.begin();
// Инициализация PCA9685
pwm.begin();
// Установка частоты ШИМ (в Гц)
pwm.setPWMFreq(50); // Например, 50 Гц
}
void setServoAngle(uint8_t channel, int angle) {
int pulse = map(angle, 0, 180, servoMin, servoMax);
pwm.setPWM(channel, 0, pulse);
}
void loop() {
// Установка сервопривода на угол 90 градусов
setServoAngle(0, 90);
delay(1000);
setServoAngle(0, 0);
delay(1000);
setServoAngle(0, 180);
delay(1000); // Подождите секунду
}