PWM con Arduino
PWM en Arduino tiene una amplia gama de aplicaciones utilizadas para controlar dispositivos analógicos utilizando señales digitales. La salida de pines digitales de Arduino se puede clasificar en dos niveles de voltaje, ya sea alto, que es de 5V o bajo, lo que denota 0V. Usando PWM en Arduino podemos generar una señal que tiene una frecuencia constante pero con un ancho variable de pulso. El ejemplo más común de uso de PWM en Arduino es controlar el brillo de un LED y controlar la velocidad de un motor.
La señal de modulación de ancho de pulso tiene las siguientes dos características:
Pins PWM en Arduino Uno
Arduino Uno tiene un total de 14 pines de salida de entrada digital, de estos pines digitales de 6 pines PWM están disponibles en Arduino Uno Board. En Arduino Uno Pins digitales de E/S 3, 5, 6, 9, 10 y 11 son PWM Pins. El número de pines PWM varía de una tabla a otra.
La velocidad de mostrador en Arduino determina la frecuencia de las señales PWM. En Arduino Uno Counter Clock es igual al reloj del sistema dividido por el valor Prescalers. Tres prescalores almacenan el valor del contador registrado. Estos tres prescalores se conocen como: CS02, CS01 y CS00. Como el número total de pines PWM es 6, se utilizan tres registros de contadores en Arduino Uno con preescalores separados para controlar los pines PWM.
Registros de temporizador/contador | Pines PWM |
---|---|
TCCR0B | Controla el pin 6 y 5 |
TCCR1B | Controles Pin 9 y 10 |
TCCR2B | Controles Pin 11 y 3 |
Cada uno de estos tres registros puede configurar tres rangos de frecuencia diferentes para señales PWM. Normalmente, por defecto, un Arduino Uno tiene las siguientes frecuencias para los pines PWM:
Alfileres arduino | Frecuencia PWM |
---|---|
5 y 6 | 980MHz |
9, 10,11 y 3 | 500MHz |
Cómo usar pines PWM en Arduino
Los pines digitales en Arduino se pueden configurar utilizando PinMode (), DigitalRead () y DigitalWrite (). Aquí la función pinmode () establece un pin como entrada y salida. Cuando configuramos los pines digitales como la función Input DigitalRead () se usa mientras se establece un PIN como la función DigitalWrite () de salida () se usa.
Analogwrite ()
Para configurar PWM Pins que usamos Analogwrite () función. Esta función escribe un valor analógico en un pin digital. Puede establecer el ciclo de trabajo de señal PWM. Cuando se llama a la función analogwrite en un pin específico, se genera una onda cuadrada estable con ciclo de trabajo definido. Esta onda cuadrada permanecerá allí hasta que llamemos a una nueva función analogwrite () para ese pin o escriba un nuevo valor usando digitalread () o digitalwrite () función.
Sintaxis
Analogwrite (pin, valor)
La función AnalogWrite () toma dos argumentos:
Otro argumento que es opcional en caso de PWM es la frecuencia. Si esto no se especifica de forma predeterminada, es 500Hz.
El valor AnalogWrite () define el ciclo de trabajo para las señales PWM:
Conclusión
PWM en Arduino es una técnica o método para controlar dispositivos analógicos utilizando señales digitales. Todos los tableros Arduino tienen pines PWM a bordo. 6 pines PWM están presentes en Desatado Fuera del total de 14 alfileres digitales. Aquí discutimos cómo podemos configurar estos pines usando la función Analogwrite () en Arduino Uno.