Arduino UNO Sensor YL-70, YL-73 funcionan erráticamente

Hola a Todos.
Les comento que estoy trabajando con un una placa Arduino UNO (Sin Clock) y una placa YL-70 con 4und de sensores IR YL-73
El problema es que codifiqué la operación y funciona correctamente pero de mañana esta placa aparece con todos los sensores activos, y ya de tarde-noche vuelve a operar correctamente.
Esto está instalado en interior, no con exposición directa a sol ni nada.

Me gustaría saber qué puede estar afectando a las lecturas (Foto adjunta), o como normalizarla, o ya pensar en otro sensor para esta operación.
Muchas Gracias y quedo atento a cualquier aporte.
C++:
void carro_luz(){

int C = digitalRead(Alt_carro); // Nomenclatura en base a plano carro

int D = digitalRead(Piso_carro);

int A = digitalRead(Alt_plantaHi);

int B = digitalRead(Alt_plantaLow);

unsigned long currentTime2 = millis();


if(currentTime2 - previousTime2 >= TmuestraCarro)

{


if(A == HIGH && B == LOW && C == HIGH && D == HIGH) // Secuencia control caro y condiciones de ideal-error

{

digitalWrite(Motor_subir,HIGH);

digitalWrite(Motor_bajar,HIGH);

}

else if(C == LOW && D == LOW)

{

Serial.println();

Serial.println("Error Carro Aplastado");

digitalWrite(Motor_subir,HIGH);

}

else if(A == LOW && B == HIGH)

{

Serial.println();

Serial.println("Error Lectura de Planta");

}

else if(A == HIGH && B == HIGH && C == HIGH && D == LOW)

{

Serial.println();

Serial.println("Sin Macetero");

digitalWrite(Motor_subir,HIGH);

digitalWrite(Motor_bajar,HIGH);

}

else if(A == HIGH && D == HIGH && B == LOW && C == LOW)

{

Serial.println();

Serial.println("Altura Cosecha Alcanzada");

digitalWrite(Motor_subir,HIGH);

}

else if(D == HIGH && A == LOW && B == LOW && C == LOW)

{

Serial.println();

Serial.println("ALTURA CRITICA!!");

digitalWrite(Motor_subir,HIGH);

}

else if(A == LOW && B == LOW && C == HIGH && D == HIGH) // Subir Carro

{

Serial.println();

Serial.println("Subiendo Carro");

digitalWrite(Motor_subir,LOW);


}

else if(A == HIGH && B == HIGH && C == HIGH && D == HIGH) // Bajar Carro

{

Serial.println();

Serial.println("Bajando Carro");

digitalWrite(Motor_bajar,LOW);

}

// digitalWrite(Motor_subir,HIGH);

previousTime2 = currentTime2;

}

}
 

Adjuntos

Temas similares


Arriba