Go Down

Topic: Ajuda, botão + Rele (Read 2494 times) previous topic - next topic

evertonwesc

Eae galera, to com um probleminha aqui com meu rele...vamos ver se podem me ajudar ^^

Seguinte, quero montar um circuito bem simples onde eu aperto um botão para o rele ligar, porém ele tem que permanecer ligado ate eu apertar o botão novamente...
até ai tudo bem, consegui fazer ele desligar e ligar quando aperto o botão...o problema é que quando eu inicio o arduino, o rele SEMPRE inicia LIGADO...não consigo fazer ele iniciar desligado
o rele é esse daqui: http://www.aliexpress.com/snapshot/235677910.html
liguei ele ao 5v do arduino...
OBS: já fiz o teste com um led ligado na porta que vai pro rele e o mesmo inicia bonitinho desligado, somente no modulo rele que da esse "problema"
segue o codigo

Code: [Select]

int rele = 2;
int botao = 8;
int flag = 0;
void setup()
{
  pinMode(rele, OUTPUT);
  pinMode (botao, INPUT);
}
void loop()
{   
if(digitalRead(botao) == HIGH && flag == 0)
{
while(digitalRead(botao) == HIGH);
{
digitalWrite(rele, HIGH);
flag = 1;
delay(200);
}
}
else if(digitalRead(botao) == HIGH && flag == 1)     
{
while(digitalRead(botao) == HIGH);
{
digitalWrite(rele, LOW);
flag = 0;
delay(200);
}
}
}


oq preciso fazer pra ele iniciar desligado?

LegendBR

Code: [Select]

void setup()
{
  pinMode(rele, OUTPUT);
  pinMode (botao, INPUT);
  digitalWrite(rele,LOW);
}

evertonwesc

Valeu pela resposta, mas ja tentei isso e nada...

bubulindo

Como estás a ligar o relé? Está ligado da mesma forma que o led ao Arduino, isto é, com a mesma polaridade? E como ligaste as coisas na saída do relé? A luz na saída do relé é completamente oposta ao LED?

O relé alguma vez comutou?
This... is a hobby.

Lago

O rele é normalmente aberto ou normalmente fechado?

LegendBR


O rele é normalmente aberto ou normalmente fechado?


Essa pergunta é valida, pois normalmente o relé funciona como um interruptor, ligando o contato do meio com o contato ou da esquerda ou da direita. Então você pode estar ligando os fios nos contatos do relé que ficam fechados quando o relé não está alimentado.

Faça o teste com um multimetro para ver se você não está ligando nada errado. Se mesmo assim não resolver, poste o esquema elétrico e/ou uma foto de como você está fazendo.

evertonwesc

bubulindo

Entao, o módulo que tenho possui 6 pinos, um GND, um VCC e as 4 portas de cada rele (o módulo tem 4 reles), liguei o GND ao GND do arduino, o VCC ao 5 Volts do Arduino e liguei uma porta de saida digital do arduino á uma entrada no módulo relé...

O rele está comutando sim, o problema é que quando ligo o arduino ele já comuta, ele deveria ficar desligado até eu apertar o botao

bubulindo

Ok...

Não estou a entender muito bem... Ele liga e desliga muito rápido ou quando o arduino é iniciado ele liga e fica sempre ligado?

Sem saber como o relé está ligado é difícil de garantir, mas...

O ATmega328 começa com os pinos configurados como entradas, se estiveres a fazer sink (ou seja, ligar a bobine do relé entre VCC e o Arduino) na entrada isto pode realmente comutar o relé. Como o bootloader do Arduino fica ali algum tempo até iniciar, deve ser o suficiente para comutar uma vez.

Depois tens o facto que o Arduino faz sabe-se lá o quê aos pinos e isso também pode influenciar, embora duvide que seja algo assim que esteja a acontecer, nunca se sabe.

Agora se o relé fica sempre ligado, provavelmente tens a lógica invertida no programa.
This... is a hobby.

evertonwesc

Isso, quando o arduino é iniciado ele liga e fica sempre ligado...
esse é o problema, mesmo se eu colocar digitalWrite(rele,LOW); ele inicia ligado...Nao deveria iniciar com a porta desligada?


bubulindo

E quem te diz que low é desligado?

Experimenta ao contrário:

Code: [Select]

void setup()
{
  pinMode(rele, OUTPUT);
  pinMode (botao, INPUT);
  digitalWrite(rele,HIGH);
}


Era isto que eu referia quando perguntei:

Quote
Como estás a ligar o relé? Está ligado da mesma forma que o led ao Arduino, isto é, com a mesma polaridade?


This... is a hobby.

evertonwesc

Bubulindo,

No momento estou no trabalho, testarei isso que tu me indicou quando eu chegar em casa...

Acredito que sejas esta a solução mesmo, pois ainda não testei desta maneira

Muito Obrigado pela Ajuda :D

HugoPT

Amigo também tenho um modulo desses de reles e eles funcionam com lógica invertida.
Para o rele activar mandas valor 0V e para ele estar desligado 5V.
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

Mortis

Eu tirei um rele de uma sucata aqui e o estado sem tensão era ligado... e demorou para cair a ficha rs

evertonwesc

Mortis e HugoPT

Era isso mesmo !!! Fiz oque o Bubulindo me disse e deu certo, o módulo funciona com a lógica invertida hehe

Obrigado a todos pela ajuda ^^

Go Up