Boa tarde pessoal to querendo montar um projeto para acionamento de 5 rele com botão de pulso
são 5 botão um para cada rele um pulso liga outro desliga alguem pode me ajuda
Tags:
int a=0;
int b=0;
int c=0;
int d=0;
int e=0;
void setup()
{
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,0);
digitalWrite(12,0);
}
void loop()
{
if(digitalRead(2)==0)
{
a=!a;
digitalWrite(8,a);
delay(200);
}
if(digitalRead(3)==0)
{
b=!b;
digitalWrite(9,b);
delay(200);
}
if(digitalRead(4)==0)
{
c=!c;
digitalWrite(10,c);
delay(200);
}
if(digitalRead(5)==0)
{
d=!d;
digitalWrite(11,d);
delay(200);
}
if(digitalRead(6)==0)
{
e=!e;
digitalWrite(12,e);
delay(200);
}
}
Amigo tente esse código, não sei se essa é a melhor forma de fazer mas acho que não tem erro
Não tive tempo de testar, mas pelo menos não ta dando erro.
int i = 0;
int qtd = 5;
// Primeiro botao ativa o primeiro rele, o segundo o segundo e assim sucessiamente
int botoes[5] = {2,4,6,8,10};
int reles[5] = {1,3,5,7,9};
boolean estado = 0;
void setup() {
// Define todos os botoes como input
for(i=0; i<qtd; i++) {
pinMode(botoes[i],INPUT);
}
// Define todos os reles como output
for(i=0; i<qtd; i++) {
pinMode(reles[i],OUTPUT);
}
}
void loop() {
for(i=0; i<qtd; i++) {
// Se algum botao foi pressionado
if(digitalRead(botoes[i]) == HIGH) {
// Le o estado do rele correspondente ao botao
estado = digitalRead(reles[i]);
// Inverte o estado do rele
digitalWrite(reles[i], !estado);
}
}
}
fucionou mais quando seguro o botão precionado a saida fica piscando
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por