#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); // Подождите секунду
}
pca9685Breakout