Go Down

Topic: portão electrónico ajuda (Read 127 times) previous topic - next topic

ghosttc

Jun 21, 2019, 12:06 am Last Edit: Jun 21, 2019, 12:17 am by ghosttc
oi estou a fazer um portão eletrônico com 2 "Módulo 2 Relés - Sinal 5V 2 Canais 220V/10A" e com interruptores para um trabalho mas o programa não funciona bem
Code: [Select]


int tem = 0;
int tem2 = 0;
int tem3 = 0;
int tem4 = 0;

void setup()
{
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(1,INPUT);
  pinMode(2,INPUT);
  pinMode(3,INPUT);
  pinMode(4,INPUT);
 
  digitalWrite(8, LOW);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
 
}
void loop() {

   tem = digitalRead(2);
   
   if (tem == HIGH) {
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  delay(5000);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);


}

    tem2 = digitalRead(3);
   
   if (tem2 == HIGH){
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(12, LOW);
  delay(5000);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);

 }

   tem3 = digitalRead(4);

  if (tem3 == HIGH){
  digitalWrite(8, HIGH);
  delay(5000);
  digitalWrite(8, LOW);

  }
  tem4 = digitalRead(1);
   
  if (tem4 == HIGH){
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  }
 
  }


alguma ideia ?

bubulindo

Os delay()'s são muito provavelmente a causa do teu problema. No entanto, repara que tu não disseste sequer qual é exactamente o teu problema... como pretendes que alguém te ajude???
This... is a hobby.

ghosttc

Ele metesse a funcionar sozinho sem receber sinal nos terminais . Nos terminais 1,2,3 e 4.

desculpa bubulindo eu sou novo nisto.

int tem = 0;
int tem2 = 0;
int tem3 = 0;
int tem4 = 0;

void setup()
{
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(1,INPUT);
  pinMode(2,INPUT);
  pinMode(3,INPUT);
  pinMode(4,INPUT);
 
  digitalWrite(8, LOW);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
 
}
void loop() {

   tem = digitalRead(2);
   
   if (tem == HIGH) {
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  delay(5000);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);


}

    tem2 = digitalRead(3);
   
   if (tem2 == HIGH){
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, LOW);
  digitalWrite(12, LOW);
  delay(5000);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);

 }

   tem3 = digitalRead(4);

  if (tem3 == HIGH){
  digitalWrite(8, HIGH);
  delay(5000);
  digitalWrite(8, LOW);

  }
  tem4 = digitalRead(1);
   
  if (tem4 == HIGH){
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  }
 
  }

bubulindo

Como ligaste os interruptores? Não estarás a precisar do que é chamado de resistências de pull up?

Experimenta inicializar as entradas com:

Code: [Select]
  pinMode(1,INPUT_PULLUP);
  pinMode(2,INPUT_PULLUP);
  pinMode(3,INPUT_PULLUP);
  pinMode(4,INPUT_PULLUP);
This... is a hobby.

ghosttc

mesma que eu tire os fios dos terminais 1,2,3 e 4 continua a funcionar como recebesse sinais nos terminais serra que o ardoino pode ter problemas


bubulindo

Leste e experimentaste o que eu disse?
This... is a hobby.

Go Up