//---Mapeamento de Hardware---//
#define Q4 13//led /AZUL/ REVERSA
#define Q3 12//led AMARELO/TRIANGULO
#define Q2 11//led LARANJA/DIRETA
#define Q1 10//led LILAS ESTRELA
#define REVERSA 8//LIGA REVERSA
#define STOP 0//VERMELHO/DESLIGA HIGH PARA LOW
#define DIRETA 7 //VERDE/LIGA LOW PARA HIGH
//---Variáveis Globais---//
int CQ1=0;//CONTATO Q1 ESTRELA
int CQ2=0;//CONTATO DE DE SELO DE 05
int CQ4=0; //CONTATO Q4 REVERSA
//---Configurações Iniciais---//
void setup()
{pinMode(Q3, OUTPUT);//led AMARELO
pinMode(Q2, OUTPUT);//led LARANJA
pinMode(Q1, OUTPUT);///led LILAS
pinMode(Q4, OUTPUT);//led AZUL
pinMode(REVERSA, INPUT_PULLUP);//LIGA DIRETA/VERDE
pinMode(STOP, INPUT_PULLUP);//STOP/VERMELHA
pinMode(DIRETA, INPUT_PULLUP);} //REVERSA/AZUL/
//---Ciclo Infinito---//
void loop()
{ //DESLIGA GERAL TUDO
if( digitalRead(STOP) ==LOW)
{digitalWrite(Q1,LOW);
digitalWrite(Q2,LOW);
digitalWrite(Q3,LOW);
digitalWrite(Q4,LOW);
CQ1=0;
CQ2=0;
CQ4=0;}
// TESTE DIRETA DESLIGADA E SELO Q2=0 TESTE REVERSA DESLIGADA TESTE STOP DESLIGADA
if ( (digitalRead(DIRETA) == LOW)&&( (digitalRead(REVERSA) == HIGH )&&( (digitalRead(STOP)==HIGH)&&(CQ4==0) ) ) )
{ digitalWrite(Q2, HIGH);// FECHAMENTO PELA BOTOEIRA DIRETA
CQ2=1; } // O CONTATO DE SELO FECHADO
if ( ((CQ2==1) &&(digitalRead(DIRETA) == HIGH))&&( (digitalRead(REVERSA) == HIGH )&&( (digitalRead(STOP)==HIGH)&&(CQ4==0) ) ) )
{ digitalWrite(Q2, HIGH); } //FECHAMENTO PELO SELO
if(( CQ2 == 1 ) && ((CQ1==0)))
{ digitalWrite(Q3, HIGH);//LIGAÇÃO TRIANGULO
delay(3000);
digitalWrite(Q3, LOW);
digitalWrite(Q1, HIGH);//LIGAÇÃO ESTRELA
CQ1=1;}
if ( (digitalRead(REVERSA) == LOW)&&( (digitalRead(DIRETA) == HIGH )&&( (digitalRead(STOP)==HIGH)&&(CQ2==0) ) ) )
{digitalWrite(Q4, HIGH);// FECHAMENTO PELA BOTOEIRA REVERSA
CQ4=1; } // O CONTATO DE SELO FECHADO
if ( ((CQ4==1) &&(digitalRead(REVERSA) == HIGH))&&( (digitalRead(DIRETA) == HIGH )&&( (digitalRead(STOP)==HIGH)&&(CQ2==0) ) ) )
{ digitalWrite(Q4, HIGH); } //FECHAMENTO PELO SELO
if((CQ4==1)&&( CQ1==0 ))
//TESTA SE CHAVE VERDE ESTA ATIVADA E CHAVE VERMELHA ESTA DESATIVADA
{ digitalWrite(Q3, HIGH); // LIGAÇÃO TRIANGULO
delay(3000);
digitalWrite(Q3, LOW);
digitalWrite(Q1, HIGH);// LIGAÇÃO ESTRELA
CQ1=1; }
}
//========================================//