Práctica 9 – LED RGB

Introducción

 

En esta práctica se regula la intensidad luminosa de cada color (Rojo-Verde-Azul) de un LED RGB de cátodo común, variando el ciclo de trabajo mediante un PWM (modulador de ancho de pulso).

 

Descripción

En esta práctica se realiza un control PWM para regular la intensidad luminosa de cada color de un LED RGB de cátodo común, por medio de un puerto PWM, usando los módulos  X-UNO o X-MEGA o X-NANO.

 

Materiales:

1 x Módulo X-UNO o X-MEGA o X-NANO.  Comprar

1 x Módulo Programador XCU. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Resistencia de 330 Ohms. Comprar

1 x LED RGB. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

Arduino IDE. Descarga

 

Procedimiento

1. En el apartado de “Diagrama esquemático”, que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de “Descargas”, puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de “Código” que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el software Arduino IDE, pega el código en un nuevo proyecto, realiza la compilación. 

4. Programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás un manual para compilar y programar en Arduino IDE.

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

 

Diagrama esquemático

 

X-UNO
X-MEGA
X-NANO
X-UNO

X-MEGA

X-NANO

 

Código

 

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Esta práctica consiste en realizar un control PWM para el control de un LED RGB.

**************************************************************************/

int pwm = 6;                                                                           //pin de salida PWM

int i = 0;                                                                                  //varible para que el ciclo de trabajo aumente

const int LEDR = 8;                                                             //Número del pin para LED

const int LEDV = 9;                                                             //Número del pin para LED

const int LEDA = 10;                                                             //Número del pin para LED

int VR=0,VA=0,VV=0;                                                         //Declaramos las variables VR,VA,VV.

void setup()

{

pinMode (pwm, OUTPUT) ;
pinMode (5, OUTPUT) ;
pinMode (LEDR, OUTPUT);                                                //Inicializa el PIN como una salida digital
pinMode (LEDV, OUTPUT);                                                //Inicializa el PIN como una salida digital
pinMode (LEDA, OUTPUT);                                               //Inicializa el PIN como una salida digital
}

void loop()
{
                digitalWrite (LEDA, LOW);
                digitalWrite (LEDV, LOW);
                digitalWrite (LEDR, HIGH);

       for (VR= 255; VR>= 0; VR–)                             //Ciclo para decrementar el brillo
        {
                analogWrite (pwm, VR);                             //Asigna contador al ciclo de trabajo
                analogWrite (5, 255 – VR);
                delay (5);                                                         //Retardo
         }
      for (VR = 0; VR <= 255; VR++)                             //Ciclo para incrementar el brillo
         {
                analogWrite (pwm, VR);                             //Asigna contador al ciclo de trabajo
                analogWrite (5, 255 – VR);
                delay (5);                                                         //Retardo
           }
                digitalWrite (LEDA, LOW);
                digitalWrite (LEDV, HIGH);
               digitalWrite (LEDR, LOW);

       for (VV= 255; VV>= 0; VV–)                             //Ciclo para decrementar el brillo
          {
                analogWrite (pwm, VV);                             //Asigna contador al ciclo de trabajo
                analogWrite (5, 255 – VV);
                delay (5);                                                         //Retardo
          }
        for (VV = 0; VV <= 255; VV++)                             //Ciclo para incrementar el brillo
          {
                analogWrite (pwm, VV);                               //Asigna contador al ciclo de trabajo
                analogWrite (5, 255 – VV);
                delay (5);                                                         //Retardo
          }
                digitalWrite (LEDA, HIGH);
                digitalWrite (LEDV, LOW);
                digitalWrite (LEDR, LOW);

       for (VA = 255; VA>= 0; VA–)                             //Ciclo para decrementar el brillo
          {
                analogWrite (pwm, VA);                             //Asigna contador al ciclo de trabajo
                analogWrite (5, 255 – VA);
                delay (5);                                                         //Retardo
            }
        for (VA = 0; VA <= 255; VA++)                             //Ciclo para incrementar el brillo
          {
                analogWrite (pwm, VA);                             //Asigna contador al ciclo de trabajo
                analogWrite (5, 255 – VA);
                delay (5);                                                         //Retardo
           }
}

 

 

  ¿Qué te pareció esta práctica?

Calificación 0

 

 

Descargas

Práctica 9 – Arduino

Descarga código en Arduino de la práctica 9.

 

Fecha

enero 9, 2019

Categoría

Prácticas Arduino

EnglishSpanish