SIK Experiment Guide for the Arduino 101/Genuino 101 Board (Spanish)

This Tutorial is Retired!

This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.

Pages
Contributors: D___Run___
Favorited Favorite 0

Experimento 3: Controlar un LED RGB

Introducción

¿Sabe que es más divertido que un LED que parpadea? Un LED que cambia de color. En este circuito, aprenderá a utilizar un LED RGB para crear combinaciones únicas de colores. En función de lo brillante que sea cada diodo, se puede conseguir casi cualquier color.

Elementos necesarios

Necesitará los siguientes elementos:

  • 1x placa de pruebas
  • 1x placa Arduino 101 o Genuino 101
  • 1x LED RGB de cátodo común
  • 3x resistencias de 100 Ω
  • 6x cables puente

¿No tiene el 101 SIK?

Si está realizando este experimento y no dispone del SIK, le sugerimos que use estos elementos:

Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$5.50
48
Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

PRT-12795
$2.10
2
LED - RGB Clear Common Cathode

LED - RGB Clear Common Cathode

COM-00105
$2.25
3

Resistor 100 Ohm 1/4th Watt PTH - 20 pack

COM-13761
Retired

También necesitará una placa Arduino 101 O Genuino 101.

Arduino 101

DEV-13787
9 Retired

Genuino 101

DEV-13984
Retired

Presentación del LED rojo, verde y azul (RGB)

texto alternativo

El LED rojo, verde y azul (RGB) consiste en 3 LED en uno. El RGB tiene cuatro pines y los tres más cortos controlan un color individual: rojo, verde o azul. El pin más largo del RGB es el pin a tierra común. Puede crear un LED de color personalizado activando y desactivando diferentes colores para combinarlos. Por ejemplo, si activa el pin rojo y verde, el RGB se iluminará en amarillo.

Pero, ¿a qué color corresponde cada pin? Sostenga el RGB de manera que el pin más largo (a tierra común) esté alineado a la izquierda, como se muestra en el siguiente gráfico. Los pines son los siguientes, de izquierda a derecha: color rojo, a tierra, color verde y color azul.

**Nota: Cuando se conectan los cables del RGB, cada pin de color necesitará una resistencia limitadora de corriente en línea con el pin de la placa 101 que planea utilizar para controlarlo, como con cualquier LED estándar. **

Conexión del hardware

¿Preparado para comenzar a conectar todo? Consulte el diagrama de cableado y la tabla de conexión siguientes para ver cómo está conectado todo.

Preste especial atención a las marcas de los componentes que indican cómo colocarlo en la placa de pruebas. Los componentes polarizados solo se pueden conectar a un circuito en una sola dirección. Los componentes polarizados están resaltados con un triángulo de advertencia amarillo en la tabla de abajo.

Diagrama de cableado del experimento

texto alternativo

¿Tiene problemas para ver el circuito? Haga clic en el diagrama de cableado para verlo más de cerca.

Abrir el boceto

Abra el software IDE de Arduino en su ordenador. La codificación en el lenguaje de Arduino controlará el circuito. Abra el código del circuito 3; para ello, acceda a "101 SIK Guide Code" (Guía de códigos de SIK 101) que ha descargado y guardado en la carpeta "Examples" (Ejemplos) anteriormente.

Para abrir el código vaya a: File > Examples > 101 SIK Guide Code > Circuit_03 (Archivo > Ejemplos > Guía de códigos de SIK 101 > Circuito_03)

También puede copiar y pegar el siguiente código en el IDE de Arduino. Cárguelo y observe lo que ocurre.

language:cpp
/*
SparkFun Inventor's Kit
Example sketch 03

RGB LED

Make an RGB LED display a rainbow of colors!

This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
Visit http://learn.sparkfun.com/products/2 for SIK information.
Visit http://www.arduino.cc to learn about the Arduino.
*/

//create variables for pin numbers. We are making them constants here, because they       //never change.
const int RED_PIN = 5;
const int GREEN_PIN = 6;
const int BLUE_PIN = 9;

// How fast we plan to cycle through colors in milliseconds
int DISPLAY_TIME = 10;  

void setup()
{
//set the three pin variables as outputs
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}

void loop()
{
// We've written a custom function called mainColors() that steps
// through all eight of these colors. We're only "calling" the
// function here (telling it to run). The actual function code
// is further down in the sketch.
mainColors();

}

// Here's the mainColors() custom function we've written.
void mainColors()
{
// Off (all LEDs off):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);

//wait 1 second
delay(1000);

// Red (turn just the red LED on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);

//wait 1 seconds
delay(1000);

// Green (turn just the green LED on):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);

//wait 1 second
delay(1000);

// Blue (turn just the blue LED on):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);

// Yellow (turn red and green on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);

//wait 1 second
delay(1000);

// Cyan (turn green and blue on):
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);

// Purple (turn red and blue on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);

// White (turn all the LEDs on):
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, HIGH);

//wait 1 second
delay(1000);
}

Código a tener en cuenta

language:cpp
for (x = 0; x < 768; x++)
{}

El bucle for() se utiliza para repetir una acción un número de veces en un intervalo, y ejecuta repetidamente el código entre corchetes {}. Aquí la variable "x" comienza en 0, termina en 767, y se incrementa de uno en uno ("x++").

language:cpp
if (x <= 255)
{}
else
{}

Las instrucciones "If / else" se utilizan para establecer opciones en los programas. Se evalúa la instrucción entre paréntesis (); si es correcta, el código dentro de los primeros corchetes {} se ejecutará. Si no es correcta, se ejecutará el código dentro de los segundos corchetes {}.

Lo que debería ver

Debe ver que el LED se enciende, pero esta vez con nuevos y divertidos colores. Si no es así, asegúrese de que ha montado el circuito correctamente y ha verificado y cargado código en la placa o consulte la sección Solución de problemas.

texto alternativo

Solución de problemas

El LED permanece oscuro o muestra un color incorrecto

Como los cuatro pines del LED están muy próximos físicamente, es bastante fácil colocar alguno en el lugar equivocado. Vuelva a comprobar que cada pin está en el lugar correcto.

Se enciende de color rojo

El diodo rojo del LED RGB puede ser un poco más brillante que los otros dos. Para equilibrar los colores, utilice una resistencia más alta.