//pinos dos leds
const int pinLed1 = 4;
const int pinLed2 = 22;
//defino a frequenia em Hz que o esp vai estar tendo de ciclo
const int freq = 1000;
//definindo os canais que os leds irão trabalhar.
const int led1Channel = 1;
const int led2Channel = 2;
//defino resolução da mascara de conversão
const int resolution = 8;
void setup() {
//função pwm para configura a frequencia e resolução para um canal
ledcSetup(led1Channel, freq, resolution);
ledcSetup(led2Channel, freq, resolution);
//função para vincular o pino com o canal
ledcAttachPin(pinLed1, led1Channel);
ledcAttachPin(pinLed2, led2Channel);
}
void loop() {
aumentaLed(led1Channel);
diminuiLed(led2Channel);
delay(2000);
aumentaLed(led2Channel);
diminuiLed(led1Channel);
delay(2000);
}
void aumentaLed(int pledChannel) {
for (int dutyCicle = 0; dutyCicle <= 255; dutyCicle++) {
//funçao para escrever um valor de tralhado em decimal dentro do limite
//da resolução definida e enviar um sinal eletrico de voltagem equivalente
ledcWrite(pledChannel, dutyCicle);
delay(5);
}
}
void diminuiLed(int pledChannel) {
for (int dutyCicle = 255; dutyCicle >= 0; dutyCicle--) {
ledcWrite(pledChannel, dutyCicle);
delay(5);
}
}