Ajuda com projeto iniciante

Olá boa noite,
Sou extremamente iniciante em Arduíno e com muito custo consegui editar um programa e deixar com as funções que preciso, porém algo ainda não está certo e gostaria de ajuda para tentar resolver.
O objetivo do programa é acionar 4 reles individualmente através de 4 push botons, ou seja, cada push botton aciona apenas 1 rele especifico. O rele deve responder com pulso, ou seja se eu soltar o push botton o rele deve desligar. Após carregar o programa, a seguinte situação está ocorrendo, se eu aperto o primeiro push botton, todos os reles acionam, se eu aciono o segundo push botton também, se eu aciono o terceiro push botton, apenas o terceiro e o quarto acionam e se eu aciono o quinto apenas o quinto aciona. Tentei várias edições, mas ainda sem sucesso, se alguém puder me ajudar a corrigir agradeço muito.

segue o programa:
//AUTOMAÇÃO RELES COM START VIA PUSH BOTTON
int RELE1 = 13; //RELE1 APAGA FRENTE no pino 13
int Botao1 = 2; // botao1 APAGA FRENTE no pino 2
int RELE2 = 12; //RELE2 APAGA FUNDO NO PINO 12
int Botao2 = 3; //botao2 APAGA FUNDO NO PINO 3
int RELE3 = 11; //RELE3 ACENDE TUDO NO PINO 11
int Botao3 = 4; //botao3 ACENDE TUDO NO PINO 4
int RELE4 = 10; //RELE4 ACENDE LIMPEZA NO PINO 10
int Botao4 = 5; //botao4 ACENDE LUZ DE LIMPEZA
int EstadoBotao1 = 0; //Variavel para ler o status do botao1
int EstadoBotao2 = 0; //Variavel para ler o status do botao2
int EstadoBotao3 = 0; //Variavel para ler o status do botao3
int EstadoBotao4 = 0; //Variavel para ler o status do botao4
void setup() {
pinMode(RELE1, OUTPUT); //RELE1 será saida
pinMode(Botao1, INPUT); //Pino com botao será entrada
pinMode(RELE2, OUTPUT); //RELE2 será saida
pinMode(Botao2, INPUT); //Pino com botao será entrada
pinMode(RELE3, OUTPUT); //RELE3 será saida
pinMode(Botao3, INPUT); //Pino com botao será entrada
pinMode(RELE4, OUTPUT); //RELE4 será saida
pinMode(Botao4, INPUT); //Pino com botao será entrada }
void loop(){
EstadoBotao1 = digitalRead(Botao1);
EstadoBotao2 = digitalRead(Botao2);
EstadoBotao3 = digitalRead(Botao3);
EstadoBotao4 = digitalRead(Botao4); //novo estado do botao´vai ser igual ao que o
Arduino ler no pino onde está o botao. Poderá ser alto(HIGH) se pressionado ou LOW se solto

if (EstadoBotao1 == HIGH){       //se o botao estiver pressionado (HIGH)     
digitalWrite(RELE1, HIGH);       // atraca o rele 1 no pino 13     
}            

else{
digitalWrite(RELE1, LOW);} //se não, desliga o rele 2

if (EstadoBotao2 == HIGH){ //se o botao estiver pressionado (HIGH)
digitalWrite(RELE2, HIGH); //atraca o rele 2 no pino 12
}
else{ //se não, desliga o rele 2
digitalWrite(RELE2, LOW);}
if (EstadoBotao3 == HIGH){ //se o botao estiver pressionado (HIGH) digitalWrite(RELE3, HIGH); // atraca o rele 3 no pino 11
}
else{ //se não, desliga o rele 3
digitalWrite(RELE3, LOW);}
if (EstadoBotao4 == HIGH){ //se o botao estiver pressionado (HIGH) digitalWrite(RELE4, HIGH); // atraca o rele 4 no pino 10
}
else{ //se não, desliga o rele 4
digitalWrite(RELE4, LOW);}
}

Olá. Quantos relés vc quer permitir que sejam acionados ao mesmo tempo ?
Só um deles ou todos os quatro ?
Algum deles terá prioridade sobre os demais ?
Precisa definir melhor a lógica e permissões de acionamento.
Se vc é iniciante sugiro aprender fluxo de programação.
Boa sorte e inté.

Sugestões de arduino

Olá,

Se "O objetivo do programa é acionar 4 reles individualmente através de 4 push botons, ou seja, cada push botton aciona apenas 1 rele especifico. O rele deve responder com pulso, ou seja se eu soltar o push botton o rele deve desligar. "

Tente…


//AUTOMAÇÃO RELES COM START VIA PUSH BOTTON

int RELE1 = 13;
int RELE2 = 12;
int RELE3 = 11;
int RELE4 = 10;
int Botao1 = 2;
int Botao2 = 3;
int Botao3 = 4;
int Botao4 = 5;

int EstadoBotao1 = 0;
int EstadoBotao2 = 0;
int EstadoBotao3 = 0;
int EstadoBotao4 = 0;

void setup() {
pinMode(RELE1, OUTPUT);
pinMode(RELE2, OUTPUT);
pinMode(RELE3, OUTPUT);
pinMode(RELE4, OUTPUT);

pinMode(Botao1, INPUT);
pinMode(Botao2, INPUT);
pinMode(Botao3, INPUT);
pinMode(Botao4, INPUT);
}

void loop(){
EstadoBotao1 = digitalRead(Botao1);
EstadoBotao2 = digitalRead(Botao2);
EstadoBotao3 = digitalRead(Botao3);
EstadoBotao4 = digitalRead(Botao4);

if (EstadoBotao1 == HIGH){digitalWrite(RELE1, LOW);}else{digitalWrite(RELE1, HIGH);}
if (EstadoBotao2 == HIGH){digitalWrite(RELE2, LOW);}else{digitalWrite(RELE2, HIGH);}
if (EstadoBotao3 == HIGH){digitalWrite(RELE3, LOW);}else{digitalWrite(RELE3, HIGH);}
if (EstadoBotao4 == HIGH){digitalWrite(RELE4, LOW);}else{digitalWrite(RELE4, HIGH);}
}


Use resistor de pull down. Veja foto…