Placa de desarrollo Arduino UNO - RGB
Administrador
12 de May de 2026
11 vistas
0 comentarios
Un LED RGB es un diodo emisor de luz que puede producir cualquier color combinando Rojo (Red), Verde (Green) y Azul (Blue).
En un solo componente tiene 3 LEDs internos (rojo, verde y azul) que se controlan por separado para crear miles de colores.
Código del programa
// Definición de pines según tu diagramaconst
int LED_R = 11; // Rojoconst
int LED_G = 12; // Verdeconst
int LED_B = 13; // Azulconst
int SWITCH1 = A2; // Cambiar colorconst
int SWITCH2 = A3; // Apagar
int color = 0; // 0=apagado, 1=rojo, 2=verde, 3=azul, 4=amarillo, 5=cyan, 6=magenta, 7=blancovoid
setup() {
pinMode(LED_R, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(LED_B, OUTPUT);
pinMode(SWITCH1, INPUT_PULLUP);
pinMode(SWITCH2, INPUT_PULLUP);
apagarLED();
}
void loop() {
// Switch 1 → cambiar color
if (digitalRead(SWITCH1) == LOW) {
color++;
if (color > 7) color = 1;
mostrarColor(color);
delay(300);
}
// Switch 2 → apagar
if (digitalRead(SWITCH2) == LOW) {
color = 0;
apagarLED();
delay(300);
}
}
void mostrarColor(int c) {
apagarLED();
switch (c) {
case 1: // Rojo
digitalWrite(LED_R, HIGH);
break;
case 2: // Verde
digitalWrite(LED_G, HIGH);
break;
case 3: // Azul
digitalWrite(LED_B, HIGH);
break;
case 4: // Amarillo (rojo + verde)
digitalWrite(LED_R, HIGH);
digitalWrite(LED_G, HIGH);
break;
case 5: // Cyan (verde + azul)
digitalWrite(LED_G, HIGH);
digitalWrite(LED_B, HIGH);
break;
case 6: // Magenta (rojo + azul)
digitalWrite(LED_R, HIGH);
digitalWrite(LED_B, HIGH);
break;
case 7: // Blanco (rojo + verde + azul)
digitalWrite(LED_R, HIGH);
digitalWrite(LED_G, HIGH);
digitalWrite(LED_B, HIGH);
break;
}
}
void apagarLED() {
digitalWrite(LED_R, LOW);
digitalWrite(LED_G, LOW);
digitalWrite(LED_B, LOW);
}
También te puede interesar
Comentarios (0)
Sé el primero en comentar.
Deja un comentario
Inicia sesión para que tu comentario se apruebe automáticamente.