PCA9685 Manager C#
using System; using System.Device.I2c; public class PCA9685Manager { // Адрес устройства PCA9685 по умолчанию private const byte PCA9685_ADDRESS = 0x40; // Регистры для управления PCA9685 private const byte MODE1 = 0x00; private const byte LED0_ON_L = 0x06; // Устройство I2C для общения с PCA9685 private I2cDevice _device; /// <summary> /// Конструктор, инициализирующий I2C соединение с PCA9685. /// </summary> public PCA9685Manager() { // Настройка I2C соединения var settings = new I2cConnectionSettings(1, PCA9685_ADDRESS); _device = I2cDevice.Create(settings); // Инициализация PCA9685 _device.Write(new byte[] { MODE1, 0x00 }); } /// <summary> /// Устанавливает ширину импульса PWM для указанного канала. /// </summary> /// <param name="channel">Канал (от 0 до 15).</param> /// <param name="on">Время начала импульса.&