Averigüemos qué hay detrás del acrónimo PWM, cómo funciona, para qué sirve y cómo podemos usarlo para trabajar con Arduino.
Necesario
- - Arduino;
- - Diodo emisor de luz;
- - una resistencia con una resistencia de 200 ohmios;
- - computadora.
Instrucciones
Paso 1
Los pines digitales de Arduino solo pueden dar dos valores: lógica 0 (BAJA) y lógica 1 (ALTA). Por eso son digitales. Pero Arduino tiene conclusiones "especiales", que se denominan PWM. A veces se indican con una línea ondulada "~" o en un círculo o de alguna manera se distinguen de otros. PWM significa "Modulación de ancho de pulso" o Modulación de ancho de pulso, PWM.
Una señal modulada por ancho de pulso es una señal de pulso de frecuencia constante, pero con un ciclo de trabajo variable (la relación entre la duración del pulso y su período de repetición). Debido al hecho de que la mayoría de los procesos físicos en la naturaleza tienen cierta inercia, las caídas bruscas de voltaje de 1 a 0 se suavizarán, tomando un valor promedio. Al configurar el ciclo de trabajo, puede cambiar el voltaje promedio en la salida PWM.
Si el ciclo de trabajo es del 100%, entonces todo el tiempo en la salida digital del Arduino habrá un voltaje lógico de "1" o 5 voltios. Si establece el ciclo de trabajo en 50%, la mitad del tiempo en la salida será lógico "1" y la mitad lógico "0", y el voltaje promedio será de 2,5 voltios. Etcétera.
En el programa, el ciclo de trabajo no se establece como un porcentaje, sino como un número de 0 a 255. Por ejemplo, el comando "analogWrite (10, 64)" le indicará al microcontrolador que envíe una señal con un ciclo de trabajo de 25 % a la salida digital PWM # 10.
Los pines Arduino con función de modulación de ancho de pulso operan a una frecuencia de aproximadamente 500 Hz. Esto significa que el período de repetición del pulso es de aproximadamente 2 milisegundos, que se mide mediante los trazos verticales verdes en la figura.
¡Resulta que podemos simular una señal analógica en la salida digital! Interesante, ¿verdad?
¿Cómo podemos usar esto? ¡Hay muchas aplicaciones! Por ejemplo, estos son control de brillo de LED, control de velocidad del motor, control de corriente de transistor, extracción de sonido de un emisor piezoeléctrico …
Paso 2
Echemos un vistazo al ejemplo más básico: controlar el brillo de un LED mediante PWM. Armemos un esquema clásico.
Paso 3
Abramos el boceto "Fundido" de los ejemplos: Archivo -> Muestras -> 01. Básicos -> Fundido.
Paso 4
Cambiémoslo un poco y cargámoslo en la memoria Arduino.
Paso 5
Encendemos la energía. El brillo del LED aumenta gradualmente y luego disminuye gradualmente. Hemos simulado una señal analógica en la salida digital usando modulación de ancho de pulso.