Olá Pessoal,
dentro de uma caixa de agua C1, tenho uma bomba que joga agua para uma segunda caixa C2. NA C2 coloquei dois sensores de nivel (redundantes)
sensor 2 = pinBotao2, pinLED2
sensor 3 = pinBotao3, pinLED3
que ligam uma bomba pinLED4 que está na C1.
quando os sensores estão desligados, a bomba fica ligada enchendo a c2.
Aqui ta ok
if (digitalRead(pinLED2) == HIGH && digitalRead(pinLED3) == HIGH) {
digitalWrite(pinLED4, LOW);
} else {
digitalWrite(pinLED4, HIGH);
}
e na C1 tenho um sensor de nivel minimo pinBotao1, pinLED1, que se não tiver agua deveria desligar a bomba mas ta dando conflito pq como o nivel está baixando a função de cima está ativando a boma, enquanto a função de baixo tenta desligar.
digitalWrite(pinLED1, HIGH);
} else {
digitalWrite(pinLED4, LOW);
}
como resolvo isso?
Sem brincadeira.... Estou tentando resolver isso, há uns 3 dias, rs
obrigado
Tags:
As respostas para este tópico estão encerradas.
Bom dia EB,
A sua explicação está um pouco confusa.
Sugiro que faça o seguinte:
Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo com o seu
sketch.
Dai podemos ver o código por completo e entender melhor o funcionamento do mesmo, e sugerir modificações.
RV
Se vc mandar o codigo como o RV disse ajuda muito, mas basicamente vc está tentando criar duas condições onde só existe uma.
Vc deve começar com um if(caixa está vazia) {...} else {if(...)}.
Imagine um fluxograma. O processamento vai para um lado ou para o outro. Não tenha medo de colocar um if dentro do outro.
Boa tarde,
Acho que deveria fazer o sugerido pelo colega RV.
No meu canal tenho varias simulações com bombas de água segue link. LINK MEU CANAL
Abs.
CK
Olá pessoal,
achei um video do GV ensino no youtube que me ajudou muito...
entendi a lógica e consegui fazer o projeto sozinho!!!!
até modifiquei um pouco, onde não há mais redundância e sim níveis diferentes e possíveis erros.
void loop() {
// o botao3 é o minimo de agua. para funcionar a bomba, ele tem que estar ligado.
//o botao2 é o nivel maximo sem erro. quando estiver desligado a bomba ficara ligada
// o botão1 é o erro. O nivel 2 falhou. quando ele ativar, a bomba desliga e o alarme toca
if (digitalRead(pinBotao1) && digitalRead(pinBotao2) && !digitalRead(pinBotao3))
{
digitalWrite(pinLED4, HIGH);
delay (5000);
}
if(!digitalRead(pinBotao2)){
digitalWrite(pinLED4,LOW);
}
if(!digitalRead(pinBotao1)){
digitalWrite(pinLED4,LOW);
digitalWrite(pinLED5,HIGH);
}
else
digitalWrite(pinLED5,LOW);
{
if(digitalRead(pinBotao3)){
digitalWrite (pinLED4,LOW);
}
}
}
espero que este projeto possa ajudar os aquaristas
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por