# Ajuda para adicionar push butoon em codigo no Arduino

**URL:** <https://forum.fazedores.com/t/ajuda-para-adicionar-push-butoon-em-codigo-no-arduino/6158>\
**Category:** Arduino\
**Created:** [Março 27, 2019, 9:48pm UTC](https://forum.fazedores.com/t/ajuda-para-adicionar-push-butoon-em-codigo-no-arduino/6158 "2019-03-27T21:48:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![PauloRoberto](https://avatars.discourse-cdn.com/v4/letter/p/53a042/32.png) [@PauloRoberto](https://forum.fazedores.com/u/PauloRoberto)\
**Post date:** [Março 27, 2019, 9:48pm UTC](https://forum.fazedores.com/t/ajuda-para-adicionar-push-butoon-em-codigo-no-arduino/6158/1 "2019-03-27T21:48:08Z")

</div>

Boa tarde. Gostaria de uma ajuda para adicionar um push butoon ao meu código. Nao tenho muito conhecimento em programação, fiz algumas tentativas mas sem sucesso. o programa monitora o nivel de uma caixa d’agua, quando o nivel da agua cai abaixo do sensor de “nivel ninimo” o rele arma e liga uma bomba que permanece ligada ate o nivel da agua subir e tocar o sensor de “nivel maximo”, quando entao o rele desarma e desliga a bomba. o codigo funciona bem, porém gostaria de uma ajuda para adicionar um unico push button para poder ligar ou desligar o rele manualmente, para nao precisar ficar esperando pela ação dos sensores. Agradeço a todos que ajudarem.

#define sensor\_max 3  
#define sensor\_min 4  
#define botao\_rele 5  
#define led\_max 7  
#define led\_min 8  
#define pino\_rele 9  
static bool estado = LOW;

void setup() {

Serial.begin(9600);  
pinMode(sensor\_max,INPUT);  
pinMode(sensor\_min,INPUT);  
pinMode(botao\_rele, INPUT\_PULLUP);  
pinMode(led\_max,OUTPUT);  
pinMode(led\_min,OUTPUT);  
pinMode(pino\_rele,OUTPUT);  
}

void loop() {

int sen\_max = digitalRead(sensor\_max);  
int sen\_min = digitalRead(sensor\_min);

if(sen\_min == HIGH){  
digitalWrite(led\_min,HIGH);

if(sen\_max == HIGH){  
digitalWrite(pino\_rele,LOW);  
estado = LOW;  
}  
}  
else{  
digitalWrite(led\_min,LOW);  
}

if(sen\_max == LOW){  
digitalWrite(led\_max,LOW);

if(sen\_min == LOW){  
digitalWrite(pino\_rele,HIGH);  
estado = HIGH;  
}  
}  
else{  
digitalWrite(led\_max,HIGH);  
}  
delay(50);  
}

 ![imagem%20jpg](https://us1.discourse-cdn.com/flex016/uploads/fazedores/original/2X/e/e77aa429feb860295ed068ed9f589631a178a2c5.jpeg)

---

<div class="post-metadata">

**Author:** ![Arnold\_Rudge](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/arnold_rudge/32/1675_2.png) [@Arnold\_Rudge](https://forum.fazedores.com/u/Arnold_Rudge)\
**Post date:** [Março 29, 2019, 5:46am UTC](https://forum.fazedores.com/t/ajuda-para-adicionar-push-butoon-em-codigo-no-arduino/6158/2 "2019-03-29T05:46:02Z")

</div>

imagino que voce queira usar o botao\_rele,

voce perguntaria, caso o botao estiver LOW  
if(botao\_rele == LOW){ digitalWrite(pino\_rele,HIGH); }

o problema, vai ser que o codigo nao para, ele vai logo ler a proxima linha, e vai ficar ligando e desligando .

Por que a chegar nesta linha " if(sen\_max == HIGH){digitalWrite(pino\_rele,LOW);"  
ele ja vai mudar o estado. Isso porque ele nao sabe que ainda esta segurando o botao.

o que voce precisa fazer e perguntar colocar um WHILE  
while siginicifa enquanto. ele funciona assim :

while( enquanto o que estar aqui seja verdade ){ fique fazendo o que esta aqui}

então seu programa fica mais ou menos assim:

if(caso o botao esteja apertado){  
while(enquanto o “sensor\_cheio” nao for acionado ){ fique enchendo de agua; }  
pronto ja , encheu agora desliga o rele  
}

if(digitalRead(botao\_rele) == LOW){

while (digitalRead(sensor\_min) == LOW){  
digitalWrite(pino\_rele,HIGH);  
}

```
digitalWrite(pino_rele,LOW);  

```

}

eu nao testei mas acho que o que tem abaixo faria o mesmo

void setup() {  
pinMode(3,INPUT);  
pinMode(4,INPUT);  
pinMode(5, INPUT\_PULLUP);  
pinMode(8,OUTPUT);  
pinMode(7,OUTPUT);  
pinMode(9,OUTPUT);  
}

void loop(){  
if(digitalRead(4)==1 || digitalRead(5) == 0){  
while(digitalRead(3)==0 ){ digitalwrite(9,1) ;  
digitalwrite(8,digitalRead(4) );  
digitalwrite(7,digitalRead(3) );  
}  
digitalwrite(9,0);  
}  
digitalwrite(8,digitalRead(4) );  
digitalwrite(7,digitalRead(3) );  
}

---

<div class="post-metadata">

**Author:** ![Falconeh](https://avatars.discourse-cdn.com/v4/letter/f/82dd89/32.png) [@Falconeh](https://forum.fazedores.com/u/Falconeh)\
**Post date:** [Junho 19, 2019, 3:19am UTC](https://forum.fazedores.com/t/ajuda-para-adicionar-push-butoon-em-codigo-no-arduino/6158/3 "2019-06-19T03:19:43Z")

</div>

E ai amigo conseguiu resolver o problemas? estou com o mesmo.
