Tutorial del Internet de las Cosas y Bluetooth con el ESP32
Juan Antonio Villalpando
Volver al índice del tutorial
____________________________
210.- Wemos D1 R32 ESP32. PWM.
- Vamos a realizar un PWM pero "ayudado" por una función, no directamente como se hace con el Arduino.
- El Arduino lo hace con la función analogWrite, pero el IDE del ESP32 no tiene esa función, aunque en el siguiente tutorial veremos una librería que sí realiza esa función.
- Estableceremos un canal, el 0 (se puede establecer desde el 0 al 15)
- Luego asignamos ese canal al pin donde está el LED, en nuestro caso sera el LED_BUILTIN , es decir el LED de la placa.
- Utiliza la función
ledcSetup
- La resolución del PWM será de 8 bits (256 valores)
- Todos los pines IO pueden actuar como salida (menos del 34 al 39).
- Para utilizar la función PWM hay que establecer la frecuencia, duty cycle, canal y el terminal de conexión de la señal de entrada.
_________________________________
- Código.
PWM.ino |
int freq = 5000;
int ledChannel = 0;
int resolution = 8;
void setup() {
ledcSetup(ledChannel, freq, resolution);
ledcAttachPin(LED_BUILTIN, ledChannel);
}
void loop() {
for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle++) {
ledcWrite(ledChannel, dutyCycle);
delay(7);
}
for (int dutyCycle = 255; dutyCycle >= 0; dutyCycle--) {
ledcWrite(ledChannel, dutyCycle);
delay(7);
}
}
|
- Puedes obtener más información de este código en...
https://techtutorialsx.com/2017/06/15/esp32-arduino-led-pwm-fading/
______________________________________________________________
- Otro ejemplo de PWM, en este caso trata de la velocidad de un motor de continua.
- Utiliza un driver para el motor.
https://randomnerdtutorials.com/esp32-dc-motor-l298n-motor-driver-control-speed-direction/
_______________________________
|