Modulación de ancho de pulso en Arduino

Modulación de ancho de pulso en Arduino
La modulación de ancho de pulso también conocida como PWM es una técnica que implica la alteración en el ancho del pulso de la señal generada como resultado, el ciclo de trabajo de la señal cambia que dará la señal variable. Esta entrada variable se puede usar en muchas aplicaciones, como controlar el brillo de los LED, controlar la velocidad de los motores y donde la salida analógica se requiere utilizando fuentes digitales.

Modulación de ancho de pulso con Arduino

La modulación de ancho de pulso se puede hacer en Arduino usando el Analogwrite () función. La función analogwrite () en sí genera la señal de onda cuadrada que se puede variar desde la función.

El Analogwrite () la función usa dos argumentos, uno es un alfiler que especificará el número de puerto en el que generará la señal modulada y la otra es valor que especifica el valor del ciclo de trabajo de la señal modulada.Para usar la función AnalogWrite en Arduino Programación, se debe seguir la siguiente sintaxis

AnalogWrite (número PIN, valor del ciclo de trabajo);

El número PIN es de tipo de datos enteros, mientras que el valor del ciclo de trabajo tiene el formulario de cero a 255.El ancho del pulso es la parte del pulso en el que su valor es alto. Del mismo modo, la duración del ciclo del pulso es la duración de sus valores altos y bajos. Además, el porcentaje de la relación entre la duración del ancho del pulso hasta la duración del ciclo se denomina ciclo de trabajo. Se dan diferentes ciclos de servicio para una mayor comprensión del tema. Los gráficos trazados tienen tiempo en el eje horizontal, mientras que el voltaje está en el eje vertical. Estos son los porcentajes de cuánto tiempo era alto. El ciclo de trabajo es el tiempo para el cual el voltaje era alto.

Ejemplo

El código para la modulación de ancho de pulso se da a continuación.

int ledpin = 6; // Arduino Uno Pwm Pins: 3, 5, 6, 9, 10
int brillo = 0;
int FadeValue = 5;
setup () void
PinMode (LEDPIN, salida);

bucle void ()
Analogwrite (Ledpin, brillo);
Brillo = Brillo + FadeValue;
if (brillo = 255)
FadeValue = -fadeValue;

retraso (10);

Primero el ledpin Se declara la variable en la que la luz LED está conectada y luego para almacenar el valor analogwrite una variable de brillo se declara. El valor se acumulará en el rango entre 0 y 255. Para controlar la descuición del LED una variable llamada valor femenado se usa.

Al llegar a la sección de configuración, se declara el número PIN asignado al LED y en la sección del bucle se genera la señal de modulación de ancho de pulso utilizando la función AnalogWrite (). El brillo del LED se controla con la alteración del ancho del pulso. El pasador LED y el brillo se toman como argumentos de la función analogwrite. Después de eso se agrega el brillo y la variable FadeValue. Para aumentar el brillo en cinco veces en cada vez que se ejecuta el bucle, es por eso que el valor de fade tiene el valor 5.

La condición IF se usa para ejecutar el código solo si el brillo es menor que igual a cero o mayor que igual a 255.

Entonces, al comienzo, el valor de brillo es cero y FadeValue es 5. Entonces, en la primera declaración, la cantidad de desvanecimiento se agrega al brillo y ahora el brillo tiene un valor de cinco. Luego, llegando a la declaración if, la condición es falsa ya que el brillo no es inferior al igual a cero o el brillo es mayor que igual a 255. Entonces, el bucle continuará funcionando hasta que el valor de brillo alcance 255. Entonces, si la condición if es verdadera, entonces se agrega un valor de Negativo cinco 5 a la cantidad de desvanecimiento.

Entonces, ahora en cada iteración, el valor disminuirá en 5 hasta que alcance cero y el LED se apagará.

Conclusión

Hay una amplia gama de proyectos que se pueden hacer usando Arduino. El uso de Arduino hace que sea fácil trabajar en proyectos. En este artículo se discute la modulación de ancho de pulso (PWM) y se describe una de sus aplicaciones para dar más detalles sobre cómo se puede usar la modulación de ancho de pulso (PWM) para tareas específicas en la programación de Arduino.