/*
Mira el tutorial en 
Programador Novato: https://www.programadornovato.com/esp32-pwm-led/
Youtube: https://www.youtube.com/watch?v=4wTgSCpjVwQ&list=PLCTD_CpMeEKTvjzabAvLGHakg-ql6t0q6&index=4
Vamos a aprender a trabajar con ESP32 PWM, pero que es PWM, 
PWM es el acrónimo de Pulse Width Modulation 
(Modulación por ancho de pulso). 
En caso de que estés igual de confundido, 
lo voy a explicar de forma analítica con este ejercicio mental.
*/
// Declaramos la intensidad del brillo del led
int brillo = 0;
// Declaramos el pin que enviara el voltaje
int pinLed=2;
void setup()
{
  // Definimos que el pin 2 sacara el voltaje
  pinMode(pinLed, OUTPUT);
}
void loop()
{
  // Incrementamos el brillo de 0 a 256
  for (brillo = 0; brillo <= 256; brillo += 1) {
    //Encendemos el pinLed con la intensidad del brillo
    analogWrite(pinLed, brillo);
    //Esperamos 15 ilisegundos
    delay(15); 
  }
  // Decrementamos el brillo de 0 a 256
  for (brillo = 256; brillo >= 0; brillo -= 1) {
    //Encendemos el pinLed con la intensidad del brillo
    analogWrite(pinLed, brillo);
    //Esperamos 15 ilisegundos
    delay(15); 
  }
}