Antes de escribir un programa para controlar una salida analógica del Arduino,
debemos empezar por identificar que puertos del Arduino están dispuestos para
generar una señal en base a un PWM y en segundo lugar explicaremos que es una señal
PWM.
PWM PINS: 3, 5, 6, 9, 10, 11
¿Qué es PWM y cómo funciona?
La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de
pulse-width modulation) de una señal o fuente de energía es una técnica en la que se
modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por
ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o
para controlar la cantidad de energía que se envía a una carga.
El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en
relación con el período. Expresado matemáticamente:
D es el ciclo de trabajo
es el tiempo en que la función es positiva (ancho del pulso)
T es el período de la función
Para las salidas analógicas se usan los pines que están marcados como PWM y es que
en realidad las salidas analógicas no dan una señal continua a un nivel determinado,
sino que mediante pulsos consiguen obtener un nivel de tensión promedio proporcional
al ancho de estos pulsos.
Como se puede ver en la imagen superior, variando en ancho del pulso, podemos
obtener una señal promedio equivalente.
Para la primera señal, cuyo ancho de pulso es del 10%, nos daría una señal analógica de
0.5v (el 10% de 5V).
Para la segunda una señal, cuyo ancho de pulso es del 50%, nos daría una señal
analógica de 2.5v.
Y para la tercera señal obtendríamos una señal, cuyo ancho de pulso es del 90%,
obtendríamos un valor equivalente de 4.5v.
Instrucciones para controlar la salida analógica en un Arduino.
La instrucción que debemos implementar es la siguiente:
analogWrite
Sintaxis:
analogWrite(pin, value)
Parámetros:
pin: el pin Arduino para escribir. Tipos de datos permitidos: int.
value: El ciclo de trabajo: entre 0 (siempre apagado) y 255 (siempre encendido). Tipos
de datos permitidos: int.
Programa de ejemplo:
Para modificar el valor del voltaje en la salida PWM seleccionada (pin 6), solo basta con
modificar el argumento (value) de la función analogWrite.
Value, solo permite un valor entre 0 y 255.
Con value igual a 255, obtendremos aproximadamente 5 Vdc en el pin seleccionado,
para el ejemplo (pin 6).
Con value igual a 127, obtendremos aproximadamente 2.3 Vdc
Con value igual a 0, obtendremos 0 Vdc.
De esta forma podemos controlar el nivel de voltaje que deseamos sobre el pin 6. Para
medir el voltaje utilizamos un multímetro. Recuerden que el parámetro value, solo
admite valores entre 0 y 255.
Para value = 0, El voltaje será 0 Vdc
Para value = 255, el voltaje será 5 Vdc.