Rele em Paralelo com interruptor,ligar e desligar em ambos os sentidos.

Olá Pessoal,

Tou com sérias dificuldades em descobrir como faço aqui uma ideia que tive..

Eu pretendo atraves do arduino ligar um rele junto do interruptor da luz da minha sala.

Ate tudo simples de fazer nao é?

Pois bem, a minha maior dificuldade é:

Eu pretendo activar o rele pelo arduino ligando o rele...acendendo a luz da sala.

De seguida quero desligar a luz da sala carregando no interruptor com a mao.

E fazer o contrario.. ligar a luz com o interruptor com a mao..

e desligar a luz atraves do arduino.

Alguem consegue me colocar aqui o esquema para que possa fazer isso?

obrigado

Exibições: 39964

Responder esta

Respostas a este tópico

Olá...

Veja se o que pretende é o mostrado no vídeo...

http://www.youtube.com/watch?v=bzhDR8_sljI

Eduardo, muito obrigado pela resposta. 


Mas o que ele utiliza para saber o estado da lampada e enviar o comando certo (ligar/desligar) depois do interruptor ter sido acionado ?

Eu gostaria que o interruptor não tivesse ligação com o arduino. 

Agradeço a ajuda. 


Rômulo

A melhor solução seria ligar o interruptor em paralelo com o relé.

Lembrando que o interruptor tem que ser do tipo paralelo (3 fios). O relé já segue esse padrão.

O único problema é que não teria como saber o status da lâmpada (acesa ou não). Para saber isso achei uma solução bem legal que está super explicadinho no vídeo abaixo. O cara usou um módulo ACS712 para detectar a corrente.

https://www.youtube.com/watch?v=yyhdfMbJ-TM

oi Pessoal

Eu tenho o código abaixo para ligar dois reles com dois interruptores de pulso o problema é que ele aciona o rele2 somente se o rele1 estiver acionado e para deligar o rele2 eu tenho primeiro que desligar o 1. Alguém poderia me ajudar a resolver este problema. Eu quero ligar e desligar os reles independentemente se o outro estiver ligado. Ou ate mesmo criar uma funcao que eu chamaria para acionamento de reles


int rele = 9; //porta a ser utilizada para o acionamento do rele
int botao = 10; //porta utilizada para o botão
int lebotao; //armazena informações sobre a leitura do botão
int statusrele = 0; //armazena o estado do relé (ligado/desligado)

int rele2 = 8; //porta a ser utilizada para o acionamento do rele
int botao2 = 11; //porta utilizada para o botão
int lebotao2; //armazena informações sobre a leitura do botão
int statusrele2 = 0; //armazena o estado do relé (ligado/desligado)



void setup()
{
pinMode(rele, OUTPUT); //Define o pino do rele como saida
pinMode(botao, INPUT); //Define o pino do botão como entrada

pinMode(rele2, OUTPUT); //Define o pino do rele como saida
pinMode(botao2, INPUT); //Define o pino do botão como entrada
}

void loop() // inicio do programa
{
lebotao = digitalRead(botao); // armazena a leitura do botao armazena a informação na variavel lebotao
if (lebotao != 1)
{
while(digitalRead(botao) != 1)
{
delay(200);
}
statusrele = !statusrele;
digitalWrite(rele, statusrele);
}


lebotao2 = digitalRead(botao2); // armazena a leitura do botao armazena a informação na variavel lebotao
if (lebotao2 != 1)
{
while(digitalRead(botao2) != 1)
{
delay(200);
}
statusrele2 = !statusrele2;
digitalWrite(rele2, statusrele2);
}
}

entre em contato por email, esse código tenho pronto, mas preciso explicar!

Vilque 

Whats 11 975753535

vilque@gmail.com

Boa tarde.

Não li todos os comentários, mas achei interessante deixar minha ideia, vai que possa ajudar alguém, já esta valendo.

Então, fazer a ligação de uma lâmpada através de um rele(pelo arduino) e pelo interruptor em paralelo é fácil.

O problema é ter um sincronismo com essas duas entradas e o arduino saber que a lâmpada esta ligada através do interruptor.

Pode-se substituir o interruptor simples por um interruptor bipolar de uma tecla, com isso, em um polo você entra com a fase e retorna para a lâmpada, e no outro polo você entra com 5V/12V e sai para o arduino. No arduino você ira programar para que quando ler este sinal do interruptor, identificar que a lâmpada esta acesa.

Uma ideia simples e que espero implementar em meu projeto.

 

Abraços.

Da forma que mencionei acima, você usará um polo do interruptor para acionar a lâmpada e outro para dar um feedback para o arduino, possibilitando que você possa ligar e desligar a lâmpada mesmo quando o arduino estiver desligado e claro, podendo monitorar o estado da lâmpada de maneira eficiente.

 

Acho que este Tópico é bem antigo pelas datas, mas.. em todo caso, eu mudaria tudo radicalmente e usaria o que temos disponível hoje como no exemplo abaixo no meu blog.

Link Para Meu Blog Aqui No LDG

Sds.

CK

e ai ja consegui auguma coisa? coseguiu monta seu projeto ?

caso queira augumas dica e ajuda  eu estu com esse mesmos projeto de automaçao  e ja estou bem avançado 

e tenhos auguns codigos prontos

 inclusive estou  montando   automaçao via web  com arduino mega e ethernet shild w5100

de uma olhada na pagina que ja criei com augumas interface.....http://autojaves.16mb.com/

Eu fiz a automação de minha sala onde controlo 4 pontos de iluminação todos em paralelo com relés e interruptores tipo paralelo e mais 4 lampadas de 12V de led onde controlo o brilho das mesmas (estão ligadas em paralelo).

Tudo isto com um atmega 328P-PU numa placa que fiz e mais,

Sabem aquelas teclas do controle da NET que não servem para patavinas nenhuma ? 

Aqui cada uma delas acende e apagam estes pontos, para além dos interruptores que tenho afixado na parede, ou seja consigo apagar e acender qualquer ponto tanto no controle quanto no interruptor.

Vantagem, sabe aquela filme ou lance do futebol ou qualquer programação que você não consegue desgrudar e perder nenhuma parte ? Pois é eu controlo as minhas lâmpadas da sala tudo pelo controle sem levantar do sofá. 

  

Olhem o vídeo que fiz:

https://www.youtube.com/watch?v=xd4P9AQY5-o

Bom dia Pessoal. Estou fazendo a automação da minha casa, estou montando interruptor touch, fazendo a programação em matriz, vou usar 3 arduinos mega se conectando via rede. Estou tendo um problema com parte da programação, parte dela esta abaixo, por exemplo eu digito no browser 192.168.0.150:8090/ligado=0f, todo este endreço eu preciso somente do valor digitado entre o sinal de igual(=) e a letra f, que á e posição da matriz onde se encontra a porta do rele, até ai tudo bem, o valor é extraído. O problema é que ele faz isso 10 vezes, ou seja liga/deliga o rele 10 vezes sempre, coloquei várias condicionais para fazer uma so fez mas não esta dando certo. Se alguém puder me ajudar eu ficaria muito agradecido

#include
#include
#include
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x9B, 0x36 }; // Endereço Mac
byte ip[] = { 192, 168, 0, 150 }; // Endereço de Ip da sua Rede
EthernetServer server(8090); // Porta de serviço
String readString;
String HoraLiga;
int rele[] = {6,7};
boolean statusrele[] = {1,2};
int relecont = 2;
void setup()
{
Ethernet.begin(mac, ip); // Inicia o Ethernet
Serial.begin(9600); // Inicia a comunicação Serial

for (int i = 0; i < relecont; i++)
{
pinMode(rele[i],OUTPUT);
digitalWrite(rele[i],HIGH);
statusrele[i] = false;
}

}
void loop()
{

EthernetClient client = server.available();// Criar uma conexão de cliente
if (client)
{
while (client.connected())
{
if (client.available())
{
char c = client.read();

if (readString.length() < 30)// ler caractere por caractere vindo do HTTP
{
readString += (c);
}
if (c == '\n')
{
if(readString.indexOf("ligado") > 0)
{
int posIgual = readString.indexOf("=") + 1;
int posE = readString.indexOf("f");
int horaliga;

HoraLiga = readString.substring(posIgual,posE);
horaliga = HoraLiga.toInt();

digitalWrite(rele[horaliga], !statusrele[horaliga]);
statusrele[horaliga] = !statusrele[horaliga];

Serial.print(horaliga);

delay(200);
readString="";

client.stop();

}
}
}
}
}
}

Bom dia Angelo Marcelo,

sugiro que você abra um novo tópico para não atrapalhar este que está em andamento.

Teria mais chances de alguém te ajudar ok.

abraços,

JA

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço