Está en la página 1de 4

Electrónica Digital/Arduino

PRÁCTICA 3. ENCENDER UN LED Y CAMBIARLE SU INTENSIDAD USANDO PWM


3.1 Objetivo General:

Encender un LED y cambiarle su intensidad usando PWM, señales de modulación de ancho de pulsos (pulse-width
modulation).

3.2 Materiales y Métodos:

1) Un LED.
2) Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.
3) Un cable USB impresora.
4) Un computador.
5) Cables para el montaje del circuito.
6) Tarjeta Protoboard.
7) Una Resistencia Eléctrica de 220 ohm.

Primero que todo, es necesario conocer que son las señales de modulación de ancho de pulsos (Pulse Width
Modulation PWM).

3.2.1 Señales PWM

A menudo se necesita algo más que una señal de 0 o 1. Por ejemplo: variar la velocidad de giro de un motor, variar
la intensidad de emisión un LED, o transmitir los grados de giro de un servo, entre otros ejemplos. Para todo esto
nos servirá las PWM, que emula una señal analógica a partir de una señal digital.

Las siglas PWM vienen de Pulse Width Modulation, o Modulación de Ancho de Pulso. Lo que hace este tipo de señal
es emitir, en lugar de una señal continua de salida, es generar una serie de pulsos que se pueden variar en su
duración, pero a frecuencia constante. Así, la tensión promedio resultante es directamente proporcional a la
duración de los pulsos dentro del rango del periodo indicado. Esto es, cuanto más juntos estén esos pulsos de +5v,
mayor será la tensión promedio de nuestra salida, y cuanto más distantes sean estos, menor será la tensión. Lo
anterior se puede observar en la Figura 1.

Figura 1 Cambio de tensión dependiendo de la duración de funcionamiento del LED

1
Ing. Christian Lezama Cuellar
Electrónica Digital/Arduino
3.3 Montaje de la práctica:

Antes de comenzar, primero se esquematiza en el programa TinkerCad. El cátodo del LED va al pin 9. El anodo va a
tierra. El circuito incluye una resistencia electrica para evitar quemar el LED, ver Figura 2.

Figura 2. Montaje del circuito para Encender un LED y cambiarle su intensidad usando PWM.

Note que el Protoboard ayuda a insertar el LED e instalar el circuito a través de cables, al igual que la resistencia
eléctrica. El pin 9 se conecta directamente al Protoboard, como se muestra una de las funciones que tiene tablero,
es que sus orificios al estar conectados por un circuito interno.

3.3.1 Pines digitales y de PWM

¿Por qué se ha elegido como entrada el pin 9 y no el pin 13?

Se eligió el pin 9 ya que en la tarjeta Arduino al lado del pin hay un símbolo (~). Estos puertos permiten enviar señal
modulada, es decir, los pines que no tienen ese emblema solo mandan señales de 0 y 1. Ya que la en práctica se
pretende que cambie la intensidad del LED y es necesario utilizar un pin que permita PWM.
Luego, que se tiene armado el circuito en el programa TinkerCad, se puede iniciar con el desarrollo del programa
en el IDE de Arduino.

3.4 IDE del Código de Arduino:

 Primero que todo, se debe seleccionar la tarjeta Arduino: Arduino Uno-R3, Arduino Mega 2560, Nano.
 Seguidamente, se selecciona bajo que puerto USB se va a conectar el Arduino con el computador.
 Antes de comenzar el código, se colocar el título del programa, esto se hace a través del símbolo // a los
fines de introducir comentarios dentro del programa.

3.4.1 Procedimiento de cómo llevar a cabo el codificado del programa:

El pin del LED se declara const y int. Se le asignara el valor de 9.

Se declara una variable entera i con valor cero (0). La intensidad del LED, primero será cero (0), hasta llegar al valor
máximo de 255.

2
Ing. Christian Lezama Cuellar
Electrónica Digital/Arduino
Dentro de la estructura void setup (), se abre corchete ({) para saber qué es lo que contiene ese comando y al
finalizar el comando se cierra corchete (}). Internamente del corchete se declara que la variable LED es de salida
mediante el comando pinMode(LED,OUTPUT)..

Luego. se procede a realizar la estructura del código a través del comando void loop (), se abre corchete ({) y se
cierra luego de terminar su cumplimiento (}). Internamente del corchete se escriben las instrucciones que ejecuta
Arduino continuamente.

La intensidad del LED se cambia enviando una señal PWM analogWrite(LED, i) donde i va variando desde (0) hasta
255.

Se utiliza la estructura for (i=0; i<255; i++), que permite aumentar la variable i mediante analogWrite () donde la
variable i varia de 0 hasta i<255. El i++ es el contador que ira de 1 en 1 hasta llegar a su valor final de 225.

Para observar la diferencia de intensidad se establece un delay de 10 milisegundos, es necesario realizar este delay
ya que de no colocarlo no se nota el cambio en la intensidad del LED.

Luego de llevar al LED al valor más alto (255) se baja la intensidad del mismo con el comando for, pero en vez se
emplea i– para que el contador baje de 1 en 1, for (i=255; i>0; i–). A fin de observar la diferencia de intensidad se
establece un delay de 10 milisegundos.

2.4.2 Algoritmo de la práctica 3

El siguiente código muestra cómo queda plasmado en el IDE de Arduino:

// Práctica encender un LED y cambiar su intensidad

const int LED=9;

int i;

void setup(){

pinMode(LED,OUTPUT);

void loop() {

for (i=1;i<255; i++){

analogWrite(LED,i);

delay(5);

3
Ing. Christian Lezama Cuellar
Electrónica Digital/Arduino

for (i=255;i>0; i--){

analogWrite(LED,i);

delay(5);

Algoritmo 1 Código para encender y variar la intensidad de un LED utilizando PWM.

Al terminar el desarrollo del programa, se debe compilar para verificar si existen errores dentro del codificado.

De no existir errores, se procede a cargar el código en la tarjeta Arduino para que pueda ser ejecutado.

3.5 Conclusiones:

_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________
_____________________________________________________________________________________________

4
Ing. Christian Lezama Cuellar

También podría gustarte