Buen dia.
Me gustaria saber como se hace la programacion de una secuencia ciclica de un LED RGB con las siguientes condiciones.
Enciende
Rojo
Esperar 0.5 segundos
verde
Esperar 0.5 segundos
azul
Esperar 0.5 segundos
amarillo
Esperar 1.5 segundos
y despues hacer toda la secuencia solo dos veces y apagar el LED.
Agredecido Totalmente.
Con una función como esta...
void Color(int R, int G, int B)
{
analogWrite(9 , R) ; // Red - Rojo
analogWrite(10, G) ; // Green - Verde
analogWrite(11, B) ; // Blue - Azul
}
Y un código como este...
void loop()
{ Color(255 ,0 ,0) ;
delay(500);
Color(0,255 ,0) ;
delay(500);
Color(0 ,0 ,255) ;
delay(500);
Color(0,0,0);
delay(1500);
}
Cambia colores (puedes mirarlos en el paint o cualquier pantone) y añade un for de 2 ciclos y supongo que usaras un pulsador, y listo.
He hecho este codigo pero me falta que solo se repitan 2 veces y se apague, deje de funcionar, termine el proceso.
Gracias
"CODIGO"
#define RGB_GREEN 7
#define RGB_BLUE 8
#define RGB_RED 12
void setup(){
pinMode(RGB_GREEN, OUTPUT);
pinMode(RGB_BLUE, OUTPUT);
pinMode(RGB_RED, OUTPUT);
}
void loop(){
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, HIGH);
delay(500);
digitalWrite(RGB_GREEN, HIGH);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, LOW);
delay(500);
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, HIGH);
digitalWrite(RGB_RED, LOW);
delay(500);
digitalWrite(RGB_GREEN, HIGH);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, HIGH);
delay(1500);
}
Si sólo quieres eso pon en setup{} 2 veces la secuencia y ya está. No es una programación "limpia" pero funciona.
#define RGB_GREEN 7
#define RGB_BLUE 8
#define RGB_RED 12
void setup(){
pinMode(RGB_GREEN, OUTPUT);
pinMode(RGB_BLUE, OUTPUT);
pinMode(RGB_RED, OUTPUT);
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, HIGH);
delay(500);
digitalWrite(RGB_GREEN, HIGH);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, LOW);
delay(500);
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, HIGH);
digitalWrite(RGB_RED, LOW);
delay(500);
digitalWrite(RGB_GREEN, HIGH);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, HIGH);
delay(1500);
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, HIGH);
delay(500);
digitalWrite(RGB_GREEN, HIGH);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, LOW);
delay(500);
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, HIGH);
digitalWrite(RGB_RED, LOW);
delay(500);
digitalWrite(RGB_GREEN, HIGH);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, HIGH);
delay(1500);
}
void loop(){}
P.D: Y pon el código en etiquetas
Moderador:
Por favor @judascc lee las Normas y edita tu post usando etiquetas para códigos.
EDITO:
Acabo de encontrar este hilo
https://forum.arduino.cc/index.php?topic=694653.0
Te enviare un privado con las consecuencias de continuar en esta línea que no respeta las normas del foro.