CÓMO CONTROLAR los COLORES del LED RGB con POTENCI
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
APRENDE LO QUE NECESITAS
NUESTROS CURSOS
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.
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.
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.
¿Tienes un proyecto que quieras compartir?
Mándanos tu proyecto o prácticas que quisieras difundir en la comunidad a nuestras redes.
ó
team@codiziapp.com