CÓMO CONTROLAR los COLORES del LED RGB con POTENCI


ledrgbpots.jpg

Video

En esta práctica aprenderemos a controlar los colores de un LED RGB utilizando potenciómetros simulando ser dimmers.

CÓMO CONTROLAR los COLORES del LED RGB con POTENCIÓMETROS ▶ CREA tus propios colores RGB



- Materiales:


Para realizar el circuito necesitas:

• 1 Arduino UNO,
• 1 LED RGB,
• 3 Potenciómetros de 10K,
• 3 Resistencias de 330 ohms,
• 1 protoboard y jumpers.

- Código



Comenzamos el desarrollo del programa definiendo los pines donde estarán conectados los colores del LED RGB y el potenciómetro. Utilizaremos variables de tipo entero para la asignación de pines.

También iniciaremos unas variables para almacenar los valores medidos de los potenciómetros para ser procesados posteriormente. Le damos el valor de 0 para evitar prender el led al momento de ejecutar el programa.

//colores rgb
int rojo = 11;
int verde = 10;
int azul = 9;
//potenciometros
int pot1 = A0;
int pot2 = A1;
int pot3 = A2;
//mediciones pots
int potValuePot1 = 0;
int brightnessPot1 = 0;
int potValuePot2 = 0;
int brightnessPot2 = 0;
int potValuePot3 = 0;
int brightnessPot3 = 0;

En la función void setup() definiremos los colores del LED RGB como salidas digitales y los pines de los potenciómetros como entradas analógicas.

void setup() {
pinMode(pot1, INPUT);
pinMode(pot2, INPUT);
pinMode(pot3, INPUT);
pinMode(rojo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(azul, OUTPUT);
}

Dentro de la función loop() leeremos los valores que arrojan los potenciómetros y almacenarlas en sus respectivas variables. Posteriormente mandaremos esos valores como un pulso PWM a los pines del LED RGB.

Arduino cuenta con 8 bits, si pasamos de binario a decimal son 256. En hojas de datos de las placas Arduino el rango del PWM es de 0 – 255 y el rango de un potenciómetro es de 0 – 1023. Debemos procesar los valores de los potenciómetros para que se adecue al rango del PWM.

Utilizamos la función map() para convertir los valores de los potenciómetros a valores que soporta los pines PWM.

void loop() {
potValuePot1 = analogRead(pot1);
brightnessPot1 = map(potValuePot1, 0, 1023, 0, 255);
potValuePot2 = analogRead(pot2);
brightnessPot2 = map(potValuePot2, 0, 1023, 0, 255);
potValuePot3 = analogRead(pot3);
brightnessPot3 = map(potValuePot3, 0, 1023, 0, 255);
analogWrite(rojo,brightnessPot1);
analogWrite(verde,brightnessPot2);
analogWrite(azul,brightnessPot3);
}

analogWrite() tiene la misma sintaxis que digitalWrite(), la diferencia es que analogWrite() puede mandar un valor regulado en vez de 0 y 1.

- Instrumentación



Empezaremos conectando las tres patas de cada potenciómetro a 3 pistas de la protoboard, no importa en qué dirección esté la perilla. Realizaremos un puente de conexión entre la pata de en medio de cada potenciómetro a los pines A0, A1 y A2 del Arduino UNO mediante jumpers. Posteriormente conectaremos las patas extremas a 5v del Arduino y a tierra por el pin GND, como se muestra en la imagen.

Colocaremos el LED RGB conectando el ánodo común a 5v y las demás patitas a los pines 9, 10 y 11 del Arduino. Compilamos y subimos programa para ver resultados.

DESCARGAS


CÓMO CONTROLAR los COLORES del LED RGB con POTENCIÓMETROS

Imágenes

ledrgbpots.jpg

APRENDE LO QUE NECESITAS

NUESTROS CURSOS


cursoarduinoyandroid.jpg

Creación de un HMI en Android Studio y Arduino

Nivel: Básico 2 horas y 30 min (146 min.)

Diseña, maqueta y programa un HMI completo en Android Studio vinculado a un Arduino mediante Bluetooth.

cursodispensadorautomatico.jpg

CONSTRUYE un DISPENSADOR AUTOMÁTICO CASERO sin ARDUINO desde CERO

Nivel: Básico 27 minutos

Construye desde cero un dispensador automático casero sin Arduino desde cero, utilizando pura electrónica.

cursocarritorobot4wd.jpg

Creación de carrito robot desde cero usando mando de PS4

Nivel: Básico 2 horas y 19 min (139 min.)

Construye desde cero un carrito robot con arduino manipulado por un control de PS4 y un teléfono Android.