/*
Mira el tutorial en
Programador Novato: https://www.programadornovato.com/esp32-con-un-potenciometro/
Youtube: https://www.youtube.com/watch?v=uYfFsOQpnzo&list=PLCTD_CpMeEKTvjzabAvLGHakg-ql6t0q6&index=5
Vamos a encender el ESP32 con un potenciómetro y
de una forma parecida al ESP32 PWM led aumentaremos y
disminuiremos la intensidad del led.
*/
// Declaramos la intensidad del brillo
int BRILLO = 0;
// Pin de entrada del potenciometro
int pinPot=34;
// Pin de salida al led Potenciometro
int pinLedPote=5;
// Pin de salida al led del boton
int pinLedBoton=2;
// Declaramos el pin al que estará conectado el pulsador
int pinPulsador=4;
//Características del PWM
const int frecuencia = 1000;
const int canal = 0;
const int resolucion = 10;
void setup()
{
Serial.begin(9600);
//Inicializamos las características del pwm
ledcSetup(canal, frecuencia, resolucion);
// Definimos que el pin 2 sacara el voltaje
ledcAttachPin(pinLedPote, OUTPUT);
pinMode(pinLedBoton, OUTPUT);
pinMode(pinPulsador, INPUT);
delay(1000);
}
void loop()
{
//Si la señal del pulsador es activa encendemos el led
if (digitalRead(pinPulsador) == HIGH)
{
digitalWrite(pinLedBoton, HIGH);
}
//de lo contrario apagamos el led
else {
digitalWrite(pinLedBoton, LOW);
}
//Obtenemos la señal del potenciometro
BRILLO = analogRead(pinPot);
//Mostramos la señal del potenciometro
Serial.print("Valor potenciometro: ");
Serial.println(BRILLO);
//desde 0 a 4095
//Dividimos la señal en entre 16
BRILLO = (BRILLO / 16.2);
//Encendemos el led
//ledcWrite(pinLed, BRILLO);
analogWrite(pinLedPote, BRILLO);
delay(100);
}