# Ajuda com projeto iniciante

**URL:** <https://forum.fazedores.com/t/ajuda-com-projeto-iniciante/7096>\
**Category:** Microcontroladores\
**Created:** [Fevereiro 12, 2020, 11:12pm UTC](https://forum.fazedores.com/t/ajuda-com-projeto-iniciante/7096 "2020-02-12T23:12:35Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Edgar\_simoes](https://avatars.discourse-cdn.com/v4/letter/e/a3d4f5/32.png) [@Edgar\_simoes](https://forum.fazedores.com/u/Edgar_simoes)\
**Post date:** [Fevereiro 12, 2020, 11:12pm UTC](https://forum.fazedores.com/t/ajuda-com-projeto-iniciante/7096/1 "2020-02-12T23:12:35Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Hugo\_maker](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/hugo_maker/32/3247_2.png) [@Hugo\_maker](https://forum.fazedores.com/u/Hugo_maker)\
**Post date:** [Fevereiro 17, 2020, 1:18pm UTC](https://forum.fazedores.com/t/ajuda-com-projeto-iniciante/7096/2 "2020-02-17T13:18:23Z")

</div>

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é.

---

<div class="post-metadata">

**Author:** ![Fazedora](https://avatars.discourse-cdn.com/v4/letter/f/ccd318/32.png) [@Fazedora](https://forum.fazedores.com/u/Fazedora)\
**Post date:** [Fevereiro 18, 2020, 12:54pm UTC](https://forum.fazedores.com/t/ajuda-com-projeto-iniciante/7096/3 "2020-02-18T12:54:39Z")

</div>

Sugestões de [arduino](https://www.ptrobotics.com/112-arduino)

---

<div class="post-metadata">

**Author:** ![AsaSergio](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/asasergio/32/1511_2.png) [@AsaSergio](https://forum.fazedores.com/u/AsaSergio)\
**Post date:** [Fevereiro 19, 2020, 5:18pm UTC](https://forum.fazedores.com/t/ajuda-com-projeto-iniciante/7096/4 "2020-02-19T17:18:00Z")

</div>

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…

 ![20200219_135839](https://us1.discourse-cdn.com/flex016/uploads/fazedores/original/2X/b/ba8fa180ec72590d83c3b3a303cbf07f0c3a486c.jpeg)
