Ajuda para adicionar push butoon em codigo no Arduino

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);
}

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) );
}

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