Estoy haciendo un proyecto, que es un identificador de colores, el problema es que tengo el código:
int valor=0;
int verde=9;
int rojo=10;
int amarillo=8;
int azul=11;
int blanco=12;
void setup()
{
pinMode(rojo,OUTPUT);
pinMode(verde,OUTPUT);
pinMode(amarillo,OUTPUT);
pinMode(azul,OUTPUT);
pinMode(blanco,OUTPUT);
Serial.begin(9600);
}
void loop()
{
valor = analogRead(A4);
Serial.println(valor);
delay(5000);
if (valor == 0)
{
digitalWrite(verde,HIGH);
delay(5000);
Serial.println("verde");
}
else
{
if (valor == 2 || valor == 3)
{
digitalWrite(rojo,HIGH);
delay(5000);
Serial.println("rojo");
}
else
{
if (valor == 4 || valor == 5)
{
digitalWrite(amarillo,HIGH);
delay(5000);
Serial.println("amarillo");
}
else
{
if (valor == 22 || valor == 23)
{
digitalWrite(azul,HIGH);
delay(5000);
Serial.println("azul");
}
else
{
if (valor == 86 || valor == 87)
{
digitalWrite(blanco,HIGH);
delay(5000);
Serial.println("blanco");
}
else
{
digitalWrite(verde,LOW);
digitalWrite(rojo,LOW);
digitalWrite(amarillo,LOW);
digitalWrite(azul,LOW);
digitalWrite(blanco,LOW);
}
}
}
}
}
}
El problema es que lo mando a un APR9600 para que me de una respuesta de audio y me activa todas las salidas digitales por lo tanto se activa siempre el primer mensaje y si le doy LOW a los pines igualmente me lo hace, ¿QUE PUEDO HACER?