/*
O esp32 possui um controlador led PWM com 16 canais
(0 a 15) independentes que podem ser configurados
para gerar canais PWM com propriedades diferentes.
Qualquer pino pode ser configurado como saída PWM.
O esp32 possui suporta uma resolução de 1 a 16 bits,
nesse exemplo usaremos a resolução de 8 bits, que
equivale a um valor de 0 a 255 (2ˆ8 = 255).
*/
#include <LiquidCrystal_I2C.h>
//Mapeamento de Hardware
#define LED 2
//Variáveis globais
int frequencia = 5000;
int canal = 0;
int resolucao = 8;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
//Configurando o funcionamento do PWM
ledcSetup(canal, frequencia, resolucao);
//Associando a GPIO ao canal escolhido
ledcAttachPin(LED, canal);
Serial.begin(115200);
lcd.init();
lcd.backlight();
}
void loop() {
//Incrementando o brilho do led
for(int i=0; i<=255; i++){
//Mudando a intensidade do brilho do led com uso do PWM
ledcWrite(canal, i);
lcd.setCursor(0,0);
lcd.print(i);
Serial.println(i);
delay(100);
}
//Decrementando o brilho do led
for(int i=255; i>=0; i--){
//Mudando a intensidade do brilho do led com uso do PWM
ledcWrite(canal,i);
delay(15);
}
}