Boa tarde!
Estou com um problema no meu programa.
Estou usando 4 boias de nível flutuante 0/1 , placa arduino Uno.
A função é controlar 2 caixas de agua , 2 solenoides e uma bomba.
Preciso que no segundo IF onde é desligar a bomba seja prioridade. E quando a bomba desligar a Solenoide S2 feche e abra a solenoide S1, e quando a bomba ligar feche a solenoide S1 e abra a S2.
Aqui é onde ligo a bomba,
if (leitura_caixa_chuva_alto1 == HIGH && leitura_caixa_chuva_baixo2 == HIGH)//se tiver o nivel da caixa de baixo alto e a de cima baixo...
{
digitalWrite(pinBomba, HIGH);// liga bomba
a bomba deve desligar independente se chuva alto1 seja HIGH e Chuva baixo2 Seja HIGH
(
if (leitura_caixa_chuva_baixo1 == HIGH || leitura_caixa_chuva_alto2 == HIGH)//se o nivel da caixa de baixo estiver baixo ou a de cima estiver alto...
{
digitalWrite(pinBomba, LOW);// desliga a bomba
)
Quando a bomba desligar deve abrir solenoide S1 e fechar a S2, e quando a bomba ligar deve fechar a S2 e abrir a S1.
Segue o programa abaixo para analisarem o erro.
int pinAguaBaixaS1 = 12; //sensor de água baixa da caixa 1 chuva
int pinAguaBaixaS2 = 11; //sensor de água baixa da caixa 2 chuva
int pinAguaAltaS3 = 10; // sensor de nivel alto caixa 2 chuva
int pinAguaAltaS4 = 9; //sensor de nivel alto caixa 1 chuva
int pinSolenoideSO1 = 8; // solenoide da caixa 2 chuva
int pinSolenoideSO2 = 7; //solenoide da caixa 3 potavel
int pinBomba = 6; // bomba da caixa 2 chuva
int leitura_caixa_chuva_alto1, leitura_caixa_chuva_baixo1, leitura_caixa_chuva_alto2, leitura_caixa_chuva_baixo2;
void setup(){
pinMode(pinAguaBaixaS1,INPUT);
pinMode(pinAguaBaixaS2,INPUT);
pinMode(pinAguaAltaS3,INPUT);
pinMode(pinAguaAltaS4,INPUT);
pinMode(pinSolenoideSO1,OUTPUT);
pinMode(pinSolenoideSO2,OUTPUT);
pinMode(pinBomba,OUTPUT);
}
void loop()
{
leitura_caixa_chuva_alto1 = digitalRead(pinAguaAltaS4);// sensor de nivel alto caixa 01 subsolo
leitura_caixa_chuva_baixo1 = digitalRead(pinAguaBaixaS1);// sensor de nivel baixo caixa 01 subsolo
leitura_caixa_chuva_alto2 = digitalRead(pinAguaAltaS3);// sensor de nivel alto caixa 02 laje
leitura_caixa_chuva_baixo2 = digitalRead(pinAguaBaixaS2);// sensor nivel baixo 02 laje
if (leitura_caixa_chuva_alto1 == HIGH && leitura_caixa_chuva_baixo2 == HIGH)//se tiver o nivel da caixa de baixo alto e a de cima baixo...
{
digitalWrite(pinBomba, HIGH);// liga bomba
}
if (leitura_caixa_chuva_baixo1 == HIGH || leitura_caixa_chuva_alto2 == HIGH)//se o nivel da caixa de baixo estiver baixo ou a de cima estiver alto...
{
digitalWrite(pinBomba, LOW);// desliga a bomba
}
if (leitura_caixa_chuva_alto2 == HIGH)// se a leitura do nivel da caixa de cima esta alto ....
{
digitalWrite(pinSolenoideSO2,LOW);// desliga a solenoide da potavel
digitalWrite(pinSolenoideSO1,HIGH);//liga solenoide da chuva
}
if (leitura_caixa_chuva_baixo2 == HIGH)// se a leitura do nivel da caixa de cima esta baixo...
{
digitalWrite(pinSolenoideSO2,HIGH);// liga solenoide da caixa potavel
digitalWrite(pinSolenoideSO1,LOW);// desliga solenoide da caixa da chuva
}
}
Tags:
Oi Guilhereme, boa tarde.
Experimenta este código, ligando as boias igual o desenho abaixo.
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por