Go Down

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

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

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

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?
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

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.

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

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.
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

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?


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?


Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

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

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