Descripción del Laboratorio
El objetivo del siguiente laboratorio es el de controlar un LED RGB desde Arduino, via PWM, controlando cada color, con tres potenciometros.
Lista de los Elementos utilizados
Tarjeta Arduino
Cable USB; COM7
Protoboard
Cables macho-macho
Led RGB
4 Resistencias 220 Ω
3 potenciometros 10 Kω
Diagrama del Montaje en la Protoboard
Diagrama Esquemático del Circuito
Diagrama PCB equivalente
Proceso del Montaje paso a paso (Fotos)
Código Fuente en Arduino (con comentarios)
// Potenciometro que controla el color Rojo
#define POT_Red A0
// Potenciometro que controla el color Verde
#define POT_Green A2
// Potenciometro que controla el color Azul
#define POT_Blue A5
/********** Variables **********/
// Conectamos el LED RGB a los pines 6,5,3 PWM
// Pin para e color rojo.
int led_Red = 6;
// Pin para e color verde.
int led_Green = 5;
// Pin para e color azul.
int leb_Blue = 3;
// Guardamos el valor lo que recibimos via serial
// Pin para e color rojo
int red = 0;
// Pin para e color verde
int green = 0;
// Pin para e color azul
int blue = 0;
/********** Configuracion **********/
// Solo se ejecuta una vez, al iniciar o resetear el Arduino
void setup() {
// Pines de salida para el LED RGB
// pin de salida para el color rojo
pinMode(led_Red, OUTPUT);
// pin de salida para el color verde
pinMode(led_Green, OUTPUT);
// pin de salida para el color azul
pinMode(leb_Blue, OUTPUT);
// pienes de entrada para los potenciometos
//pin de entrada para el potenciometro color rojo.
pinMode(POT_Red, INPUT);
//pin de entrada para el potenciometro color verde.
pinMode(POT_Green, INPUT);
//pin de entrada para el potenciometro color azul.
pinMode(POT_Blue, INPUT);
}
// Ciclo infinito de ejecucion//
void loop() {
// Se Guardan los valores de analoogRead y lo mapeamos, para utilizarlos
// en el analogWrite.
red = map(analogRead(POT_Red),0,1023,0,255);
green = map(analogRead(POT_Green),0,1023,0,255);
blue = map(analogRead(POT_Blue),0,1023,0,255);
// Cambiar la intensidad de iluminacion del LED RGB para cada color.
// color rojo.
analogWrite(led_Red,red);
// color verde
analogWrite(led_Green,green);
// color azul.
analogWrite(leb_Blue,blue);
}
Vídeo del Funcionamiento






No hay comentarios.:
Publicar un comentario