Segue um comando básico para usar água da que seria jogada fora da máquina de lavar para encher uma caixa acoplada de descarga.
Nesses dias com falta de água será muito util.
Obs: O ideal será a água que sai da máquina de lavar ir para uma caixa a parte que denominei como caixa principal.
Caso tenham alguma dúvida pode me contatar..
int CHG = 2; // Chave Geral
int BCXP = 3; // Chave bóia caixa principal
int BCXA = 4; // Chave bóia caixa acoplada
int VSFAR = 5; // Válvula solenóide fecha água da rua
int BOMBA = 6; // Bomba d'água
int LEDCXPO = 7; // Led caixa principal nível OK
int LEDCXPB = 8; // Led caixa principal nível Baixo
int LEDCXAO = 9; // Led caixa acoplada nível OK
int LEDCXAB = 10; // Led caixa acoplada nível Baixo
int leituraCHG; // Leitura Chave Geral
int leituraBCXP; // Leitura Chave bóia caixa principal
int leituraBCXA; // Leitura Chave bóia caixa acoplada
int leituraVSFAR; // Leitura Válvula solenóide fecha água da rua
int leituraBOMBA; // Leitura Bomba d'água
int leituraLEDCXPO; // Leitura Led caixa principal nível OK
int leituraLEDCXPB; // Leitura Led caixa principal nível Baixo
int leituraLEDCXAO; // Leitura Led caixa acoplada nível OK
int leituraLEDCXAB; // Leitura Led caixa acoplada nível Baixo
byte comando=0;//tipo de comando a ser utilizado
String modo= "Em condições de operação";
void setup()
{
Serial.begin(9600);
pinMode(CHG,INPUT);
pinMode(BCXP,INPUT);
pinMode(BCXA,INPUT);
pinMode(VSFAR,OUTPUT);
pinMode(BOMBA,OUTPUT);
pinMode(LEDCXPO,OUTPUT);
pinMode(LEDCXPB,OUTPUT);
pinMode(LEDCXAO,OUTPUT);
pinMode(LEDCXAB,OUTPUT);
}
void loop()
{
leituraCHG=digitalRead(CHG);
leituraBCXP=digitalRead(BCXP);
leituraBCXA=digitalRead(BCXA);
leituraVSFAR=digitalRead(VSFAR);
leituraBOMBA=digitalRead(BOMBA);
leituraLEDCXPO=digitalRead(LEDCXPO);
leituraLEDCXPB=digitalRead(LEDCXPB);
leituraLEDCXAO=digitalRead(LEDCXAO);
leituraLEDCXAB=digitalRead(LEDCXAB);
// INICIO DA LÓGICA DO COMANDO
if(leituraCHG==LOW)//Chave geral desligada
{comando=0;}
else//Chave geral ligada
{
if(leituraBCXP==LOW && leituraBCXA==LOW)// As chaves de bóia no nível baixo
{comando=1;}
else if (leituraBCXP==LOW && leituraBCXA==HIGH)// Caixa principal vazia e caixa acoplada cheia
{comando=2;}
else if (leituraBCXP==HIGH && leituraBCXA==LOW)// Caixa principal cheia e caixa acoplada vazia
{comando=3;}
else if (leituraBCXP==HIGH && leituraBCXA==HIGH)// As chave de bóia no nível alto
{comando=4;}
}
//TIPOS DE COMANDOS
switch(comando)
{
case 0:// Comando desligado
modo= "Chave Geral Desligada";
Serial.print(modo);
digitalWrite(VSFAR,LOW);
digitalWrite(BOMBA,LOW);
digitalWrite(LEDCXPO,LOW);
digitalWrite(LEDCXPB,LOW);
digitalWrite(LEDCXAO,LOW);
digitalWrite(LEDCXAB,HIGH);
delay(1000);
digitalWrite(LEDCXPB,HIGH);
digitalWrite(LEDCXAB,LOW);
delay(1000);
case 1:// As chaves de bóia no nível baixo
modo= "Enchimento pela água da rua";
Serial.print(modo);
digitalWrite(VSFAR,LOW);
digitalWrite(BOMBA,LOW);
digitalWrite(LEDCXPO,LOW);
digitalWrite(LEDCXPB,HIGH);
digitalWrite(LEDCXAO,LOW);
digitalWrite(LEDCXAB,HIGH);
break;
case 2:// Caixa principal vazia e caixa acoplada cheia
modo= "Sem água na caixa principal";
Serial.print(modo);
digitalWrite(VSFAR,LOW);
digitalWrite(BOMBA,LOW);
digitalWrite(LEDCXPO,LOW);
digitalWrite(LEDCXPB,HIGH);
digitalWrite(LEDCXAO,HIGH);
digitalWrite(LEDCXAB,LOW);
break;
case 3:// Caixa principal cheia e caixa acoplada vazia
modo= "Enchimento pela caixa da caixa principal";
Serial.print(modo);
digitalWrite(VSFAR,HIGH);
digitalWrite(BOMBA,HIGH);
digitalWrite(LEDCXPO,HIGH);
digitalWrite(LEDCXPB,LOW);
digitalWrite(LEDCXAO,LOW);
digitalWrite(LEDCXAB,HIGH);
break;
case 4:// As chave de bóia no nível alto
modo= "Caixas cheias";
Serial.print(modo);
digitalWrite(VSFAR,LOW);
digitalWrite(BOMBA,LOW);
digitalWrite(LEDCXPO,HIGH);
digitalWrite(LEDCXPB,LOW);
digitalWrite(LEDCXAO,HIGH);
digitalWrite(LEDCXAB,LOW);
break;
}
}