const int LEDPin = 2;
int dutyCycle;
const int PWMFreq = 5000;
const int PWMChannel = 0;
const int PWMResolution = 10;
const int MAX_DUTY_CYCLE = (int)(pow(2, PWMResolution) - 1);
void setup()
{
ledcSetup(PWMChannel, PWMFreq, PWMResolution);
ledcAttachPin(LEDPin, PWMChannel);
}
void loop()
{
for(dutyCycle = 0; dutyCycle <= MAX_DUTY_CYCLE; dutyCycle++)
{
ledcWrite(PWMChannel, dutyCycle);
delay(3);
}
for(dutyCycle = MAX_DUTY_CYCLE; dutyCycle >= 0; dutyCycle--)
{
ledcWrite(PWMChannel, dutyCycle);
delay(3);
}
}