Este documento apresenta o desenvolvimento de um sistema de automação residencial de baixo custo utilizando hardware e software. O sistema permite controlar dispositivos elétricos e eletrônicos da casa de forma remota através da internet e inclui sensores e atuadores controlados por um microcontrolador conectado ao computador via USB.
1. Automação Residencial com Segurança e Economia
Karen Schnornberger
Orientador: Gilberto Fernandes Marchioro
Universidade Luterana do Brasil (ULBRA) – Curso de Ciência da Computação
krskarens@gmail.com, gilberto.marchioro@gmail.com
Resumo. Este artigo apresenta o desenvolvimento de um módulo de
hardware e software para automação residencial, visando baixo custo de
desenvolvimento e segurança de operação. A arquitetura de hardware é
composta de um protótipo totalmente operacional e a de software engloba
diferentes níveis, como o código interno dos dispositivos programáveis, o
aplicativo do servidor e a plataforma de acesso remoto via Web. Existem
diferentes soluções de automação relatadas na literatura, sendo que este
trabalho apresenta características inovadoras ainda não encontradas nos
ambientes existentes.
1. Introdução
Nos tempos modernos, vem crescendo o número de projetos e estudos na área de automação
residencial, mesmo sendo uma proposta bastante inovadora e ousada. Num primeiro
momento, a automação trouxe uma idéia de status e modernidade, dando a impressão de
gerar altos custos e investimentos. Porém, com o passar dos anos, foi ficando evidente como
poderia agregar conforto, economia e segurança, sendo agora um importante elemento dos
projetos arquitetônicos feitos por Arquitetos e Designers (Aureside, 2008).
O presente protótipo visa demonstrar e contribuir com as idéias acima levantadas, através
da montagem de um módulo eletroeletrônico, do desenvolvimento e implementação de
aplicações para controle deste módulo e facilidades que podem ser implantadas em um
ambiente, juntamente com controle automático destes, propiciando sua modernização.
Existe um número considerável de trabalhos e estudos nesta área, porém poucos saem do
papel e são realmente implementados e assim mostrados à sociedade em sua forma mais
perceptível e prática. Já que para tornar-se compreensível perante as pessoas e também
como efeito de testes, a prática e a montagem são as melhores maneiras de se atingir estes
objetivos, ambas fazendo parte deste trabalho.
Acredita-se haver um grande desafio em introduzir automação residencial na sociedade.
Entretanto, se esforços forem unidos e os trabalhos nesta área passarem a ser cada vez mais
elaborados e divulgados, serão visíveis e de fácil entendimento os benefícios que estes
ambientes podem proporcionar.
Algumas características devem ser destacadas, como o conforto, a economia de energia,
segurança e agilidade, tudo isso adaptado à vida das pessoas, possibilitando cada vez mais o
bem-estar e a convivência social. E é seguindo esta linha que este projeto foi feito, para
mostrar os benefícios que a automação tem a oferecer e, juntamente, destacando a idéia de
que o custo está se tornando cada vez menor com o passar do tempo.
As seções a seguir exibem os conceitos e tecnologias estudados para o desenvolvimento
deste protótipo (seções 2 e 3, respectivamente). A seção 4 apresenta o hardware e o
software, além das possíveis modificações que podem sofrer. A seção seguinte descreve os
passos para o funcionamento e utilização do protótipo. E por último, na seção 6 apresentam-
se as conclusões obtidas e ao final do artigo as referências bibliográficas.
2. Fundamentação Teórica
2. A automação vem crescendo em grande escala com o passar dos anos. Cada vez mais, a
idéia de automatizar um ambiente vem se tornando parte da realidade na vida cotidiana da
população.
Mesmo que no Brasil a escala em residências seja pequena, aos poucos está sendo
introduzida e aceita pelos brasileiros. Sendo assim, exige que os estudos e a especialização
nas áreas correlatas aumentem significativamente.
Em estudos realizados sobre este tipo de projeto, foram encontrados diversos trabalhos a
respeito, com algumas particularidades e semelhanças:
• Venturi (2005) mostra a implementação de um controle residencial automatizado,
através do qual se pode controlar equipamentos elétricos remotamente (via celular,
palm, notebook, etc.). Há uma ligação entre o hardware e um servidor por meio de uma
porta paralela.
• Gentilini (2006) apresenta um protótipo de automação com um módulo receptor e um
transmissor, displays LCD e botões para interação com o usuário. Através dos botões,
podem-se ativar dispositivos ligados ao hardware, do transmissor para o receptor, via
protocolo X-10 (rede elétrica).
• Leite (2006) propõe uma espécie de central automatizada, em um módulo com um
display LCD, um teclado alfanumérico e uma série de leds, onde se pode selecionar
canais, modificar nomes, ativá-los ou desativá-los em tempo e horários pré-
determinados, com temperatura específica. Estes canais são representados pelos leds,
mas poderiam ser dispositivos elétricos a serem controlados. Também é possível
realizar a programação de acionamento ou desligamento dos canais via linha telefônica,
através de uma senha.
• Scherer (2006) cria um protótipo de automação, com hardware e software, que pode
controlar equipamentos elétricos via computador ou celular (internet), através de uma
conexão USB com um servidor que possibilita o controle e a comunicação. É possível o
acionamento ou desligamentos destes, em um determinado horário ou data.
• Condurú & Freitas (2006) propõe um ambiente automatizado que pode controlar
qualquer equipamento eletroeletrônico, somente ligando ou desligando o mesmo. Este
hardware estaria conectado em um computador, via USB, o que realizaria a troca de
informações por um software.
• Perozzo & Pereira (2007) propõem um cenário automatizado, como um ambiente
inteligente. Em uma sala de seminários, dotada de sensores e atuadores controlando
temperatura, luminosidade e presença, todos ligados a uma central que possa interagir
com os usuários tanto dentro da sala via teclado, quanto externamente através de
dispositivos móveis como um celular. Mas não especifica como seria feita a conexão do
hardware com o software.
O que se pode concluir analisando estes projetos, é que a comunicação com o computador
varia entre USB e paralela ou até mesmo casos em que não há nenhuma delas. Alguns
ermitem interação com os usuários via software, em dispositivos móveis, através da Web ou
diretamente em um computador. Os dispositivos controlados variam entre eletroeletrônicos
e eletrônicos. Alguns possuem atuadores e sensores, outros não.
Mas o fato é que nenhum deles possui em conjunto comunicação USB com o computador,
dispositivos atuadores, sensores e acionamento de qualquer dispositivo (não sendo somente
os ligados em rede elétrica), interface Web e independência entre comunicação e
uncionamento normal.
As características acima são as mais vantajosas e práticas para os usuários. E juntando elas,
pode-se construir um protótipo de automação residencial muito atraente, tanto em questões
financeiras quanto práticas ao público em geral, que segue neste artigo.
A seguir serão destacados alguns tópicos que servirão de base teórica para a elaboração do
trabalho.
3. 2.1. Automação
Na década de 1960, surgia oficialmente a palavra Automation, que foi criada pelo
marketing da indústria de equipamentos, buscando enfatizar a participação do
computador no controle automático industrial (Moraes & Castrucci, 2001).
Hoje, pode-se dizer que automação é qualquer sistema, apoiado em computadores,
que substitua o trabalho humano e vise soluções rápidas e econômicas para atingir os
objetivos das indústrias, residências, prédios e bancos, entre outros.
2.1.1. Automação Residencial
Pode ser utilizada no controle e gerenciamento de tarefas domésticas, segurança e
monitoramento promovendo maior segurança, facilidade, agilidade e comodidade no lar
(Teza, 2002).
Interligando informática, rede elétrica, segurança, climatização, entretenimento,
telecomunicações, serviços e equipamentos eletrônicos através de um controle
centralizado (Coruja, 2005; Weber, 2005).
É uma área que vem crescendo com o passar dos anos, ainda muito restrita, pois se
mal projetada, pode trazer mais malefícios do que benefícios, e isto deixa os clientes
com muito receio em aderir a esta nova tecnologia (Coruja, 2005).
Também muito reservada a quem possui maior capital, vem forçando estudos e
projetos para redução de custos, com aumento de qualidade e facilidade de operação e
manutenção por parte dos usuários, tornando-se assim mais confiável e acessível aos de
menor renda.
2.1.2. Automação Predial
A automação predial é responsável pelo controle das tarefas comuns aos condôminos de
um edifício residencial ou comercial, podendo englobar elevadores, iluminação,
sistemas de segurança, hidráulicos e elétricos, alarmes de incêndio, condicionamento
ambiental, serviços, área de lazer e trabalho cooperado, entre vários outros aspectos
(Marte, 1995; Teza, 2002).
Este tipo de automação é um dos mais conhecidos, pois na construção de um
edifício, seja ele com intuito residencial ou comercial, há uma quantidade maior de
recursos, além de alguns serviços serem estritamente necessários para os futuros
usuários do estabelecimento, ainda mais se tratando de construções bastante recentes.
Mas poucos ainda se arriscam a quebrar o tabu, instalando algo mais ousado,
fugindo dos básicos como elevadores, iluminação com sensores de presença ou
fotocélulas, interfone, ar-condicionado, etc. Dificilmente encontra-se algo que envolva
controle via Web ou mesmo pelo computador.
2.1.3. Automação Industrial
Tem como principais objetivos a integração entre as tecnologias de segurança e de
acesso a informação, proporcionando interação na rede de dados, voz, imagem e
multimídia. Sendo a origem de toda automação, e atualmente, onde se pode encontrar
maior número de equipamentos automatizados (Coruja, 2005).
Abrange máquinas, dispositivos e componentes, onde a automação é realizada
pelo Controlador Programável, bem como controles de iluminação, climatização e
segurança. Tudo isto visando maior segurança não só para os colaboradores, mas
também para a própria empresa, além de economia, agilidade e precisão nos serviços e
produção.
2.2. Controle Automático
É a base tecnológica para a realização de qualquer tipo de automação. Pode ser dividido
em controle quantitativo (o conteúdo dos comandos de controle possui uma quantidade
4. infinita de informações analógicas e/ou contínuas) ou qualitativo (o conteúdo dos
comandos de controle possui um número finito de informações digitais e/ ou discretas).
Tendo como exemplos mais comuns o controle seqüencial (qualitativo) e realimentado
(quantitativo) (Miyagi, 1983).
A seguir estão listados alguns tipos de controladores que são de suma importância
para o entendimento e desenvolvimento do trabalho. Dentre eles, está descrito o
microcontrolador (PIC) que foi utilizado no projeto.
• Controladores Digitais: Vieram para substituir os antigos controladores elétricos,
pneumáticos e hidráulicos, dispensando ajustes mecânicos, com dimensões reduzidas,
facilidade de operação, manutenção e ações de controle mais complexas (Miyagi, 1983).
• Controladores Programáveis: Dispositivos eletrônicos para aplicações gerais que
executam funções como operações lógicas, sequencialização, temporização e
computação numérica. Possuem uma memória interna onde ficam gravadas as
instruções de execução, que são responsáveis pelo controle de máquinas e processos,
estes acionados por sinais de entrada/saída analógicos e digitais (Miyagi, 1983).
• Microcontrolador: É um dispositivo (chip) que integra um processador, memória
RAM (dados) e ROM (programa), recursos de entrada/saída, cujo objetivo é além da
praticidade e portabilidade, o baixo custo e a facilidade de reconfiguração por software.
Os quais foram projetados para equipamentos específicos, que variam de um simples
relógio a um complexo equipamento industrial que envolve até uma camada de sistema
operacional executando sobre o microcontrolador (Ferreira, 2008).
3. Tecnologias empregadas
Para o desenvolvimento do trabalho, foram necessários alguns conhecimentos
fundamentais sobre tecnologias atuais, que serviram de base no projeto. Nas seções que
seguem, destacam-se os principais temas estudados e aplicados.
3.1. USB
O USB (Universal Serial Bus) surgiu em 1995, através de uma parceria entre várias
empresas de tecnologia, como Intel e Microsoft. Aceita uma conexão máxima de até 127
dispositivos por porta, através de Hubs cascateados, sendo cada um com 4 a 8 portas.
Lançado primeiramente através da versão 1.0 (1,5Mbs – Low Speed), depois foi
concebida a versão 1.1 (até 12Mbs – Full Speed), e finalmente, no ano de 2000, foi
lançada a última e atual versão 2.0 (até 480Mbs – High Speed).
Em uma porta, conecta-se o cabo USB, que é composto por quatro fios e uma
pequena malha para eliminação de ruídos mais simples. Sendo dois destes fios,
responsáveis pela alimentação de energia dos dispositivos e os outros dois pelos dados,
que trafegam utilizando a codificação NZRI (No Return To Zero Inverted), conforme a
figura 1. Onde o “1” identifica que não há troca do nível, enquanto o “0” representa uma
troca. Uma string de zeros causa uma troca de bit a cada tempo. Uma string de uns causa
um período de inatividade no barramento.
O barramento USB pode fornecer no máximo 5V@500mA aos dispositivos conectados
em cada porta (Messias, 2008).
Figura 1: codificação NRZI
Há dois tipos de interface para o funcionamento dos dispositivos: Self-powered e
Bus-powered. Na Bus-powered o dispositivo é alimentado pelo próprio barramento
USB. E na Self-powered necessitam de uma fonte de alimentação própria e
independente.
Para que um dispositivo possa se comunicar com um computador através da porta
USB, ele precisa conter o protocolo USB em um chipset ou em um microcontrolador,
que é responsável pela troca de informações entre os periféricos.
O protocolo USB possui inúmeros recursos que tornam vantajosa a utilização da
5. porta USB, em vez de uma serial ou paralela, que também estão ficando escassas no
mercado atual de computadores, principalmente nos portáteis (notebooks). Alguns que
se sobressaem são a verificação de redundância cíclica, detecção e correção de erros,
detecção de conexão e remoção de dispositivos, controle de fluxo de dados assegurando
transmissões com tráfego contínuo de dados, disponibilidade da largura de banda
garantida, entre outros.
Todos os dispositivos USB possuem descritores que contêm informações como
fabricante, série, tipo, interface, configurações, etc. Que são, em sua maioria, fornecidos
juntamente com o dispositivo na forma de drivers e devem ser instalados no
computador, para que o mesmo possa reconhecer todas as informações e comunicar-se
corretamente com o equipamento, assim permitindo seu pleno funcionamento.
3.2.Programação
A arquitetura de software engloba diferentes níveis, como o código interno dos
dispositivos programáveis, o aplicativo do servidor e a plataforma de acesso remoto via
Web. Cada um possui características particulares referentes especificamente ao projeto
desenvolvido. A seguir, seguem alguns destes detalhes mais importantes.
3.2.1. Programação para Microcontroladores
A linguagem C, criada em 1972 por Dennis Ritchie, tem como principais características
simplicidade, eficiência, flexibilidade e portabilidade (comparada às outras). Sendo
utilizada na criação de processadores de texto, sistemas operacionais, bancos de dados,
programas para automação, etc.(Santos, 1997).
A linguagem possui uma infinidade de comandos específicos para
microcontroladores, que variam de acordo com o compilador e o tipo de
microcontrolador. Existem comandos para configuração interna e externa ao dispositivo,
e programação de pinos e dispositivos ligados a eles. Também comunicação com
computadores e outros periféricos.
Através desta linguagem, pode-se comandar qualquer dispositivo ligado aos pinos
de um microcontrolador, inclusive outros da mesma família. Para isto, é necessário um
compilador que aceite linguagem C, específico para microcontroladores, que ao
compilar este código, gera um arquivo hexadecimal, que deve ser gravado no chip.
Para fazer a gravação, utiliza-se um software e um hardware compatíveis entre si,
os quais são responsáveis por transferir este código hexadecimal gerado pelo compilador
até o microcontrolador. Que após a gravação, não necessita mais de ambos para
funcionar.
3.2.2. Programação para interação com a porta serial
A linguagem C++ foi escrita por Bjarne Sroustrupe em 1982, como uma extensão do C.
Sendo uma das linguagens comerciais mais populares, com grande desempenho e base
de utilizadores (Maldonado, 2003).
O C++ não oferece suporte direto para a comunicação com a porta serial (USB).
Mas para realizar esta comunicação, existem bibliotecas prontas, como as do Windows,
e também a da FTDChip, para oferecer suporte aos seus dispositivos.
A biblioteca FTD2XX (FTDChip) oferece uma solução alternativa para portas
seriais de comunicação virtual, que permite aplicação em software de interface USB
com o chip FT232BM. A arquitetura do FTD2XX consiste em um driver que se
comunica com o dispositivo USB através de pilhas do Windows e uma DLL que realiza
a interface para aplicativos de software, que pode ser escrito em C++, Delphi, VB, etc.
3.2.3. Programação para Web
A linguagem PHP (Hypertext PreProcessor) foi criada em 1994 por Rasmus Lerdorf,
6. que era utilizada por ele em sua página pessoal. É uma linguagem de código aberto,
muito utilizada para a criação de scripts, que são executados no servidor Web para a
manipulação de páginas HTML (Arroyo & Santos, 2002).
Como não possui uma forma de conexão direta com a porta serial, justamente por
se tratar de uma linguagem Web, depende de outro aplicativo que realize a interação
entre a linguagem e a porta USB.
O PHP é responsável por ler as informações gravadas em um arquivo de log
(gerado pelo aplicativo feito em código C++), mantendo assim uma atualização
constante dos aplicativos conectados ao hardware, de uma forma mais amigável e
transparente aos usuários.
Também pode, além de ler estes arquivos, escrever ou criar algum deles,
mandando algum comando para o hardware. Assim, mantendo o envio e recebimento de
informações.
4. Solução desenvolvida
O protótipo deste sistema está dividido em quatro partes, sendo a primeira toda
montagem em nível de hardware, a segunda um software que controla toda a primeira
parte e fica gravado nela mesma, a terceira também é um software cuja função é a
comunicação com o nível anterior e, a última realiza a interação com o usuário através
da Web.
A figura 2 apresenta um diagrama de funcionamento do protótipo que é iniciado
pelo hardware programado em C ANSI, que se comunica com um servidor pela porta
USB, por meio de um software em C++, que posteriormente cria, edita e lê arquivos
TXT onde se encontram logs e comandos referentes aos dispositivos. E estes são
disponibilizados na web aos usuários através de um software em PHP, cujo além de ler
as informações também envia outras para o hardware, conforme vontade do usuário. As
subseções a seguir apresentam melhor cada uma destas partes.
TXT
Diagrama
de
Funcionamento
Hardware
Servidor
Internet
Usuário
Computador
Figura 2: Diagrama de Funcionamento do protótipo
4.1. O hardware
O protótipo foi desenvolvido, calculado e montado para simular uma sala, que possui
uma porta, um motor de passo, dois coolers, um led, um teclado alfanumérico 3X4, dois
displays LCD, dois emissores infravermelho, dois receptores infravermelho, uma fonte
de alimentação 5Vdc, uma fonte de alimentação 12Vdc, dois botões, um sensor de
temperatura LM35, um microcontrolador PIC16F877, um secador de cabelos, um
inversor de 8 entradas ULN2003, um conversor serial/USB e um cristal de quartzo
10MHz, dentre os demais componentes eletrônicos necessários para o funcionamento de
todo o circuito, que podem ser observados na figura 3.
Figura 3: vista traseira do protótipo
4.1.1. Montagem e funcionalidades
Conforme esquema elétrico apresentado na figura 4, o teclado é responsável por receber
uma senha, para a entrada na sala.
Figura 4: Esquema elétrico do teclado
Os coolers simulam o resfriamento do ambiente (conforme a figura 5), que em
7. conjunto com o secador de cabelos, deve simular um ar-condicionado.
Figura 5: Esquema elétrico dos coolers
Segundo a figura 6, o motor de passo tem a finalidade de abrir e fechar a porta
quando solicitado e o secador de cabelo, deve aquecer a sala.
Figura 6: Esquema elétrico do motor, ULN2003 e secador de cabelo
Os dois displays LCD (apresentados na figura 7) são responsáveis pelo
fornecimento de informações aos usuários presentes no ambiente, tanto interna quanto
externamente.
Figura 7: Esquema elétrico dos displays LCD
Na figura 8, está o centro de todo o hardware, o microcontrolador PIC16F877, o
LM35 que é um sensor de temperatura, capaz de retornar temperaturas precisas, com
10mV/○C, o cristal de quartzo que define a freqüência de operação de todo o circuito.
Além de dois botões, um para reset do circuito e o outro para abertura interna da porta
pelos usuários que forem sair e também os dois pares de sensores infravermelho que
sinalizam quando a pessoa passou pela porta e se entrou ou saiu.
Figura 8: Esquema elétrico do PIC, sensores infravermelho, botões, sensor de temperatura e cristal
A comunicação USB é feita por um conversor serial/USB (observado na figura 9)
e o PIC recebe os dados através de dois pinos.
Figura 9: placa conversora USB/serial
4.2. Software de controle
Para que o hardware anteriormente mencionado funcione conforme necessário, o
microcontrolador deve possuir um programa gravado em sua memória principal.
4.2.1. A programação do PIC
Através do aplicativo CCS C Compiler, cria-se um código em linguagem C com todas
as funções necessárias ao bom funcionamento do hardware descrito anteriormente. E
este possui algumas funções, como por exemplo, a de leitura do barramento USB, feita
constantemente através de uma interrupção, configuração dos pinos de comunicação e
clock, conforme figura 10.
Figura 10: trecho do código em C gravado no PIC
Depois de compilado, este código gera um arquivo hexadecimal, que deve ser
gravado no PIC por meio de um gravador também USB (figura 11) e de um aplicativo
chamado WinPIC800.
Figura 11: gravador de PIC via USB
4.3. Software para comunicação com o hardware
Para a comunicação entre os dispositivos e o computador através da porta USB, fez-se
necessário o desenvolvimento de um programa com funções de leitura e escrita nesta
porta, bem como a utilização de bibliotecas alternativas de outro fabricante e do próprio
Windows.
4.3.1. O programa em C++
Através do aplicativo Borland C++ Builder, foi desenvolvido um software capaz tanto
de ler os dados recebidos da porta serial e gravá-los em arquivos de log, como também
escrever dados na mesma porta.
Este aplicativo deve rodar permanentemente em um servidor conectado ao
hardware pela porta USB, realizando uma espécie de “meio de campo” entre os meios
físicos e os virtuais (Web).
Conforme a figura 12, o programa monitora dispositivos como lâmpada, porta,
temperatura, aquecimento, resfriamento, número de pessoas na sala, se está vazia ou
não, além de controlar a lâmpada quando não há pessoas na sala.
Figura 12: Software em C++
O software comunica-se com o hardware através de uma série de comandos pré-
definidos (que poderiam ser representados por quaisquer sequência de caracteres) que
seguem uma lógica conforme a tabela 1, que apresenta os comandos de comunicação
entre hardware e software, onde “COM” foi definido para representar um comando, ‘#’
são separadores, o primeiro valor representa um pino, dispositivo ou valor o e o segundo
8. representa o estado do pino ou um tipo de contagem, e o ‘:’ representa o final do
comando.
Tabela 1: comandos de comunicação
Comando
Modo
Significado
COM#24#0:
Leitura
Lâmpada desligada
COM#24#1:
Leitura
Lâmpada ligada
COM#19#0:
Leitura
Coolers e aquecedor desligados
COM#19#1:
Leitura
Aquecedor ligado
COM#09#0:
Leitura
Coolers desligados
COM#09#1:
Leitura
Coolers ligados
COM#00#0:
Leitura
Sala vazia
COM#00#1:
Leitura
Sala ocupada
COM#50#0:
Leitura
Porta fechada
COM#50#1:
Leitura
Porta aberta
COM#XX#3:
Leitura
XX o
Celsius
COM#XX#4:
Leitura
XX pessoas na sala
COM#24#0:
Escrita
Desligar lâmpada
COM#24#1:
Escrita
Ligar lâmpada
A biblioteca FTD2XX é responsável pela leitura e escrita na porta USB, através de
duas funções conforme trecho do código na figura 13.
Figura 13: trecho do código em C++
A função FT_Read() lê o comando da porta serial e grava em uma string. Logo
após, são retirados os valores do pino e estado deste comando, e gravados cada um em
uma variável numérica de inteiros.
Qualquer mudança no estado dos dispositivos recebida pelo barramento é gravada
em um log, e o estado atual de tudo que é monitorado é gravado em um segundo arquivo
chamado status. O comando para escrita no PIC, também é lido de um terceiro arquivo,
gerado e modificado através da Web.
4.4. Software para interação com os usuários
Com o intuito de facilitar o acesso aos dispositivos, criou-se um Software em PHP que é
responsável pela leitura dos arquivos de log e status e também disponibilizar o conteúdo
destes arquivos na web para os usuários do sistema. Também cria e edita o arquivo para
9. controlar a lâmpada.
4.4.1. O software em PHP para web
Possui quatro páginas. Sendo uma inicial que solicita usuário e senha para acessar o
sistema, que se digitados corretamente, redireciona para a página de visualização de
eventos.
A página de visualização de eventos observada na figura 14 exibe todo o
conteúdo do arquivo status com seus devidos filtros. Através desta, pode-se optar por
sair do sistema, atualizar a página com os novos eventos, visualizar os arquivos de log
ou controlar a lâmpada.
Figura 14: tela de visualização de eventos na web
Na tela de visualização do log, pode-se selecionar um filtro para visualizar o log
desejado, assim optando por exibir somente o dispositivo desejado, uma data ou horário
qualquer, ou simplesmente exibir todo o arquivo de log gravado.
A tela de exibição do log mostra através de uma tabela, a data, o horário e o
evento ocorridos conforme o filtro selecionado anteriormente. Após a visualização o
usuário pode retornar a tela anterior de seleção do log a ser visualizado e realizar outra
consulta.
4.5. Modificações possíveis
Todas as partes mencionadas anteriormente referem-se a um módulo, podendo ser
aplicado a uma peça de uma residência. É bastante simples adicionar novos módulos
quando já se tem um primeiro instalado. O PIC aceita qualquer dispositivo, podendo
controlar um equipamento ou receber sinais de controle por ele. Basta conectá-lo em
algum pino e configurá-lo corretamente no software.
Cada PIC representa um módulo e todos devem ser multiplexados, ou seja,
compartilhar o mesmo barramento serial para o envio de dados. E cada um precisa
utilizar dois pinos para comunicar-se com os demais, assim sabendo quando pode
utilizar o barramento. E, além disso, devem-se configurar os programas para que
recebam este novo módulo.
5. Apresentação do protótipo
A seqüência de funcionamento do protótipo desenvolvido segue a seguinte ordem:
5.1. No hardware:
Através da figura 15, podem-se verificar na vista frontal do protótipo desenvolvido,
alguns componentes como teclado, display LCD, porta, motor de passo, aquecedor,
sensores infravermelho e lâmpada. E na vista lateral do protótipo o outro display LCD,
os coolers e a placa traseira com o circuito eletrônico. O funcionamento destes
dispositivos se dá conforme os passos a seguir:
• Deve ser pressionada a tecla ‘*’ e em seguida uma senha de entrada;
• Estando a senha correta, a porta irá se abrir e, após a entrada da pessoa, a porta
fecha-se automaticamente;
• Logo após, a luz irá se acender e a temperatura começa a ser controlada para que
fique em torno de 25º C;
• O display externo exibe informações sobre abertura e fechamento da porta, bem
como o acesso por senha;
• O display interno mostra constantemente a temperatura atual na sala e o número de
pessoas presentes;
• Se a temperatura estiver abaixo de 22 º C, um aquecedor é acionado, ou se estiver
mais do que 27 º C, dois coolers serão ligados para que o ambiente resfrie.
Simulando assim um ar-condicionado;
• Para a entrada de mais pessoas, o procedimento é o mesmo da primeira;
• Quando alguém quiser sair, basta pressionar o botão fixado na parede interna da
sala, que a porta irá se abrir e, assim que esta pessoa sair, a porta será fechada;
• Quando a sala ficar vazia novamente, a luz se apagará e o controle de temperatura
10. pára de aquecer ou resfriar.
Figura 15: vista frontal e lateral do protótipo
5.2.No software:
Para realizar o monitoramento e o controle dos dispositivos do protótipo, faz-se
necessária uma conexão USB e em seguida uma sequência de ações descritas a seguir
deve ocorrer:
• Feita a conexão física do cabo USB, devemos conectar a porta via software;
• Assim que conectado, o aplicativo recebe as informações do que está ocorrendo
no ambiente em tempo real e as atualiza na tela e nos arquivos de log;
• Estes arquivos serão filtrados e disponibilizados na web, para que os usuários
possam controlar o módulo remotamente;
• Em qualquer tempo, desde que a sala esteja vazia, é possível, através da web,
controlar a iluminação do ambiente, ligando e desligando a luz.
Independentemente da conexão USB, o hardware descrito em 5.1 funciona
normalmente.
6. Resultados obtidos
O sistema desenvolvido cumpriu o objetivo de controlar dispositivos diversos através de
atuadores e sensores, sem a obrigatoriedade de um microcomputador para funcionar.
Bem como o controle e monitoramento destes dispositivos remotamente quando
conectado a um computador.
Além disso, foi atingido um objetivo muito importante, o de proporcionar um
baixo custo, comparado com os demais sistemas existentes no mercado, que espantam a
população na hora de optar pela automação residencial, que na maioria dos casos acaba
ficando de fora. Isto pode ser comprovado pela tabela 2, que apresenta todos os
materiais utilizados e seus devidos custos.
Levando-se ainda em consideração que o protoboard poderia ser substituído por
uma placa de circuito impresso que custa cerca de 80% menos, o gravador de PIC não
precisaria ser adquirido por um usuário doméstico e outros dispositivos que são apenas
simuladores em menor escala que devem ser substituídos por equipamentos
eletroeletrônicos com as devidas proporções e que todas as residências já possuem, o
valor é consideravelmente baixo para se automatizar uma residência, comparado aos
dispendiosos projetos de empresas do ramo.
Tabela 2: preços dos materiais utilizados na montagem do protótipo
Material
Quantidade
Valor unitário
Valor total
Cooler 12X12
2 un
R$ 20,00
R$ 40,00
Transistor TIP 122
1 un
R$ 1,00
R$ 1,00
Teclado 3X4
1 un
R$ 12,00
R$ 12,00
PIC 16F877
1 un
R$ 33,00
R$ 33,00
Resistores diversos
13 un
R$ 0,10
R$ 1,30
Display LCD
11. 2 un
R$ 35,70
R$ 71,40
Trimpot 10K
1 un
R$ 2,00
R$ 2,00
Inversor ULN2003
1 un
R$ 1,80
R$ 1,80
Motor de passo
1 un
R$ 15,00
R$ 15,00
Relé 5V
1 un
R$ 3,00
R$ 3,00
Secador de cabelos
1 un
R$ 25,00
R$ 25,00
Diodo 1N4007
2 un
R$ 0,10
R$ 0,20
Placa conversora USB
1 un
R$ 130,00
R$ 130,00
Botão
2 un
R$ 0,50
R$ 1,00
Sensor LM35
1 un
R$ 5,50
R$ 5,50
Fios
10m
R$ 1,00
R$ 10,00
Cristal 10MHz
1 un
R$ 3,50
R$ 3,50
Protoboard
1 un
R$ 73,80
R$ 73,80
Gravador de PIC USB
1 un
R$ 120,00
R$ 120,00
Diodo emissor de luz
1 un
R$ 2,50
R$ 2,50
Cabo USB
1 un
R$ 5,00
R$ 5,00
Caixa de madeira
1 un
R$ 10,00
R$ 10,00
12. Fontes 5Vcc e 12Vcc
2 un
R$ 20,00
R$ 40,00
Capacitores diversos
3 un
R$ 0,70
R$ 2,10
Receptor e emissor (par)
2 un
R$ 1,70
R$ 3,40
TOTAL
R$ 612,50
7. Conclusão
O controle automático de dispositivos já não é mais um sonho ou privilégio de poucos,
pois sistemas de automação residencial estão sendo amplamente utilizados em países
mais desenvolvidos. Com o avanço nos estudos, o desenvolvimento de trabalhos nesta
área e a constante evolução tecnológica, este tipo de sistema tornar-se-á mais acessível à
população tanto pelos custos quanto pela divulgação de seus benefícios.
Neste trabalho, as qualidades como baixo custo, facilidade de controle e
monitoramento através de qualquer computador com USB e internet, conforto,
segurança e economia que proporciona, podem tornar ainda mais popular este tipo de
tecnologia.
Algumas características que podem ser destacadas como diferenciais em relação
aos demais trabalhos encontrados na literatura são: independência da conexão com o
servidor para o funcionamento correto do hardware no ambiente, conexão comum pela
porta USB, controle e monitoramento de equipamentos elétricos e eletrônicos através da
web ou por sensores e atuadores, geração de logs para controles futuros, diversidade de
dispositivos e arquitetura expansível. Sendo todas elas em um mesmo projeto.
Há infinitas possibilidades de trabalhos futuros com base neste sistema, pois a
diversidade de dispositivos que podem ser adicionados e o número de módulos
existentes é muito amplo, ainda mais com o avanço tecnológico que existe atualmente.
Este trabalho limitou-se apenas a mostrar na prática que é possível fazer muitas
coisas dentro da automação residencial, porém em proporção muito pequena e didática.
Que futuramente pode tornar-se o ponto inicial para a aplicação real em uma residência.
Vários dispositivos podem ser estudados e adicionados, como conexão via
celular, integração com câmeras, sistemas de alarme e incêndio, hardware sem fio
(wireless), biometria, irrigação, entre outros diversos.
Espera-se agora, que assim como neste trabalho, outras pessoas também se
interessem pela área e estudem mais a fundo, integrando computação, elétrica e
eletrônica, e desta forma adquirindo conhecimento e pondo em prática idéias
inovadoras, que são um benefício tanto para quem faz, quanto para quem utiliza.
Referências Bibliográficas
Arroyo, A. & Santos, F. (2002). Programação para WEB utilizando PHP.
UNICAMP, Centro de Computação, Campinas.
Aureside (2008). Projeto de Interiores e Automação. Disponível em: <http://www.
aureside.org.br/artigos/default.asp?file=01.asp&id=72>. Abril.
Condurú, R. T. & Freitas, K. L. M. (2006). Controlador de relés utilizando a porta
USB. UNAMA, Ciência da Computação, Belém. (Trabalho de Conclusão de Curso).
Coruja, E. J. (2005) Solução para controle unificado num projeto de automação
residencial. ULBRA, Ciência da Computação, Gravataí. (Trabalho de Conclusão de
13. Curso).
Ferreira, R. S. (2008) Introdução a Microcontroladores. Disponível em: <http://www.
dpi.ufv.br/graduacao_disciplinas.php>. Abril.
Gentilini, M. M. (2006) Automação residencial através da rede elétrica. UFRGS,
Engenharia Elétrica, Porto Alegre. (Trabalho de conclusão de curso).
Leite, F. R. (2006) Sistema de automação residencial. UFRGS, Engenharia Elétrica,
Porto Alegre. (Trabalho de conclusão de curso).
Maldonado, E.P. (2008). Computadores & Programação. Disponível em: <http://puig.
pro.br/programming/Programming.jsp?Slide=7>. Novembro.
Marte, C. L. (1995) Automação predial: a inteligência distribuída nas
edificações. São Paulo, Carthago & Forte.
Messias, A. R. (2008). Controle de motor de passo via USB usando o FT232BM no
modo bit-bang. Disponível em: <http://www.rogercom.com.br/PortaUSB/
MotorPasso.htm>. Novembro.
Miyagi, P. L. (1983) Domótica: controle e automação. Córdoba, EBAI.
Moraes, C. C. & CASTRUCCI, P. L. (2001) Engenharia de automação
industrial. Rio de Janeiro, LTC.
Perozzo, R. F. & Pereira, C.E. (2007)“Ambientes inteligentes: uma arquitetura para
cenários de automação predial/residencial baseadas em experiências”. In:
Encontro de TI e Comunicação na Construção Civil, POA, 7f.
Santos, H. J. (1997). Curso de linguagem C. UNISANTOS, Engenharia da
Computação, Santos. (Curso de Linguagem C da UFMG).
Scherer, C. C. C. (2006) Desenvolvimento de um sistema para Domótica. ULBRA,
Sistemas de Informação, Canoas. (Trabalho de Conclusão de Curso).
Teza, V. R. (2002) Alguns aspectos sobre a automação residencial - Domótica.
UFSC, Ciência da Computação, Florianópolis. (Dissertação de Mestrado).
Venturi, E. (2005) Protótipo de um Sistema para Controle e Monitoração
residencial através de dispositivos móveis utilizando a plataforma .net. URB,
Ciência da Computação, Blumenau.(Trabalho de conclusão de curso).
Weber, C. (2005) Automação residencial - protótipo de controle residencial.
ULBRA, Ciência da Computação, Gravataí. (Trabalho de Conclusão de Curso).