Hi, eveyone, nice to meet you.
I am learning arduino, i need help with this code, please.
#define Led RGB
#define led1
#define led2
#define pulsadoravanzar
void setup() {
Serial.begin(9600);
// Añadir a través de la función pin mode los pines digitales
//Led rgb
pinMode(LED[contador],OUTPUT);
pinMode(red,OUTPUT);
pinMode(green,OUTPUT);
pinMode(blue,OUTPUT);
//generar un valor random entre los leds y el pulsador
randomSeed(analogRead(0));
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
//Pulsador
pinMode(pulsadoravanzar,INPUT);
}
void loop() {
//leer valor del potenciometro de 0 y 1
valorpul = digitalRead(6); //leer valor del pin donde se encuentra el pulsador
Serial.println( valorpul);//muestreo en el monitor de serie el valor que viene del pulsador
digitalWrite(13,valorpul);
delay(10);
//generar valores aleatorios
byte valorR = random(0,256);
byte valorG = random(0,256);
byte valorB = random(0,256);
analogWrite(red,valorR);
analogWrite(green,valorG);
analogWrite(blue,valorB);
delay(100);
//random para elegir color de led con el pulsador
if (pulsadoravanzar == LOW == 0){
valorpul = 0; //cambia de estado si se presiona el pulsador
}
if (pulsadoravanzar == HIGH && valorpul == 1){
valorpul = 1; //se reinicia la variable del antirrebote
contador++; //el contador aumenta en una unidad
if (contador > 5){
contador = 0; //se reinicia el contador regresando al LED 1
}
}
switch (contador){
//encender los Leds de acuerdo al contador
case 0:
//Declarar condición que sucede si el valor del pulsador es 1, es decir se enciende
if (digitalRead (pulsadoravanzar) ==1){
delay(3000);
analogWrite(red,LOW);
delay(2000);
analogWrite(green,LOW);
delay(2000);
analogWrite(blue,LOW);
delay(2000);
}
//Volver a iniciar led rgb random
analogWrite(red,random(255));
analogWrite(green,random(255));
analogWrite(blue,random(255));
delay(100);
break;
case 1:
break;
}
**//Corregir **
**if (digitalRead (pulsadoravanzar) ==1) {**
** digitalRead (valorR) > (valorG);**
** digitalWrite (led1, HIGH);**
** **
**}**
**if (digitalRead (pulsadoravanzar) ==1) {**
** digitalRead (valorR) < (valorG);**
** digitalWrite (led1, LOW);**
**}**
**if (digitalRead (pulsadoravanzar) ==1) {**
** digitalRead (valorG) > (valorR);**
** digitalWrite (led2, HIGH);**
**}**
**if ( digitalRead (valorG) < (valorR) ) {**
** digitalWrite (led2, LOW);**
** **
**}**
**if (digitalRead (valorG) == (valorR) ) {**
** digitalWrite (led1, LOW);**
** digitalWrite (led2, LOW);**
}
Is this my question?
How to execute if I press the button:
- if the red rgb value is greater than the green rgb value turn on led1
- if the green rgb value is greater than the red rgb value turn on led2
- If the red rgb value and green rgb value are equal, turn off led1 and led2
thank you