Práctica 5

En la práctica 5 aprenderemos a usar Leds RGB, los cuales son simplemente 3 leds de 3 colores distintos (Rojo, Verde y Azul) empaquetados en el mismo led. Veremos como controlarlos, aprenderemos el concepto e importancia de las funciones, y profundizaremos en la estructura de bucle condicional for.

Leds RGB

Como ya hemos dicho, (Y nos podemos imaginar), los leds RGB son leds formados por 3 leds de 3 colores distintos. RGB viene de los colores en inglés, Red/Green/Blue. Variando la intensidad de corriente por cada led, podremos obtener cualquier posiblidad en toda la gama de colores.

Al ver un led RGB por primera vez, nos llamará la atención el hecho de que tenga 4 patas (¡Una más larga que las demás y todo!). Imaginemos que tenemos 3 leds y los queremos unir. Vamos a necesitar 3 patitas para controlar cada uno de ellos, pero solo una conectada a tierra, por lo que las “tres patitas que se conectan a tierrra” se unen en una.

Llegado a este punto, hay que hacer una aclaración: Hay dos tipos de leds RGB, de ánodo y cátodo común. Básicamente esto determina como está colocado el diodo y como hay que alimentarlo para hacer que se encienda. Los leds RGB en nuestros kits son de ánodo común, es decir, se encienden alimentando la pata más larga a 5V y brillará más cuanto mayor sea la diferencia de voltaje entre esta pata y la(s) otra(s). (Es decir, si conectásemos una pata a GND, la diferencia sería de 5V y tendríamos mucha luz). En la imagen inferior podemos observar de que patita es cada color:

¿Como lo controlamos? Con los pines PWM, de salida analógica. Con nuestros leds de ánodo común, si sacamos 0 por la salida analógica conectada a una pata (Lo equivalente a tierra), obtendremos mucha luz, y si vamos subiendo nuestra salida, la luz irá disminuyendo de forma gradual, hasta apagarse cuando lleguemos a un valor de 255.

¡Hay que tener en cuenta que si queremos usar leds RGB de cátodo común, todo esto sería al reves!

Funciones

Las funciones nos ayudan a reducir y simplificar el código, sobre todo cuando necesitamos repetir una misma acción una y otra vez. Si nos fijamos en el código del primer ejercicio, abajo del todo podemos ver:

Lo primero que nos puede llamar la atención es el hecho de que escribamos void al principio. Esto es porque void setup y void loop son funciones. Fijaos en el hecho de que se declare nuestra función fuera de estos dos voids. (En un plano más técnico, void es una declaración de una función que no nos devuelve nada, es decir, realiza una acción pero no nos devuelve un dato.)

Tras declararlo como un void, se declara el nombre de la función, y justo después, sus argumentos (O datos que necesita coger). Dentro de las llaves se meten las acciones que queramos que realice nuestra función. Para llamarlo, simplemente escribimos el nombre de la función, y definimos los argumentos necesarios (Ver ejercicios):

setColor(0, 255, 255);

Componentes necesarios para esta práctica

Los ejercicios a realizar en esta práctica son:

  1. El ejercicio a consiste en un bucle que va a ir poniendo diferentes colores al Led, para poder observar algunas combinaciones. Habrá que fijarse bien en la función setColor.
  2. El ejercicio b consiste en un bucle que irá iluminando gradualmente cada color en orden: Rojo, Verde y Azul. El delay lo controlará un potenciómetro. Es importante notar la estructura for que se ha usado para poder barrer por todas las posibilidades de cada led. Así mismo, la estructura de contador con if’s condicionales se ha hecho para que antes de cada delay se lea el potenciómetro de nuevo y la “respuesta sea más rápida”, sin repetir el mismo bloque de código demasiado.

Código ejercicio a

Código ejercicio b

Archivos .ino

Descarga el ejercicio a haciendo click aquí 
Descarga el ejercicio b haciendo click aquí

Comentario final y RETO SEMANAL

El reto de este semana es controlar un LED RGB con dos potenciómetros y un LDR (El sensor de luz). Un potenciómetro controlará el led rojo, el otro el verde, y el LDR el azul. 

Según lo vayáis completando, mandad el código (y si queréis, fotos o vídeos) a la siguiente dirección: practicas@thinkbit.org

Enlaces relacionados

Página oficial Arduino: Funciones
Tdrobótica: Control de un led RGB
Adafruit (ENG): Arduino tutorial 3 - RGB Leds
Share Button

Un pensamiento en “Práctica 5

  1. Pingback: Práctica 5. LED RGB | ThinkBit | tecno4 ...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">