#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
class LEDKey
{
  private:
    Adafruit_PWMServoDriver &driver;   
  public:
  LEDKey(Adafruit_PWMServoDriver &driver): driver{driver} {} //0x40 oder 0x41
  void begin()
  {
    driver.begin();
    driver.setPWMFreq(1000);
  }
  void pinOff(int p)  {driver.setPWM(p , 0 , 4096); Serial.print(p); Serial.println(" pinOff"); }
  void pinOn(int p)   {driver.setPWM(p , 4096 , 0); Serial.print(p); Serial.println(" pinOn"); }
};
constexpr byte addr = 0x40;
Adafruit_PWMServoDriver driver{addr};
LEDKey led {driver};
void setup()
{
  Serial.begin(9600);
  led.begin();
  Wire.setClock(400000);
  led.pinOn(0);
  led.pinOn(1);
  led.pinOn(2);
  led.pinOff(3);
}
void loop(
){
  led.pinOn(0);
  delay(1000);
  led.pinOff(0);
  delay(1000);
}