Hice un programa pero no me funciona bien no me manda correctamente la leyenda máquina funcionando ni cuando está en mantenimiento ni cuando está parada
const int INFRA = 7; // Sensor infrarojo.
int datopir; // Variable que guarda el cambio de estado del sensor.
int LEDGREEN = 8; // Maquina trabajando.
int LEDRED = 2; // Maquina detenida.
int LEDYLLW = 4; // Maquina en mantenimineto.
int MANT = 12; // Boton para mantenimineto.
void setup()
{
Serial.begin(9600);
pinMode (INFRA, INPUT);
pinMode (LEDGREEN, OUTPUT);
pinMode (LEDRED, OUTPUT);
pinMode (LEDYLLW, OUTPUT);
pinMode (MANT, INPUT);
delay(20000);
}
void loop()
{
datopir = digitalRead(INFRA);
delay(50);
if (datopir == HIGH)
{
Serial.println("Maquina detenida");
digitalWrite(LEDRED,HIGH);
}
else if (MANT == HIGH)
{
digitalWrite(LEDRED,LOW);
digitalWrite(LEDYLLW,HIGH);
}
else
{
digitalWrite(LEDRED,LOW);
Serial.println("Maquina trabajando");
digitalWrite(LEDGREEN,HIGH);
delay(5000); //Espera para volver a validar
}
}