Pages: [1]   Go Down
Author Topic: ayuda con pines porfavor  (Read 724 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Y qué te saca por serial?  smiley-roll
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

en el serial me imprime la medida que me da una fotoresistencia para cada color de led diferente, se supone que cuando me de un valor de los que estan ahi debe de activar un solo pin pero me activa todos.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 40
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

el problema que tienes es que en el codigo lo que pones es un if y los demas un else y no es asi asi si no
 else if, me explico me invento el codigo pero es asi.

valor = analogRead(ldr);

if(valor == =)
{
digitalWrite(13,HIGH);
delay
}
else if(valor >150 && valor <300)
{
digitalWrite................
}
asi todos los que quieras
y al final
else
{
dnfkjdfkbkd
}

espero haberte ayudado.
Logged

Madrid
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Reprogramalo utilizando un "swich" (que sería la forma correcta en este caso).
Logged

no pain, no gain!!

Pages: [1]   Go Up
Jump to: