Está en la página 1de 3

PWM

Sencillo circuito para aprender a utilizar las salidas PWM de Arduino



El PWM es una de las herramientas ms tiles que nos proveen los microcontroladores, con ellos
podemos hacer infinidad de cosas, vamos a ver cmo usarlo:

El circuito no podra ser ms sencillo, un leds con su correspondiente resistencia de 470Ohm
conectado a una de las salidas PWM de Arduino.
Este es el cdigo que vamos a utilizar, podemos encontrarlo en file => Examples => Basic =>
Fade:
1. // Brillo del led;
2. int brightness = 0;
3. // Cuanto se incrementar el PWM en cada vuelta del bucle.
4. int fadeAmount = 5;
5.
6. void setup() {
7. // definimos dnde tenemos conectado el led, en este caso al Pin 9
8. que puede entregar PWM
9. pinMode(9, OUTPUT);
10. }
11.
12. void loop() {
13. /* enviamos el valor de la variable donde almacenamos la intensidad
14. del Led al led.*/
15. analogWrite(9, brightness);
16.
17. // En cada vuelta del bucle aumentamos el ancho del pulso.
18. brightness = brightness + fadeAmount;
19.
20. /* Cuando llegamos a un extremo, nos dirigimos hacia el otro,
21. es decir, si estbamos encendiendo empezamos a apagar y si estbamos
22. apagando empezamos a encender. */
23.
24. if (brightness == 0 || brightness == 255) {
25. fadeAmount = -fadeAmount ;
26. }
27. // Ponemos una pequea pausa para que nos de tiempo a ver el efecto.
28. delay(30);
29. }
30.
Como vemos, utilizamos la funcin AnalogWrite pese a que los leds estn conectados a salidas
marcadas como Digital, eso es as porque en pines digitales la funcin AnalogWrite de Arduino
gestiona el PWM en aquellas salidas que lo sean.
Lo que hacemos es recorrer todos los valores del pulso mediante un bucle, desde 0 hasta 255 que
es la resolucin completa que puede entregar Arduino. Al hacerlo vemos que la intensidad del Led
va cambiando, desde apagado hasta el mximo encendido y vuelve a apagarse poco a poco.
Si en lugar de un led tuvisemos un motor (con su correspondiente etapa de potencia o
controladora) lo que estaramos haciendo es variar su velocidad.
Este es slo un ejemplo muy sencillo, podramos complicarlo mucho ms, por ejemplo usando tres
les, Uno rojo, otro azul y otro verde (o un led RGB) y creando toda la gama cromtica con l,
utilizando un motor para variar su velocidad... etc.

También podría gustarte