Automação Residencial



Esse é o projeto de Automação Residencial com Arduino em que estou trabalhando!


O objetivo é poder monitorar e controlar sua casa através de qualquer aparelho cominternet, desde computadores à celulares. Assista a demonstração:

O princípio do projeto é basicamente o seguinte:
Um Arduino conectado à rede através do Ethernet Shield e que recebe informações de uma página da internet. Ao receber, o Arduino processa e controla os dispositivos da casa através de um circuito de interface.
O projeto demanda um pouco de conhecimentos específicos de Arduino, Eletrônica e programação p/ WEB.
Então o projeto é dividido basicamente em 3 partes:
  • Arduino
  • Web
  • Interface elétrica


Arduino

O Arduino é o coração do sistema, ele é quem recebe as informações da internet e controla a casa. Para que ele tivesse acesso à internet foi utilizado o Ethernet Shield que fica conectado ao seu roteador de internet. Ele foi programado para ficar sempre esperando uma conexão da internet e receber os caracteres enviados. Sempre que chega o caracter ‘#‘ ele interpreta como um comando e checa os anteriores.

Resumindo, os comandos que programei são os seguintes:
R#‘ : O Arduino responde com o estado (ON/OFF) dos dispositivos.
P#‘ : O Arduino aciona o portão pequeno.
G#‘ : O Arduino aciona o portão grande.
0000L#‘ : O Arduino liga ou desliga os dispositivos.
Os quatro ‘0‘ representam o estado de cada dispositivo. 0=OFF e 1=ON No caso do vídeo eram 4 lâmpadas.
Por exemplo, se o Arduino recebesse: ‘1100L#‘ ele acenderia as 2 primeiras e apagaria as outras 2.
Existem 2 parâmetros importantes no programa que devem ser mudados:
byte gateway[]: Deve ser o endereço do seu roteador na rede.
byte ip[]: Esse é o IP que seu ethernet shield assumirá na rede.
O programa gravado no Arduino se encontra a seguir:

Web


Esta seção fala da página pela qual você acessará o Arduino. No projeto utilizei PHP e me conectava ao Arduino por socket.
A página poderá estar hospedada tanto em um servidor de hospedagem como no seu computador. Sempre que você acessa a página, ela envia um ‘R#’ para o Arduino e ele responde informando quais dispositivos estão ligados. A página exibe o botão verde para os dispositivos ON e vermelho para OFF.

Quando você clica em algum botão na página, ela envia o código correspondente para o Arduino e se atualiza.
Não entrarei em detalhes sobre como criar um servidor WEB no seu computador e hospedar sua página no seu próprio PC, mas você aprende isso em algum tutorial de PHP.

Se for seguir esse caminho, eu só indico que use o WebServer XAMPP pois é muito simples e fácil de instalar e já vem com PHP.
Se for hospedar sua página em algum servidor online, será mais simples, já que não vai precisar instalar nada no PC nem configurar PHP nenhum, além de que os bons serviços de hospedagem oferecem suporte.
No Brasil, eu indico a HostNet.

O código da página PHP se encontra a seguir:
Existem uns detalhes a se considerar:
Se sua página está hospedada no seu computador (e na mesma rede que o Arduino estiver), basta trocar o IP e Porta no código PHP pelo IP e Porta definidos no programa do Arduino.

Caso sua página esteja na internet, ela deve acessar o IP público do seu roteador. Veja seu IP aqui: www.whatismyip.com e troque o IP do código PHP por este.
Agora você precisa definir nas configurações do seu roteador (se usar) que todo acesso à porta 8081 (pode ser outra, só usei a do exemplo) seja redirecionado ao IP local e Porta do Arduino. Para isso, procure no google por “Redirecionamento Porta” + o modelo do seu roteador que com certeza achará instruções. (Em inglês: “port forwarding”)
Importante: Tive que pedir pra meu serviço de hospedagem desbloquear a porta que usei no código PHP pois eles bloqueavam todo tipo de conexão externa. Se informe para saber se precisará fazer o mesmo.

Em relação à segurança, é recomendado que se crie senhas para acesso ao arduino e criptografia no envio das informações, para que nenhum mau intencionado invada sua rede e acabe tendo acesso à sua casa.
Posso abordar isso em artigos futuros dependendo da repercursão deste.
(ou quem quiser, fique a vontade para entrar em contato e publico seu artigo)

Interface Elétrica

Acionando dispositivos eletrônicos com Arduino.


Interface Elétrica

Acionando dispositivos eletrônicos com Arduino.


Nesta seção trataremos da interface elétrica entre o Arduino e os dispositivos que acionamos. Estes foram o portão da garagem, o de pedestres, as lâmpadas e umatomada.

 Lâmpadas e tomadas.

Para o acionamento das lâmpadas e tomadas foram utilizados relés. Relé é um componente que funciona como um interruptor acionado por tensões pequenas como 5 ou 12V.
Pus um relé em paralelo com cada interruptor. Dessa forma a lâmpada poderia ser acesa pelo interruptor OU pelo relé:
Os fios para acionar os relés passam por dentro dos dutos da parede e saem no circuito do Arduino. Dessa forma não houve alteração estética nos interruptores.
Para a tomada, alterei uma régua de tomadas que tinha, dessa vez pondo um relé em série, como na imagem:



Dessa forma, as tomadas só funcionarão quando o relé estiver acionado.
No meu caso, instalei o relé dentro da própria régua de tomadas, deixando para fora os fios da bobina do relé:

Portão de Pedestres

Existe dois fios que saem da sua fechadura eletrônica para poder abrí-la. Mas ao invés de pendurar um fio do portão até o Arduino na casa, preferi usar o próprio circuito do interfone.
Foi bem simples, para abrir o portão pelo interfone basta apertar o botão. Então fiz um circuito que “simulasse” o pressionar do botão. Como medi tensão contínua entre os terminais do botão, usei um transistor adequado para conduzir a corrente como se o botão estivesse pressionado.
Estamos preparando um artigo sobre transistores onde também ensinará como simular o pressionar de botões.
Clique em “Inscreva-se” no canto superior direito da tela e seja notificado quando o tutorial ficar pronto.
Lembrem-se de medir a polaridade da tensão no botão para não por o transistor invertido e queimá-lo!
(Se você não faz idéia do que está sendo dito, não se assuste e espere o tutorial :) )
Abaixo a imagem do interfone aberto e os 2 fios saindo p/ o circuito:

Portão da Garagem

O caso do portão da garagem é idêntico ao anterior. Você pode estender 2 fios do portão até seu circuito dentro de casa ou fazer da minha forma:
Eu abri e alterei o circuito de um dos controles utilizados para abrir o portão. Bastou substituir a bateria por 5V e o botãozinho por um transistor que fosse acionado pelo Arduino. Só foi mais difícil decobrir a polaridade. Tive que ver no datasheet do chip do controle. Porém há um meio mais fácil que será abordado no tutorial.
Nota: Não use fonte de 12V (conforme é a bateria) porque verifiquei que o chip aguentano máximo 12V e qualquer flutuação da fonte poderá queimar o controle.
Resultado:
O controle ligado à fonte teve um alcance muito maior do que quando ligado à bateria.
Isso possibilitou deixar o controle dentro de casa sem ter problema de alcance.
Sem bateria, não terá problema de oxidação nos terminais e mal-contato.

 Resumindo:


O circuito do nosso primeiro protótipo no final de tudo ficou assim (bagunça):
Note o Arduino com o Ethernet Shield conectado ao roteador (logo abaixo dele).
O circuito na protoboard são os transistores para acionar o portão e os relés, e os fios coloridos partem cada um para seus dispositivos.
O circuito pode ficar numa placa própria dentro de uma caixinha só com os terminais para o fio.
Sendo a central eletrônica da sua casa. :)

Esse foi nosso primeiro artigo sobre Automação Residencial com Arduino!
Deixe seu comentário abaixo.
Envie sua sugestão de projeto ou artigo pelo botão “contato” e inscreva-se para ser notificado sempre que houver projetos ou artigos novos!






Esse foi nosso primeiro artigo sobre Automação Residencial com Arduino!
Deixe seu comentário abaixo.
Envie sua sugestão de projeto ou artigo pelo botão “contato” e inscreva-se para ser notificado sempre que houver projetos ou artigos novos!