5.8 Gira el Potenciómetro¶
Un potenciómetro es un dispositivo de tres terminales que se utiliza comúnmente para ajustar la resistencia en un circuito. Cuenta con un botón o una palanca deslizante que se puede utilizar para variar el valor de resistencia del potenciómetro. En este proyecto, lo utilizaremos para controlar el brillo de un LED, similar a una lámpara de escritorio en nuestra vida diaria. Al ajustar la posición del potenciómetro, podemos cambiar la resistencia en el circuito, regulando así la corriente que fluye a través del LED y ajustando su brillo en consecuencia. Esto nos permite crear una experiencia de iluminación personalizable y ajustable, similar a la de una lámpara de escritorio.
Componentes Necesarios
En este proyecto, necesitaremos los siguientes componentes.
Es definitivamente conveniente comprar todo el kit, aquí está el enlace:
Nombre |
ARTÍCULOS EN ESTE KIT |
ENLACE |
---|---|---|
Kit de Inicio ESP32 |
320+ |
También puedes comprarlos por separado en los siguientes enlaces.
INTRODUCCIÓN DE COMPONENTES |
ENLACE DE COMPRA |
---|---|
- |
|
Pines Disponibles
Pines Disponibles
Aquí está la lista de pines disponibles en la placa ESP32 para este proyecto.
Pines Disponibles
IO14, IO25, I35, I34, I39, I36
Pines de Arranque
Los siguientes pines son pines de arranque, que afectan el proceso de inicio del ESP32 durante el encendido o el restablecimiento. Sin embargo, una vez que el ESP32 se ha iniciado correctamente, se pueden utilizar como pines regulares.
Pines de Arranque
IO0, IO12
Esquemático
Al girar el potenciómetro, el valor de I35 cambiará. Mediante programación, puedes usar el valor de I35 para controlar el brillo del LED. Por lo tanto, al girar el potenciómetro, el brillo del LED también cambiará en consecuencia.
Cableado
Código
Nota
Puedes abrir el archivo
5.8_pot.ino
en la rutaesp32-starter-kit-main\c\codes\5.8_pot
.Después de seleccionar la placa (ESP32 Dev Module) y el puerto apropiado, haz clic en el botón Subir.
Después de subir el código con éxito, gira el potenciómetro y verás el brillo del LED cambiar en consecuencia. Al mismo tiempo, puedes ver los valores analógicos y de voltaje del potenciómetro en el monitor serie.
Cómo funciona?
Define constantes para las conexiones de pines y configuraciones PWM.
const int potPin = 14; // Potentiometer connected to GPIO14 const int ledPin = 26; // LED connected to GPIO26 // PWM settings const int freq = 5000; // PWM frequency const int resolution = 12; // PWM resolution (bits) const int channel = 0; // PWM channel
Here the PWM resolution is set to 12 bits and the range is 0-4095.
Configura el sistema en la función
setup()
.void setup() { Serial.begin(115200); // Configure PWM ledcSetup(channel, freq, resolution); ledcAttachPin(ledPin, channel); }
En la función
setup()
, se inicia la comunicación Serial a una tasa de baudios de 115200.La función
ledcSetup()
se llama para configurar el canal PWM con la frecuencia y resolución especificadas, y la funciónledcAttachPin()
se llama para asociar el pin LED especificado con el canal PWM.
Bucle principal (ejecutado repetidamente) en la función loop().
void loop() { int potValue = analogRead(potPin); // read the value of the potentiometer uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts ledcWrite(channel, potValue); Serial.print("Potentiometer Value: "); Serial.print(potValue); Serial.print(", Voltaje: "); Serial.print(voltage_mV / 1000.0); // Convierte milivoltios a voltios Serial.println(" V"); delay(100); }
uint32_t analogReadMilliVolts(uint8_t pin);
: Esta función se utiliza para obtener el valor de ADC para un pin/canal de ADC dado en milivoltios.pin
Pin GPIO para leer el valor analógico.
El valor del potenciómetro se utiliza directamente como el ciclo de trabajo PWM para controlar el brillo del LED a través de la función ledcWrite()
, ya que el rango de valores también es de 0 a 4095.