View
0
Download
0
Category
Preview:
Citation preview
1
INSTITUTO LUTERANO DE ENSINO SUPERIOR DE ITUMBIARA
SISTEMAS DE INFORMAÇÃO
PABLO VIEIRA DOS SANTOS
USO DAS TECNOLOGIAS ANDROID E ARDUINO NA CRIAÇÃO DE UM PROTÓTIPO
DE SISTEMA DE MONITORAMENTO DO CONSUMO DE ÁGUA EM RESIDÊNCIAS
Itumbiara
2015
2
PABLO VIEIRA DOS SANTOS
USO DAS TECNOLOGIAS ANDROID E ARDUINO NA CRIAÇÃO DE UM PROTÓTIPO
DE SISTEMA DE MONITORAMENTO DO CONSUMO DE ÁGUA EM RESIDÊNCIAS
Trabalho de Conclusão de Curso apresentado ao curso de
Sistemas de Informação do Instituto Luterano de Ensino
Superior de Itumbiara-GO ILES/Ulbra, como requisito
parcial para obtenção do título de Bacharel em Sistemas de
Informação.
Orientador: Prof. M.e André Bevilaqua.
Itumbiara
2015
3
PABLO VIEIRA DOS SANTOS
USO DAS TECNOLOGIAS ANDROID E ARDUINO NA CRIAÇÃO DE UM
PROTÓTIPO DE SISTEMA DE MONITORAMENTO DO CONSUMO DE ÁGUA EM
RESIDÊNCIAS
Trabalho de Conclusão de Curso apresentado ao curso de
Sistemas de Informação do Instituto Luterano de Ensino
Superior de Itumbiara/GO (ILES/Ulbra), como requisito
parcial para obtenção do título de Bacharel em Sistemas de
Informação.
Orientador: Prof. M.e André Bevilaqua.
Data de apresentação:______/______/______
Professor Mestre André Bevilaqua
Orientador e Professor do curso de Sistemas de Informação - ILES/Ulbra
Professor
Avaliador e Professor do curso de Sistemas de Informação - ILES/Ulbra
Professor
Avaliador e Professor do curso de Sistemas de Informação - ILES/Ulbra
4
Dedico este trabalho a Deus, por permitir que ele
fosse realizado, à minha família, que me motivou
e me deu suporte para ir além e buscar sempre
mais conhecimentos e ao meu professor André,
pela orientação e paciência.
5
Agradeço a Deus em primeiro lugar, por sempre a minha fonte de
forças nesta jornada, a minha avó, Vergilina, a minha mãe, Solange, e
as minhas tias Suelen, Ângela e Valdirene, que nunca mediram
esforços para que eu conseguisse chegar até aqui. Agradeço também
as pessoas que conheci durante esta etapa: ao Luan, que sempre ouviu
minhas preocupações, a Elisabeth, que esteve em muitos momentos
desse percurso, aos “Brunos” e o John Lennon, pelos momentos de
dificuldade partilhados ao longo do curso e ao meu orientador e
professor André, que me auxiliou neste trabalho compartilhando seus
conhecimentos e me instruindo a fazer sempre mais e melhor.
A todos vocês, o meu MUITO OBRIGADO!
6
"Somente após a última árvore ser cortada. Somente após o último rio ser envenenado.
Somente após o último peixe ser pescado. Somente então o homem descobrirá que o dinheiro
não pode ser comido."
Provérbio Cree
7
RESUMO
A crescente crise hídrica que amplamente vem sendo noticiada pela mídia nos últimos anos
não possui apenas como causa raiz a escassez de chuva. Especialistas afirmam que o
desperdício é um dos principais fatores que contribuem para os problemas referentes a falta de
água e, apesar de não ser o ambiente com a maior taxa de desperdício, as residências vem
ganhando atenção especial de programas dos governos que visam disseminar ideias de uso
racional desse precioso recurso. No contexto de economia, diversas ferramentas de automação
vêm surgindo nos últimos anos, entretanto com uma parcela ainda pequena de empresas que
criam suas ferramentas com o objetivo de fornecer meios para a economia de recursos nas
residências. É levando em conta estas informações que o presente projeto de conclusão de
curso apresenta como proposta um sistema de monitoramento do uso de água no ambiente
doméstico, utilizando o microcontrolador Arduino e um aplicativo Android, ambas as
ferramentas acessíveis e de código aberto. O objetivo é criar um protótipo de uma estação de
monitoramento que, acoplada em um ponto da residência possa mensurar a quantidade de
água gasta e trazer estes dados em forma de gráficos no aplicativo. Dessa forma, espera-se
oferecer um meio para auxiliar o consumidor no uso racional da água, apresentado
informações que facilitem a identificação de padrões de consumo e instigue o senso de
economia e combate ao desperdício. Para alcançar tal objetivo, será necessário o
levantamento de dados bibliográficos e de informações que embasem a proposta que é
apresentada.
Palavras Chave: Consumo de Água, Arduino, Android.
8
ABSTRACT
The growing water crisis that’s been broadly reported by media in the last years doesn’t have
just water shortage as principal cause. Specialists says the waste is one of the principal factors
that contribute to the lack of water and, while the residences aren’t the places with the major
tax of water waste, they have been acquiring government programs’ special attention these
aim to spread ideas about rational use of this precious resource. In economy context, various
automation tools have been emerging in the last years, but there is few companies creating
tools that are capable of providing saving of resource in residencies. With all those
information this present project of final examination presents as a proposal a monitoring
system of the water using in a domestic ambient, using the Arduino microcontroller and an
Android application, both of them are accessible and with open code. The objective is to
create a prototype of a monitoring station that, coupled to a residence point may measure the
quantity of water wasted and bring the data on the application with graphic forms. Thereby,
it’s expected to offer a device that is capable to help the consumer in rational use of water,
presenting informations about to facilitate the consumption patterns’ identification and
instigates the economy sense and engagement to reduce the waste. To achieve this goal, it will
be necessary the lifting of bibliographic data and informations that underlie the present
propose.
Keywords: Water Consume, Arduino, Android.
9
LISTA DE ILUSTRAÇÕES
Figura 1 - Arduino Uno ............................................................................................................ 23
Figura 2 - Resumo da Placa Arduino Uno ................................................................................ 26
Figura 3 - Resumo da Placa Arduino Mega 2560 .................................................................... 27
Figura 4 - Arduino Due ............................................................................................................ 28
Figura 5 - Arduino Nano .......................................................................................................... 28
Figura 6 - Arduino Software (IDE) .......................................................................................... 30
Figura 7 - Arquitetura do Android ............................................................................................ 33
Figura 8 - Android Studio (IDE) .............................................................................................. 36
Figura 9 - AVD Manager.......................................................................................................... 36
Figura 10 - Modelo de Tecnologia em Camadas ...................................................................... 38
Figura 11 - Modelo Cascata ..................................................................................................... 39
Figura 12 - Modelo de Prototipagem ........................................................................................ 40
Figura 13 - Montagem do Projeto e Instalação para Testes (McNally).................................... 42
Figura 14 - Montagem do Projeto e Instalação para Testes (Miguel) ...................................... 43
Figura 15 - Montagem do Projeto e Instalação para Testes (Beemiller) .................................. 44
Figura 16 - Esquema do Projeto (Yano et. al.) ......................................................................... 45
Figura 17 - Montagem do Projeto e Instalação para Testes (Suresh et. al.) ............................. 46
Figura 18 - Funcionamento do Sensor de Efeito Hall .............................................................. 49
Figura 19 - Modelagem do Protótipo (Hardware) .................................................................... 50
Figura 20 - Diagrama de Caso de Uso do Aplicativo ............................................................... 52
Figura 21 - Fluxograma com as Atividades do Protótipo (Hardware e Software) ................... 55
Figura 22 - Locais de Instalação do Protótipo ......................................................................... 57
Figura 23 - Telas de Splash e Principal .................................................................................... 58
Figura 24 - Telas Sincronizar e Cadastrar Tarifa ..................................................................... 59
Figura 25 - Telas de Gráficos e Resumo .................................................................................. 60
Figura 26 - Tela Gráfico de Consumo (Lavadora de Roupas) ................................................. 62
Figura 27 - Tela Gráfico de Consumo (Vaso Sanitário) ........................................................... 63
Figura 28 - Tela Gráfico de Consumo (Pia do Banheiro)......................................................... 64
Figura 29 - Tela de Resumo ..................................................................................................... 65
Figura 30 - Fatura de Água ....................................................................................................... 65
Figura 31 - Fatura x Protótipo .................................................................................................. 66
10
Figura 32 - Proporção do Consumo .......................................................................................... 67
11
LISTA DE TABELAS
Tabela 1 - Placas Arduino e suas especificações ...................................................................... 24
Tabela 2 - Trabalhos Correlatos: Monitoramento de Energia .................................................. 47
Tabela 3 - Trabalhos Correlatos: Monitoramento de Água/Líquidos....................................... 47
Tabela 4 - Custo dos Materiais Utilizados ............................................................................... 49
Tabela 5 - Caso de Uso: Cadastrar Tarifa................................................................................. 52
Tabela 6 - Caso de Uso: Solicitar Sincronização dos Dados .................................................... 52
Tabela 7 - Caso de Uso: Visualizar Gráficos de Consumo ...................................................... 53
Tabela 8 - Caso de Uso: Visualizar Gráficos de Comparação ................................................. 53
Tabela 9 - Caso de Uso: Consultar o Resumo dos Gastos ....................................................... 53
Tabela 10 - Determinação do Coeficiente ................................................................................ 56
Tabela 11 - Dicionário de Dados (Tabela Consumo) ............................................................... 60
Tabela 12 - Dicionário de Dados (Tabela Leitura) ................................................................... 61
12
LISTA DE ABREVIATURAS
ONU Organização das Nações Unidas
PURA Programa de Uso Racional da Água
IDE Integrated Development Environment
AURESIDE Associação Brasileira de Automação Residencial
E/S Entrada e Saída
USB Universal Serial Bus
V Volts
MHz Mega Hertz
CPU Central Processing Unit
SRAM Static Random Access Memory
KB Kilobyte
EEPROM Electrically-Erasable Programmable Read-Only Memory
LED Light Emitting Diode
ARM Advanced RISC Machine
SPI Serial Peripheral Interface
GSM Groupe Special Mobile
GPRS General Packet Radio Services
SIM Subscriber Identity Module
Wi-Fi Wireless Fidelity
SD Secure Digital
LCD Liquid Crystal Display
TFT Thin-Film Transistor
SO Sistema Operacional
Inc Incorporation
OHA Open Handset Alliance
HTC High Tech Computer Corporation
API Application Programming Interface
OpenGL Open Graphics Library
JVM Java Virtual Machine
RAM Random-Access Memory
SDK Software Development Kit
13
APK Android Package File
AVD Android Virtual Device
HAXM Hardware Accelerated Execution
GPS Global Positioning System
kWh KiloWatt Por Hora
SMS Short Message Service
WEB World Wide Web
ANA Agência Nacional das Águas
TI Tecnologia da Informação
FGV Fundação Getúlio Vargas
IDC International Data Corporation
ONG’s Organizações Não Governamentais
TCP/IP Transmission Control Protocol/Internet Protocol
14
SUMÁRIO
1. CAPITULO I – INTRODUÇÃO .......... .............................................................................16
1.1 – Objetivos e Justificativas ............................................................................................. 17
1.2 – Material e Métodos ..................................................................................................... 18
1.3 – Organização do Trabalho............................................................................................. 19
2. CAPITULO II – EMBASAMENTO TEÓRICO ............................................................. 20
2.1 – Automação Residencial ............................................................................................... 20
2.1.1 – Breve Histórico e Atualidade .......................................................................... 20
2.1.2 – Consumo de Recursos ..................................................................................... 21
2.2 – Arduino ........................................................................................................................ 22
2.2.1 – Breve Histórico e Atualidade .......................................................................... 24
2.2.2 – Placas (Boards) ................................................................................................ 25
2.2.2.1 – Arduino Uno ..................................................................................... 25
2.2.2.2 – Arduino Mega 2560 .......................................................................... 26
2.2.2.3 – Arduino Due ..................................................................................... 27
2.2.2.4 – Arduino Nano ................................................................................... 28
2.2.3 – Shields ............................................................................................................. 29
2.2.4 – Ambiente de Desenvolvimento Integrado (IDE) ............................................. 29
2.2.4.1 – Linguagem de Programação Arduino ............................................... 30
2.2.4.1.1 – Funções no Arduino ....................................................... 31
2.2.4.1.2 – Bibliotecas ...................................................................... 31
2.3 – Android ........................................................................................................................ 32
2.3.1 – Breve Histórico e Atualidade .......................................................................... 33
2.3.2 – Arquitetura do Sistema Operacional................................................................ 33
2.3.2.1 – Camadas da Arquitetura ................................................................... 34
2.3.3 – Ambiente de Desenvolvimento Integrado (IDE) ............................................. 35
2.3.3.1 – Dispositivo Virtual Android ............................................................. 36
2.4 – Engenharia de Software ............................................................................................... 37
2.4.1 – Processos de Software ..................................................................................... 38
2.4.1.1 – Modelos de Processos de Software .................................................. 38
2.4.1.1.1 – Modelo Cascata .............................................................. 39
2.4.1.1.2 – Modelo de Prototipagem ................................................ 40
3. CAPITULO III – TRABALHOS CORRELATOS ......................................................... 41
3.1 – Medidor de Energia Wireless Usando Arduino ........................................................... 41
3.2 – Medidor de Consumo de Energia Elétrica com Arduino e Envio via GPRS .............. 42
3.3 – Controle do Fornecimento de Água com Monitoramento do Uso Anormal ............... 43
3.4 – Monitoramento do Consumo de Água em Torneiras .................................................. 44
3.5 – Monitoramento e Controle de Fluxo de Líquidos ........................................................ 45
3.5 – Conclusão do Capítulo................................................................................................. 46
4. CAPITULO IV – PROPOSTA .......................................................................................... 48
4.1 – De Hardware ................................................................................................................ 49
4.2 – De Software ................................................................................................................. 50
4.2 – Conclusão do Capítulo................................................................................................. 54
5. CAPITULO V – DESENVOLVIMENTO ........................................................................ 56
5.1 – De Hardware ................................................................................................................ 56
5.2 – De Software ................................................................................................................. 58
5.2 – Conclusão do Capítulo................................................................................................. 61
6. CAPITULO VI – ANÁLISE DOS RESULTADOS ........................................................ 62
15
7. CAPITULO VII - CONCLUSÃO ..................................................................................... 68
7.1 – Trabalhos Futuros ........................................................................................................ 69
8. REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................. 70
16
1. INTRODUÇÃO
Segundo estatísticas da Organização das Nações Unidas (ONU), menos de 3% do
volume de água do mundo é potável, e a maior parte desse valor, cerca de 80%, está
concentrado nas geleiras. A ONU prevê que até 2030 a população mundial irá precisar de
40% a mais de água, tornando este um dos desafios globais mais iminentes, segundo o
secretário-geral da Organização Meteorológica Global e membro da ONU-Água Michel
Jarraud (apud VERDÉLIO, 2014).
O Brasil possui grande parte dessa água doce, mas é grande também a quantidade
desperdiçada no país. Apesar de não ser a principal fonte de desperdício, o consumo irracional
da água no ambiente doméstico deve ser repensado. Para o gestor do programa PURA
(Programa de Uso Racional da Água) Ricardo Chahin, uma das principais etapas para auxiliar
os consumidores no uso irracional da água é a identificação da necessidade de se economizar
e dessa forma, mostrar os fatores positivos gerados pelo uso racional desse recurso (GLOBO,
2013).
Neste contexto, a Automação Residencial pode ser utilizada como aliada na
economia de recursos, como energia e água. Bolzani (2010) explica que o conceito de
automação residencial surgiu em meados do século XX para auxiliar nas tarefas domésticas,
poucas décadas depois que as casas começaram a possuir energia elétrica. Entretanto
Bortoluzzi (2013) complementa dizendo que o marco inicial só ocorreu na década de 80 nos
EUA, quando os primeiros módulos inteligentes surgiram, permitindo assim o controle de
dispositivos sem a necessidade de grandes alterações na infraestrutura elétrica da residência.
Nos dias atuais, existem diversos sistemas que permitem vários tipos de
automação nas residências. Azid (2011, apud Treter et. al., 2015) explica que, em virtude dos
benefícios, sistemas deste tipo tem se tornado cada vez mais conhecidos e utilizados no
mercado internacional. Mas, apesar desses benefícios, o alto custo que os sistemas de
automação residencial possuem ainda inviabiliza o acesso à maioria das residências.
De acordo com Euzébio e Mello (2011), tais sistemas são normalmente
constituídos de controlador de dispositivo, servidor central e interface de controle, onde os
controladores de dispositivos ficam responsáveis pela execução dos comandos de automação;
o servidor central, pela comunicação entre o controlador e a interface; e a interface de
controle, responsável pela forma como os comandos são enviados/visualizados, que podem
ser por aplicativos ou paginas web, por exemplo.
17
A realidade da construção de sistemas na área de automação residencial que
utilizam sistemas embarcados possibilitou grande avanço desta área. Cunha (2007) explica
que os sistemas embarcados podem ser definidos como circuitos integrados que possuem
capacidade computacional e que esses sistemas visam otimizar ações, reduzir custos e
tamanho das placas utilizadas. Seu funcionamento pode levar em conta comandos ou ações do
ambiente externo.
Em sua maioria, os sistemas de automação oferecidos pelas empresas, se
concentram em soluções que facilitam a execução de tarefas e aparelhos, como por exemplo,
soluções para controle de cortinas, lâmpadas e eletrodomésticos e sistemas de segurança
(TERUEL & NOVELLI, 2007). Poucas empresas se concentram de fato em soluções que
visam oferecer caminhos para a economia de recursos dentro das residências.
Pensando nisso, este trabalho de conclusão de curso usa como base os conceitos
de automação e traz a proposta da criação de um protótipo de sistema para o monitoramento
do consumo de água no ambiente doméstico utilizando a plataforma de prototipagem
eletrônica open-source Arduino e um aplicativo Android para gerenciar o sistema e processar
os dados. Tal protótipo deverá monitorar o consumo de água em alguns pontos escolhidos da
residência e apresentar os valores consumidos em forma de gráficos no aplicativo,
pretendendo assim auxiliar o usuário no consumo racional.
1.1 – Objetivos e Justificativas
Como objetivo geral, este trabalho propõe a criação de um protótipo de sistema
que possa monitorar a quantidade de água consumida em um determinado ponto da residência
e com isso, apresentar tais dados em gráficos e traçar comparativos com os valores reais da
fatura em um aplicativo para smartphone, facilitando assim a percepção de padrões de
consumo por parte do usuário e oferecendo caminhos para que, por meio da análise de dados,
o consumidor possa repensar seus hábitos de consumo.
Para que seja possível alcançar tal objetivo, será necessário o levantamento de
dados bibliográficos e de informações que possibilitem o entendimento do assunto e
endossem o que aqui é proposto. A utilização do Arduino se dá pelo excelente custo-benefício
e a criação do aplicativo Android tem como finalidade fornecer um ambiente amigável para
que o usuário possa verificar as informações de consumo, facilitando assim a compreensão
dos mesmos.
18
A crescente escassez de recursos e o avanço tecnológico são os tópicos principais
que justificam a realização deste trabalho. O primeiro, pelo conhecido fato de consumo
desenfreado de água por parte da população. E o segundo, por possibilitar que novas
tecnologias cheguem a uma grande parcela da população a preços acessíveis, possibilitando a
criação de ferramentas para auxiliar na economia.
Existem diversas situações no cotidiano doméstico que, com o auxilio de
tecnologias como o Arduino, possibilitariam caminhos para o uso racional da água nestes
ambientes. Como é o caso de trabalhos como o de Beemiller (2012) que mostra o
desenvolvimento de uma ferramenta que utiliza o referido microcontrolador para criar um
sistema capaz de monitorar o consumo de água e identificar um padrão de consumo e quando
esse padrão é alterado de forma drástica, ou seja, caso o sistema identifique um uso fora do
normal, em um vazamento, por exemplo, ele interrompe o fornecimento de água para a
residência. Outro trabalho que busca fornecer caminhos para a economia de água é o de Yano
et. al. (2014), que se propôs a desenvolver um sistema para monitorar o consumo de
diferentes tipos de torneiras e identificar qual delas possui uma maior eficiência no gasto,
podendo auxiliar assim na escolha de uma modelo mais econômico.
1.2 – Material e Métodos
Para viabilizar a realização deste trabalho, se faz necessária uma extensa pesquisa
bibliográfica sobre o tema. Diversos materiais em diferentes meios como livros, periódicos,
dissertações, jornais e outros, serão de vital importância para a obtenção das informações
apresentadas. Para Marconi e Lakatos (2003) este tipo de pesquisa tem por finalidade “colocar
o pesquisador em contato direto com tudo o que foi escrito, dito ou filmado sobre
determinado assunto” e envolve todo tipo de material bibliográfico que aborda o tema de
estudo.
Também para a pesquisa, será utilizada a abordagem quantitativa que, segundo
Creswell (2010), é uma abordagem que envolve “os processos de coleta, análise, interpretação
e redação dos resultados de um estudo”. Com relação à natureza, este trabalho pode ser
classificado como de natureza aplicada, uma vez que busca extrair informações através de
aplicação prática. Barros e Lehfeld (2000 P. 78, apud VILAÇA 2010) explicam que a
pesquisa aplicada se motiva na necessidade de produzir conhecimento para aplicação de
resultados e que seu objetivo é a contribuição para fins práticos, visando à solução mais ou
menos imediata do problema.
19
A codificação (denominada de sketch) do protótipo da estação de monitoramento
será feita na própria IDE (Integrated Development Environment, em português: Ambiente
Integrado de Desenvolvimento) do Arduino. E a implementação do aplicativo será feita na
plataforma Android, usando para isso a IDE Android Studio, que é a ferramenta oficial para o
desenvolvimento de aplicações para a plataforma.
Para o desenvolvimento do sistema será utilizado o modelo de prototipagem, visto
que será criada uma versão inicial do aplicativo (um protótipo) para a realização dos testes
iniciais e coletas de dados. Pressman (2006) define o modelo de prototipação como um tipo
de processo que possibilita que o desenvolvedor crie um modelo inicial do que será o
software no futuro.
1.3 – Organização do Trabalho
O trabalho é dividido em 7 capítulos, onde: no capitulo 2 serão apresentadas as
principais bases teóricas utilizadas no projeto de pesquisa, abordando os conceitos e
tecnologias que serão empregadas no desenvolvimento do protótipo proposto.
No capitulo 3 serão explicados e detalhados trabalhos que possuem alguma
relação com o presente projeto, elucidando os seus objetivos e respectivos resultados.
O capitulo 4 descreve toda a proposta deste trabalho, explicando os objetivos que
espera-se alcançar bem como as funcionalidades que o protótipo deverá possuir após
construído.
O capitulo 5 cita todas as etapas de desenvolvimento do protótipo da estação e
monitoramento e do aplicativo, mostrando os testes, as instalações para coleta de dados e a
interface do aplicativo, com a explicação detalhada das funções apresentadas.
O capitulo 6 apresenta a análise dos resultados que foram obtidos após todo o
período de coleta de dados. São apresentados neste capítulo os valores mensurados pelo
protótipo e um comparativo entre estes valores e os de uma fatura real.
E por fim, o capitulo 7 traz as considerações finais do projeto e descreve os
trabalhos e perspectivas futuras.
20
2. EMBASAMENTO TEÓRICO
Neste capitulo será apresentado todo o embasamento teórico obtido através de
uma extensa pesquisa bibliográfica, com o intuito de introduzir informações sobre conceitos e
tecnologias que estão abordadas no decorrer deste trabalho.
2.1 – Automação Residencial
A Automação Residencial visa reduzir a necessidade de intervenção humana em
atividades domésticas e para isso se utiliza de sistemas que controlam e gerenciam
equipamentos presentes neste meio. Diversas informações sobre o ambiente são coletadas
através de sensores e posteriormente analisadas através do sistema. Com essas análises é
possível tomar decisões que podem ser ações que produzam alguma modificação no ambiente
(BOLZANI, 2010).
2.1.1 – Breve Histórico e Atualidade
A AURESIDE (Associação Brasileira de Automação Residencial e Predial, 2012)
explica que os sistemas de automação residencial só vieram anos depois dos sistemas de
automação comercial e industrial, por razões de economia e escala de produção. As empresas
que produziam tais sistemas buscavam retorno rápido do investimento e isso, na época,
somente as grandes companhias poderiam propiciar. Sobre a cronologia dos acontecimentos, a
AURESIDE (2012) ainda diz:
Consolidada a automação industrial, o comércio foi em seguida contemplado com
sua automação que até hoje vem evoluindo, principalmente com o rápido avanço da
informática (vide, por exemplo, a utilização intensiva dos códigos de barra) e os
softwares de supervisão e gerenciamento apresentam aspectos de grande
sofisticação. Lojas de departamento, supermercados, hotéis, hospitais, entre outros,
têm sua operação totalmente integrada, incluindo sua logística, vendas, finanças, etc.
Até mesmo o pequeno comércio e prestadores de serviço utilizam-se dos benefícios
da automação. Da mesma maneira, surgiram os chamados "prédios inteligentes",
notadamente aqueles voltados ao uso comercial; seus sistemas automatizados
privilegiam as últimas tecnologias no campo de telecomunicações, ar condicionado,
segurança predial e controle de acesso (AURESIDE, 2012).
O inicio de projetos de médio e pequeno porte, com características comerciais e
residenciais, surgiu na década de 80 quando se começou a desenvolver sistemas de automação
predial, por empresas como X-10 Corp e Leviton. Em 1996, estas empresas já haviam
21
alcançado a marca de mais de 4 milhões de prédios e casas que possuíam seus sistemas. O
surgimento da internet, as grandes possibilidades geradas pelo uso do computador pessoal e a
redução dos custos de hardware trouxeram uma nova cultura para a sociedade, o que foi
amplamente aproveitado por essas empresas na criação de seus sistemas (BOLZANI, 2004).
Bolzani (2004) explica que o comportamento cotidiano vem modificando devido
ao grande avanço dos computadores e tecnologias similares. A revolução da automação
residencial se deu pelo fato de possibilitar a comunicação entre os vários dispositivos da casa
e mais, poder controlá-los remotamente, poupando tempo com atividades rotineiras,
economizando energia e gastos e aumentando o conforto dos habitantes. Sgarbi (2007)
completa dizendo que além dos avanços tecnológicos, a crescente busca da sociedade por
segurança e conforto, também auxiliaram para que cada vez mais e melhores sistemas de
automação residencial sejam criados.
O fator principal na concepção de um projeto de automação residencial é o
planejamento do sistema de informação. Para Bolzani (2004) é através da estimativa de como
ele será que se pode prever como se dará o comportamento dos aspectos da automação como,
por exemplo, a integração e a interoperabilidade das novas tecnologias com a residência.
A automação residencial precisa fazer uso de interfaces que sejam amigáveis, pois
os usuários de tais sistemas procuram facilidade de operação e simplicidade de comandos.
Errar neste ponto pode comprometer toda a qualidade final, mesmo que o trabalho esteja
“tecnicamente perfeito” (AURESIDE, 2012).
Segundo a AURESIDE (2012) entre os anos de 2008 e 2012 o crescimento do
mercado de Automação Residencial no Brasil havia sido de mais de 300%. De acordo com a
associação, em 2012 já existam mais de 300 mil residências no país com algum tipo de
sistema de automação. Só naquele ano, o faturamento das empresas do segmento foi de R$ 4
milhões, com expectativa de crescimento de 30% ao ano.
2.1.2 – Consumo de Recursos
Diante da necessidade de preservação dos recursos naturais e da redução do
consumo para a preservação do meio ambiente, a Automação Residencial presta-se
como uma ótima ferramenta, pois além de agregar os benefícios já conhecidos,
como segurança e conforto, colaboram com a redução e o controle do consumo de
energia em equipamentos utilizados para climatização, controles de iluminação,
aquecimento de água, entre outros (AURESIDE, 2012).
A Aureside (2012) explica que boas soluções que colaborem para a eficiência
energética e o conforto ambiental necessitam de um bom projeto arquitetônico, que consiga
tirar ao máximo proveito das condições naturais, como a iluminação natural, por exemplo,
22
para só depois integrar soluções eficientes e automatizadas. Além da gestão energética, a de
água também pode ter benefícios através da Automação Residencial, como por exemplo, o
monitoramento e controle de sistemas de irrigação de jardins ou até mesmo sistemas de
captação de água da chuva.
A Aureside (2012) ainda explica que apesar de apesar destes sistemas
necessitarem de energia para o funcionamento, os ganhos apresentados poderão ser bem
maiores. Além disso é possível a utilização de fontes renováveis de energia, como a eólica e a
solar, tornando assim o projeto mais sustentável.
O aumento da demanda por sistemas de automação residencial tem favorecido a
queda dos preços. Segundo Tremel (2013), da Folha de São Paulo, uma das estratégias é
conquistar o consumidor focando exatamente no ponto do consumo de recursos: “Mais que
um recurso high-tech de fazer inveja aos amigos, o segmento vê a gestão de energia como
motivo concreto para o desenvolvimento de ‘casas inteligentes’”.
2.2 – Arduino
Para a criação de projetos de automação residencial, diversos microcontroladores
e placas programáveis podem ser utilizadas. Tendo em vista o contexto ao qual este projeto se
encaixa, o Arduino torna-se a escolha mais viável em decorrência da sua relação custo-
benefício.
O Arduino pode ser definido como uma “plataforma de computação física ou
embarcada”, pois é um dispositivo (hardware) com um sistema (software) que interage com o
ambiente (MCROBERTS, 2011). Basicamente ele é formado por dois componentes, que são a
placa Arduino e a IDE (Integrated Development Environment – Ambiente de
Desenvolvimento Integrado). O primeiro é o elemento de hardware que é utilizado na
construção dos projetos. Já o segundo é o elemento de software, o ambiente onde é escrito o
código fonte da aplicação, conhecido como sketch (BANZI, 2012). A placa Arduino Uno é
mostrada na Figura 1.
O Arduino pode ser definido como uma plataforma de computação física, uma vez
que possibilita a construção de objetos interativos que conseguem, através de sensores, se
comunicarem com pessoas e com o ambiente. E também pode ser considerado uma
plataforma embarcada, pois os seus atuadores, utilizados para interagir com o local, são
controlados através de sistemas embarcados em um microcontrolador (BANZI, 2012).
23
Figura 1 – Arduino Uno.
Fonte: Adaptado de MCROBERTS (2011).
Banzi (2012) ainda explica que o microcontrolador é o que possibilita que o
sistema embarcado funcione. Ele é constituído basicamente pelo processador, memória e
interfaces de E/S (Entrada e Saída), dentro de um mesmo chip. Praticamente qualquer
equipamento eletrônico tem como base de seu funcionamento um sistema embarcado.
Existem diversas plataformas de microcontroladores disponíveis no mercado, mas
para a computação física, o Arduino é provavelmente o mais simples e intuitivo para se
trabalhar, visto que, além de possuir uma grande comunidade de desenvolvedores, ele foi
desde o começo projetado para ser simples, principalmente para iniciantes (ALLAN, 2011).
McRoberts (2011) completa dizendo:
A maior vantagem do Arduino sobre outras plataformas de desenvolvimento de
microcontroladores é a facilidade de sua utilização; pessoas que não são da área
técnica podem, rapidamente, aprender o básico e criar seus próprios projetos em um
intervalo de tempo relativamente curto. Artistas, mais especificamente, parecem
considerá-lo a forma perfeita de criar obras de arte interativas rapidamente, e sem
conhecimento especializado em eletrônica. Há uma grande comunidade de pessoas
utilizando Arduino, compartilhando seus códigos e diagramas de circuito para que
outros os copiem e modifiquem. A maioria dessa comunidade também está muito
disposta a auxiliar outros desenvolvedores (MCROBERTS, 2011).
Para Banzi (2012) os pontos que diferem o Arduino das outras plataformas
existentes são:
o Ambiente Multiplataforma (Windows, Mac e Linux);
o Pode ser programado através de cabo USB;
o Possui um hardware econômico em termos financeiros;
o É open-source, tanto de software como de hardware;
o Possui uma enorme comunidade de usuários ativos;
o É de uso fácil, ótimo para quem está iniciando com a plataforma.
24
Com o Arduino é possível criar diversos dispositivos que interajam com o
ambiente para automatizar tarefas e facilitar o dia a dia, usando para isso sensores conectados
em suas entradas e coletando dados para realizar ações.
Atualmente existe uma grande quantidade de placas Arduino. A Tabela 1 abaixo
mostra todas as placas oficiais existentes e suas principais especificações:
Tabela 1 – Placas Arduino e suas especificações.
Nome Microcontrolador
Tensão:
Funcionamento /
Entrada
CPU E/S
Analógica
E/S
Digital
SRAM
(KB)
EEPROM
(KB) USB
Uno ATmega328 5 V / 7-12 V 16MHz 6/0 14/6 2 1 Regular
Due ATSAM3X8E 3.3 V / 7-12 V 84MHz 12/2 54/12 96 - Micro
Leonardo ATmega32u4 5 V / 7-12 V 16MHz 12/0 20/7 2.5 1 Micro
Mega 2560 ATmega2560 5 V / 7-12 V 16MHz 16/0 54/15 8 4 Regular
Mega ADK ATmega2560 5 V / 7-12 V 16MHz 16/0 54/15 8 4 Regular
Micro ATmega32u4 5 V / 7-12 V 16MHz 12/0 20/7 2.5 1 Micro
Mini ATmega328 5 V / 7-9 V 16MHz 8/0 14/6 2 1 -
Nano ATmega328 5 V / 7-9 V 16MHz 8/0 14/6 1 1 Mini-B
Ethernet ATmega328 5 V / 7-12 V 16MHz 6/0 14/4 2 1 Regular
Esplora ATmega32u4 5 V / 7-12 V 16MHz - - 2.5 1 Micro
ArduinoBT ATmega328 5 V / 2.5-12 V 16MHz 6/0 14/6 2 1 -
Fio ATmega328P 3.3 V / 3.7-7 V 8MHz 8/0 14/6 2 1 Mini
Pro (168) ATmega168 3.3 V / 3.35-12V 8MHz 6/0 14/6 1 0,512 -
Pro (328) ATmega328 5 V / 5-12 V 16MHz 6/0 14/6 2 1 -
Pro Mini ATmega168 3.3 V / 3.35-12V 8MHz 6/0 14/6 1 0,512 -
LilyPad ATmega168V 2.7-5.5V/2.7-5V 8MHz 6/0 14/6 1 1 -
LilyPadUSB ATmega32u4 3.3 V / 3.8-5 V 8MHz 4/0 9/4 2.5 1 Micro
Lily Simple ATmega328 2.7-5.5V/2.7-5V 8MHz 4/0 9/4 2 1 -
SimpleSnap ATmega328 2.7-5.5V/2.7-5V 8MHz 4/0 9/4 2 1 -
Yun ATmega32u4 5V 16MHz 12/0 20/7 2.5 1 Micro
Fonte: Adaptado de <http://arduino.cc/en/Products.Compare>.
2.2.1 – Breve Histórico e Atualidade
A primeira placa protótipo foi criada na Itália em 2005 por um professor chamado
Massimo Banzi, que tinha o objetivo de ensinar eletrônica para seus alunos de Desing. Além
da tarefa de ensinar os alunos, Banzi enfrentava a dificuldade de encontrar algo barato e com
poder de computação suficiente para comportar os projetos que tinha em mente. Com ajuda de
alguns parceiros, eles criaram um produto feito com peças de baixo custo e fáceis de serem
encontradas, com hardware e software de licença livre (KUSHNER, 2011). A palavra
Arduino se espalhou pela internet e a utilização da plataforma cresceu, e continua crescendo,
rapidamente.
O sucesso da plataforma foi tamanho, que em já em 2006 o Arduino foi premiado
com uma menção honrosa na categoria Comunidades Digitais, da Prix Ars Electronica e já
em 2008 foi alcançada a marca de mais de 50 mil placas vendidas.
25
2.2.2 – Placas (Boards)
O portal oficial do Arduino define a placa como uma ferramenta que consegue,
através da contribuição de vários sensores, sentir o ambiente e interagir com ele por meio do
controle de luzes, motores e outros atuadores (ARDUINO, 2013).
Além do modelo Uno, outros diversos modelos estão disponíveis no mercado,
tanto originais quanto os fabricados por empresas independentes. Cada modelo possui suas
particularidades e área de aplicação, com formatos e configurações de hardware diferentes.
Dentre os modelos disponíveis, é interessante destacar também as placas Arduino Mega 2560,
Arduino Due e Arduino Nano (SCHMIDT, 2011), que serão brevemente explicadas na
sequência:
2.2.2.1 – Arduino Uno
A Arduino Uno (mostrado na Figura 1 da sessão 2.2) é talvez a placa mais popular
e, sem dúvida, a mais indicada para os iniciantes. Ela, apesar de ser uma ferramenta simples
com um hardware modesto, possui várias características atrativas de projeto como, por
exemplo, a conectividade USB e a facilidade de programação (SOUZA, 2013).
Esta placa já está na terceira revisão e pode ser alimentada tanto por conexão
USB, quanto por uma fonte de alimentação externa de tensão de 6 à 20V, sendo o
recomendado entre 7 e 12V. Tem 14 pinos digitais para E/S e 6 pinos analógicos de entrada
(SCHMIDT, 2011) (SOUZA, 2013).
A interface USB para comunicação com o computador é feita pelo
microcontrolador Atmel ATmega16U2, que trabalha de forma transparente no funcionamento
da placa e permite a passagem dos sketchs para a memória interna. Ele também possui dois
leds acoplados para indicar a E/S de dados da placa para o computador, e a comunicação com
o componente principal da placa, o microcontrolador ATmega328, é feita através de uma
conexão serial (SOUZA, 2013). A Figura 2 mostra um resumo detalhado da placa Arduino
Uno.
Outro ponto positivo da Arduino Uno é o software de auto reset que vem junto
com o microcontrolador. Diferente das placas antigas, que exigiam que o reset fosse feito de
forma manual antes de se fazer upload dos sketchs para a memória interna, a Uno foi
desenvolvida para que, ao fazer upload do código pelo Arduino Software (IDE), os
26
microcontroladores se comuniquem e o reset seja feito de forma automática, sem a
necessidade de se pressionar o botão de reset (ARDUINO, 2013).
Figura 2 – Resumo da Placa Arduino Uno.
Fonte: <http://www.embarcados.com.br/arduino-uno/>.
2.2.2.2 – Arduino Mega 2560
A Arduino Mega 2560 (Figura 3) é uma placa bem mais complexa e poderosa que
o modelo Uno. Ela possui 54 pinos de E/S digital, 16 entradas analógicas e 4 portas de
comunicação serial, ideal para projetos maiores que necessitam de muitos pinos de E/S.
Possui uma memória maior que a Arduino Uno e seu componente principal é o
microcontrolador ATmega2560. Sua alimentação também pode ser feita por conexão USB ou
por fonte externa com tensão recomendada entre 7 e 12V (SOUZA, 2014).
Para comunicação com o computador, a interface USB é feita também pelo
microcontrolador Atmel ATmega16U2, com um funcionamento igual ao do modelo Uno. O
microcontrolador ATmega2560 possui arquitetura de 8 bits, além de mais memória e maior
quantidade de recursos que o ATmega328. Ela é satisfatória para a expansão de projetos e já
contêm tudo o que o microprocessador necessita, bastando conectar ao computador com o
USB ou a uma fonte de alimentação. A Mega 2560 possui compatibilidade com a maioria dos
recursos que foram originalmente desenhados para o modelo Uno (SOUZA, 2014)
(ARDUINO, 2013).
A placa Mega 2560 possui uma proteção adicional contra sobrecargas oriundas da
conexão USB. O seu fusível fornece uma camada de proteção extra que, ao receber uma
27
sobrecorrente maior que a suportada, encerra totalmente a conexão USB até que a sobrecarga
ou curto sejam removidos (ARDUINO, 2013).
Figura 3 – Resumo da Placa Arduino Mega 2560.
Fonte: <http://www.embarcados.com.br/arduino-mega-2560/>.
2.2.2.3 – Arduino Due
A Arduino Due (Figura 4) é a primeira placa da plataforma Arduino com
arquitetura de 32 bits. Seu componente principal é o microcontrolador Atmel SAM3X8E, e
possui uma arquitetura Cortex-M3 da ARM, que foi concebida para se ter registradores de 32
bits. Esta placa pode operar em uma frequência de até 84MHz, com mais memória flash e
SRAM que a Uno, tornando ela poderosa para grandes projetos e programas (LIMA,2014).
Esta placa possui 54 pinos digitais de E/S, 12 entradas de conversores analógicos-
digital e 2 conversores digital-analógicos, o que possibilita maior versatilidade nos projetos.
Ela possui duas portas USB, uma para ser usada no upload de códigos e a outra para a
conexão de periféricos, por exemplo. Além disso, esta placa possui 4 portas seriais e 1
barramento SPI (Serial Peripheral Interface), utilizando para comunicações seriais de alta
velocidade. Diferente da maioria das outras placas, a Due trabalha com tensão máxima de
3.3V, não sendo recomendada a inserção de pinos digitais com tensão acima de 3.6V, o que
pode danificar os componentes da placa (ARDUINO, 2013).
Outro fator muito interessante a ser destacado sobre esta placa é que, por possuir
núcleo Cortex, ela vem com um padrão chamado Debug da ARM, uma tecnologia que permite
a versatilidade na utilização do Arduino IDE. Com o ele, é possível a utilização da IDE para a
criação de ferramentas como o Atmel Studio, possibilitando o monitoramento das variáveis do
28
microcontrolador em tempo real, o que auxilia na descoberta de problemas no fimware
(LIMA,2014).
Figura 4 – Arduino Due.
Fonte: < http://arduino.cc/en/Main/ArduinoBoardDue>.
2.2.2.4 – Arduino Nano
A Arduino Nano (Figura 5) é uma pequena, porém completa plataforma da família
Arduino. Ele possui duas versões, a Nano 3x, baseado no microcontrolador ATmega328 e a
Nano 2x, baseado no ATmega168. A primeira versão possui grandes semelhanças com o
modelo Uno, as diferenças ficam pelo fato de possuir 2 entradas analógicas a mais e não
possuir fonte alimentação externa, sendo necessário a utilizando do cabo USB, que nesse caso
é um USB Mini-B (ARDUINO, 2013). O modelo Nano é indicado para projetos minimalistas
que disponham de pouco espaço para a sua implantação.
Figura 5 – Arduino Nano.
Fonte: <http://arduino.cc/en/Main/ArduinoBoardNano>.
29
2.2.3 – Shields
Segundo o portal do Arduino, shields são placas que podem ser acopladas a uma
placa Arduino com o intuito de estender as suas capacidades nativas. Os diferentes tipos de
shields existentes no mercado seguem o mesmo padrão Arduino, o que possibilita maior
facilidade na montagem, custos reduzidos e hardware e software open-source (ARDUINO,
2013). As shields normalmente são distribuídas com as suas bibliotecas, tornando a
programação bem menos complexa. Dentre as existentes, é importante destacar:
o Arduino Bluetooth Shield: usado para conectar o Arduino a um dispositivo equipado
com a tecnologia sem fio bluetooth;
o Arduino GSM Shield: usado para conectar o Arduino a uma rede sem fio GPRS,
utilizando para isso um cartão SIM;
o Arduino Ethernet Shield: usado para conectar o Arduino à internet através de um cabo
RJ45;
o Arduino Wi-Fi Shield: usado para conectar o Arduino a uma rede sem fio existente;
o Arduino Wireless SD Shield: usado para permitir que diferentes módulos Arduino se
comuniquem através de uma rede wireless;
o Arduino USB Host Shield: usado para permitir a conexão de dispositivos USB em uma
placa Arduino;
o Arduino Motor Shield: usado para conduzir cargas indutivas em dispositivos,
eletromecânicos ou não, como relés, solenoides e motores de passo; Entre diversos
outros originais e similares.
2.2.4 – Ambiente de Desenvolvimento Integrado (IDE)
O Arduino Software é uma IDE multiplataforma, com versões para Windows, Mac
OS e Linux. Foi escrita na linguagem de programação Java e baseada nos projetos Processing
e Wiring. Tendo sido projetada para pessoas que nunca tiveram contato com o
desenvolvimento de software, possui uma interface bastante intuitiva e amigável (ARDUINO,
2013) (SCHMIDT, 2011).
A Figura 6 mostra o Arduino Software, que é composto por um editor de texto,
utilizado para desenvolver os sketches; um console, para exibir mensagens; e a barra de
ferramentas, que exibe os principais botões e menus. Seu editor possui recursos como realce
de sintaxe, parênteses correspondentes e identação automática de código. A conexão com a
30
placa Arduino é feita de forma bastante simples e possibilita o carregamento dos programas
para a memória interna da placa com apenas um clique.
Figura 6 – Arduino Software (IDE).
Fonte: <http://www.embarcados.com.br/arduino-primeiros-passos/>.
A barra de ferramentas fornece atalhos para as principais funções através dos
botões Verificar, Carregar, Novo, Abrir, Salvar e Monitor Serial, que são responsáveis
respectivamente por: verificar se existe erro no código (sketch) digitado, compilar e gravar na
memória interna da placa, criar um novo sketch, abrir um sketch já existente, salvar o atual e
ativar a leitura da porta serial (ARDUINO, 2013).
2.2.4.1 – Linguagem de Programação Arduino
O microcontrolador na placa é programado com a linguagem de programação
Arduino, baseada na linguagem Wiring, e o ambiente de desenvolvimento Arduino,
baseado no ambiente Processing. Os projetos desenvolvidos com o Arduino podem
ser autônomos ou podem comunicar-se com um computador para a realização da
tarefa, com uso de software específico (ex: Flash, Processing, MaxMSP)
(ARDUINO, 2013).
A linguagem de programação Arduino é derivada da Wiring, que é basicamente
C/C++, permitindo assim a criação de funções simples de entrada e saída e funções
especificas para trabalhar com as portas do Arduino. Para obter um programa funcional, é
necessário que duas funções principais estejam presentes, são elas a setup() e a loop(), onde a
primeira é colocada no inicio e é usada para inicializar toda a configuração e a segunda é
usada na repetição de um bloco de comandos até que seja desligada (ARDUINO, 2013). As
principais funções são destacadas na seção seguinte.
31
2.2.4.1.1 – Funções no Arduino
As funções são sub-rotinas que executam uma determinada tarefa. O Arduino
possui diversas funções, dentre as quais é interessante destacar:
o pinMode(): Esta função é utilizada para configurar pinos no Arduino. Ela possui dois
parâmetros: o primeiro indica qual pino será configurado e o segundo, qual
configuração será atribuída a ele, que pode ser INPUT (entrada) ou OUTPUT (saída);
o digitalWrite(): Usada para alternar o valor de um pino, ou seja, passar um valor HIGH
(5V ou 1V) ou LOW (0V). Ela recebe um pino e atribui um dos dois valores a ele;
o digitalRead(): Usada para ler o valor de um pino e retornar HIGH ou LOW;
o AnalogRead(): Usada para ler pinos analógicos e auxiliar no mapeamento de
voltagens;
o AnalogWrite(): Usada para atribuir um valor analógico, que varia de 0 a 255, a um
pino. Ela possui dois parâmetros: o primeiro é o pino e o segundo o valor analógico
que devera ser atribuído a ele;
o Serial.begin(): Usada para ajustar a taxa de transferência de bits por segundo para se
fazer transmissão de dados pelo padrão serial;
o delay(): Usada para aguardar um certo tempo para a execução da próxima instrução.
Esta função possui um parâmetro que é um número que representará este tempo em
milissegundos.
As funções no Arduino são simples e objetivas, tornando mais fácil a
compreensão dos sketches desenvolvidos, mesmo para os iniciantes.
2.2.4.1.2 – Bibliotecas
De forma igual à maioria das plataformas de desenvolvimento, o ambiente
Arduino pode ser estendido e melhorado através da utilização de bibliotecas. Elas oferecem
funcionalidades extras para os sketches, como por exemplo, o trabalho com manipulação de
dados. O Arduino Software vem com um grande número de bibliotecas já instalado, mas
existe a possibilidade de importar ou de criar novas bibliotecas (ARDUINO, 2013).
Dentre as diversas bibliotecas existentes, é interessante destacar aquelas que são
padrões na plataforma, que são as seguintes:
o EEPROM: Usada na leitura e escrita para armazenamento “permanente”;
o Ethernet: Usada para conectar a internet pelo Arduino Ethernet Shield;
32
o Firmata: Usada para comunicação com os aplicativos no computador, através de um
protocolo serial padrão;
o GSM: Usada para conectar a rede GSM/GRPS pelo GSM Shield;
o LiquidCrystal: Usada para controlar telas de LCD;
o SD: Usada para leitura e escrita em cartões SD;
o Servo: Usada para controlar servo motores;
o SPI: Usada para comunicação entre dispositivos que utilizam barramento SPI;
o SoftwareSerial: Usada para comunicação serial em pinos digitais;
o Stepper: Usada para controlar motores de passos;
o TFT: Usada para o desenho de textos, imagens e formas na tela Arduino TFT;
o Wi-Fi: Usada para conexão wireless pelo Arduino Wi-Fi Shield;
o Wire: Usada para enviar e receber dados através de uma rede de dispositivos ou
sensores;
2.3 – Android
O Arduino possui uma variada gama de aplicabilidade e, como visto na seção
anterior, uma quantidade também muito grande de modelos, permitindo a criação de projetos
dos mais variados tipos. Sendo uma ótima plataforma para coletar dados, a sua associação
com outros dispositivos permite que os projetos se tornem ainda mais interessantes. Dessa
forma, tratar os dados obtidos com o auxílio do Arduino na plataforma Android representa
uma das formas de se criar projetos mais completos.
O Android é o Sistema Operacional (SO) móvel do Google Inc baseado em uma
versão Linux, mantido por um grupo composto de aproximadamente 80 empresas chamado
Open Handset Alliance (OHA), que se uniram com o intuito de acelerar o desenvolvimento de
novos aplicativos e serviços para tornar o sistema mais rico em recursos e menos custoso em
termos financeiros. É um software open-source que oferece uma abordagem unificada para
que os fabricantes e desenvolvedores implementem e personalizem seus aplicativos. Por se
tratar de SO livre, não existem especificações e configurações fixas de hardware e software
(LEE, 2011).
2.3.1 – Breve Histórico e Atualidade
O início do sistema operacional Android se deu em 2003, quando uma empresa de
tecnologia independente chamada Android Inc., fundada por Andy Rubin, Nick Sears e Chris
33
White, cujo principal projeto era criar um sistema avançado para câmeras de segurança,
resolveu mudar o rumo dos negócios e desviar seus esforços para o desenvolvimento de um
sistema operacional para dispositivos móveis (GUIMARÃES, 2013).
A empresa foi comprada pela Google em 2007, que colocou um grande time de
desenvolvedores para trabalhar na plataforma móvel. Já em 2008 o primeiro smartphone com
Android (HTC Dream/T-Mobile G1) foi lançado comercialmente e desde então o sistema
cresceu rapidamente. Segundo dados da Strategy Analytics, no ano de 2014 o Android
alcançou uma fatia de 81,2% do total de smartphones comercializados. De acordo com a
própria Google, seu sistema operacional está em mais de 1 bilhão de smartphone e tablets em
todo o mundo.
2.3.2 – Arquitetura do Sistema
Figura 7 – Arquitetura do Android.
Fonte: < http://www.anddev.org/open-news-f1/android-system-architecture-in-words-t7.html>.
A base do sistema operacional Android é o kernel do Linux. Inicialmente o
sistema foi desenvolvido para ser usado em smartphones, mas hoje ele é já é usado em uma
variada gama de dispositivos como tablets, relógios (wears), netbooks e até mesmo em carros
(LECHETA 2010 apud PAULA, 2013).
34
Sua arquitetura, mostrada na Figura 4 acima, é dividida em 4 camadas, são
elas: Aplicações, Framework de Aplicações, Bibliotecas (incluindo o Ambiente de Execução
Android) e o Kernel do Linux. Essas camadas são brevemente explicadas na sequência.
2.3.2.1 – Camadas da Arquitetura
A camada que fica no topo da pirâmide de arquitetura do sistema operacional
Android é a camada de Aplicativos, que é constituída basicamente pelos aplicativos nativos,
ou seja, aqueles que já vêm previamente instalados no sistema. Dentre estes aplicativos pode-
se citar alarme, navegador (browser), calendário, agenda telefônica, discador, dentre outras
(DARWIN 2012, apud PAULA, 2013).
A camada seguinte é a de Framework, ela é responsável por disponibilizar aos
desenvolvedores as mesmas API’s (Application Programming Interface - Interface de
Programação de Aplicativos) que foram utilizadas no desenvolvimento das aplicações nativas
do sistema, isso permite que os programadores tenham acesso aos mesmos recursos do
sistema que as aplicações da camada de Aplicativos possuem. Essa camada é responsável por
fazer a conexão com a camada de Bibliotecas do sistema operacional e seu intuito é abstrair a
complexidade e auxiliar na reutilização de códigos (DARWIN 2012) (MENDES &
MARCEGO 2011) (SIX 2012 apud PAULA, 2013).
Logo em seguida temos a camada de Bibliotecas, que se encarrega de fornecer as
funcionalidades que serão utilizadas na manipulação de áudio, vídeo, banco de dados, opções
gráficas e internet. São exemplos de biblioteca: o SQlite, utilizado para trabalhar com o banco
de dados nativo do Android; a OpenGL/ES, utilizada na manipulação da interface gráfica;
dentre outras. É interessante ressaltar que, apesar de o desenvolvimento para Android ser feito
na linguagem de programação Java, a maior parte das bibliotecas foram criadas nas
linguagens C e C++ (PAULA, 2013).
Dentro da camada de Bibliotecas temos o Ambiente de Execução, que inclui a
Maquina Virtual (Virtual Machine) Dalvik. Os aplicativos Android não são executados na
maquina virtual tradicional do Java, a JVM (Java Virtual Machine), eles são na verdade
executadas na Dalvik, pois esta é aperfeiçoada especificamente para os dispositivos móveis.
Ela foi desenvolvida para isolar processos e consumir o mínimo possível de memória
(PAULA, 2013).
Por ultimo, temos a camada do Kernel que é baseada na versão 2.6 do sistema
operacional Linux, tal versão foi escolhida por conter uma quantidade grande de drivers de
35
dispositivos. A camada do Kernel é responsável por serviços essenciais, como o
gerenciamento de memória e o de processos. Essa camada também funciona como uma
abstração entre o hardware e software (os aplicativos) e apesar de ter várias de suas funções
utilizadas diretamente pelo Android, o Kernel original sofreu diversas modificações para
otimizar memória e tempo de processamento. Uma das importantes alterações é um sistema
que fecha de forma automática aplicações quando a memória RAM está quase cheia (PAULA,
2013).
2.3.3 – Ambiente de Desenvolvimento Integrado (IDE)
A IDE oficial para o desenvolvimento de aplicativos Android é o Android Studio
(que pode ser vista na Figura 8). Baseada em outra IDE, o IntelliJ IDEA®, a ferramenta do
Google já vem integrada com o SDK Android (Kit de Desenvolvimento) e oferece
funcionalidades como:
o Sistema de construção flexível baseado em Gradle (sistema de automação de
compilação de código);
o Construção de variados e múltiplos arquivos .apk (Android Package File - extensão
dos aplicativos Android);
o Modelos de código para ajudar a desenvolver características comuns de aplicativos;
o Editor gráfico com suporte para Arrastar e Soltar (Drag and Drop);
o Pré-visualização do layout do aplicativo; Dentre outras.
Outra funcionalidade do Android Studio que é interessante ressaltar é o Monitor
de Memória (Memory Monitor), ele possibilita, de forma rápida, a visualização e
monitoramento do uso da memória pelo o aplicativo que está sendo desenvolvido.
Facilitando, por exemplo, a localização de objetos desalocados e o vazamento de memória. A
Figura 8 abaixo mostra a interface da IDE Android Studio.
36
Figura 8 – Android Studio (IDE).
Fonte: <http://developer.android.com/tools/studio/index.html>.
2.3.3.1 – Dispositivo Virtual Android
O AVD (Android Virtual Device - Dispositivo Virtual Android) é o emulador
oficial para o sistema operacional Android. O Android Studio possui integrado a ele a
ferramenta AVD Manager, o Gerenciador de Dispositivos Virtuais, usado para testar as
aplicações sem que haja a necessidade de um dispositivo físico. Com ele é possível criar
novos dispositivos virtuais, selecionar as configurações dos dispositivos, alterar tamanhos de
telas e as resoluções, para que se possam efetuar os testes necessários. A Figura 9 mostra a
tela inicial do AVD Manager.
Figura 9 – AVD Manager.
Fonte: Adaptado de <http://developer.android.com/tools/devices/managing-avds.html>.
37
O portal de Desenvolvedores Android (Android Developers) mostra ainda que o
AVD Manager já vem com emulador de dispositivos totalmente configurado, como os dos
smartphones Nexus 6 e Nexus 9. O Android Studio instala também o Intel® HAXM
(Hardware Accelerated Execution Manager – Gerenciador de Execução Acelerada de
Hardware) e cria um emulador padrão para prototipagem rápida de aplicativos.
2.4 – Engenharia de Software
Tendo em vista a proposta de criação de um aplicativo, faz necessário o uso de
técnicas da Engenharia de Software, pois estas visam auxiliar na criação de softwares de
forma mais rápida e com maior qualidade.
O termo Engenharia de Software foi proposto pela primeira vez em 1968 e surgiu
da necessidade de trazer confiabilidade para o desenvolvimento de software, elaborando
etapas bem definidas e tornando os custos e os prazos previsíveis. A sua finalidade é tornar o
processo de desenvolvimento sistematizado, a fim de possibilitar a aplicação de técnicas e
métodos necessários para controlar a complexidade que os grandes sistemas possuem
(SOMMERVILLE, 2007).
Para Bauer (1969 apud PRESSMAN, 2006), o objetivo da Engenharia de
Software é a criação e utilização de princípios da engenharia para obter softwares de maneira
econômica, confiável e com desempenho eficiente em máquinas reais. Já Sommerville (2007)
destaca que a engenharia de software está relacionada com todos os aspectos da produção de
software, dos estágios iniciais até a sua manutenção. Assim, segundo este autor, pode se dizer
que ela tem um importante papel dentro dos ciclos de vida do projeto e do produto de
software: dar melhor qualidade e produtividade ao sistema, baseando-se nos estudos das
engenharias.
“Apesar de gerentes e profissionais reconhecerem a necessidade de uma abordagem mais disciplinada para o software, eles continuam a debater a forma pela qual essa disciplina deve ser aplicada. Muitos indivíduos e empresas ainda desenvolvem software ao acaso, mesmo quando constroem sistemas para servir às tecnologias mais avançadas da atualidade. Muitos profissionais e estudantes desconhecem os métodos modernos. Em decorrência disso, a qualidade do software que produzimos é sofrível e coisas ruins acontecem. Além disso, continua o debate e a controvérsia sobre a verdadeira natureza da abordagem de engenharia de software. O estado atual da engenharia de software é um estudo de contrastes. As atitudes mudaram, houve progresso, mas muito resta a ser feito antes que a disciplina alcance maturidade total.” (PRESSMAN, 2006).
38
Pressman (2006) explica que a Engenharia de Software é uma tecnologia em
camadas, como mostrado na Figura 10, onde a base de todo o processo é a qualidade do
produto, que é sustentada diretamente pelas camadas de processo, métodos e ferramentas.
Figura 10 – Modelo de Tecnologia em Camadas.
Fonte: Pressman (2006)
2.4.1 – Processos de Software
Processo de Desenvolvimento de Software, ou simplesmente Processos de
Software, são conjuntos estruturados de atividades usadas para desenvolver um software.
Sommerville (2007) ainda diz que esses processos são “um conjunto de atividades e
resultados associados que produzem um produto de software.”. Jalote (2005) completa
dizendo que se estas atividades operarem corretamente e de acordo com os padrões
requeridos, o resultado desejado é obtido, ou seja, sistemas de qualidade e de baixo custo.
Segundo Pressman (2006), uma linguagem de modelagem não é suficiente para
obter os resultados, é necessário mais que um processo de desenvolvimento. O autor diz que a
linguagem de modelagem mais o processo de desenvolvimento é igual a métodos de
desenvolvimento. Sendo assim, o processo de desenvolvimento serve para definir quem faz o
quê, quando e como. Existem fases de planejamento que auxiliam nisso, como a criação de
relatórios iniciais de investigação, o levantamento de requisitos, dentre outras.
2.4.1.1 – Modelos de Processos de Software
Os Modelos de Processo de Software são representações dos processos de
desenvolvimento, onde é definido como as etapas relativas ao desenvolvimento serão
conduzidas e inter-relacionadas para que o objetivo seja alcançado. Pode ser visto como uma
descrição resumida de todo o processo sob uma visão especifica. Esses modelos incluem
atividades envolvidas no processo, no produto de software e nos detalhes dos papéis que as
pessoas envolvidas possuem (SOMMERVILLE, 2007).
39
Existem diversos modelos de processos de software, abaixo serão descritos,
resumidamente, dois deles: cascata e prototipagem.
2.4.1.1.1 – Modelo Cascata
O Modelo Cascata é o mais antigo e é também conhecido como Top-Down (de
cima para baixo). Neste modelo, quando uma fase do desenvolvimento é completada, o fluxo
prossegue para a próxima fase e não há retorno para a anterior. Uma das vantagens do modelo
cascata é o fato de permitir um controle maior, pois o planejamento pode ser feito através do
prazo de cada estágio de desenvolvimento e o software pode seguir o processo de
desenvolvimento para ser entregue no prazo. A maior desvantagem deste modelo é a falta de
flexibilidade e as revisões: uma vez que a fase foi avançada, não é possível retornar e mudar
algo que não tenha sido bem executado na fase anterior (PRESSMAN, 2006). A Figura 11
mostra as fases do modelo cascata.
Figura 11 – Modelo Cascata.
Fonte: Pressman (2006).
40
2.4.1.1.2 – Modelo de Prototipagem
Modelo de prototipagem, ou modelo evolutivo, tem o objetivo de simular a
aparência e as funcionalidades de um projeto de software. Pode se fazer uma alusão a uma
versão inicial de um sistema, o que possibilita o desenvolvedor conhecer os problemas e as
soluções para os mesmos.
O modelo de prototipação é “um processo que capacita o desenvolvedor a criar
um modelo de software que será implementado” (PRESSMAN, 2006). A Figura 12 mostra as
fases deste modelo que aproxima o cliente do desenvolvedor, uma vez que o cliente analisará
cada protótipo acabado e, se estiver tudo certo, o desenvolvedor dá segmento ao projeto, caso
contrário, novas correções e/ou testes são feitos.
Figura 12 – Modelo de Prototipagem.
Fonte: Pressman (2006).
41
3. TRABALHOS CORRELATOS
A necessidade de água para a vida torna essencial o consumo consciente desse
recurso natural. O crescimento da crise hídrica que começou a ganhar visibilidade mundial na
década de 70 do século passado, quando discursos da ONU (Organização das Nações
Unidades) e do Banco Mundial afirmavam que o consumo de água deveria ser repensado, se
tornando de domínio público e a passando a possuir valor econômico para continuar
atendendo as demanda da humanidade (SILVA, 2010), e que amplamente vem sendo
noticiado nos últimos anos faz deste um assunto sine qua non, indispensável.
É grande o número de trabalhos relacionados com o monitoramento de consumo,
seja ele residencial ou não. Produtos e artigos concernentes a sistemas que monitoram o
consumo de energia são mais frequentes que os desenvolvidos para o monitoramento do
consumo de água. Nesse sentido, podem ser citados como exemplo os trabalhos de McNally
(2010) e Miguel (2014), descritos nas seções seguintes.
3.1 – Medidor de Energia Wireless Usando Arduino
O trabalho de McNally (2010) mostra o desenvolvimento de um sistema que
utiliza o microcontrolador Arduino Duemilanove, um shield WiFi e um sensor não-invasivo
(Transformador de Corrente CR3110) para monitorar o consumo de energia elétrica de forma
mais imediata que os medidores comuns que as residências possuem, uma vez que estes
apenas fornecem um feedback dos quilowatts-hora (kWh).
O objetivo principal deste projeto é fornecer uma visão clara do consumo e poder
incentivar que ele seja feito com consciência. Seu funcionamento consiste na coleta dos dados
referentes ao consumo e a transmissão via rede wireless para a estação base, onde estes dados
são tratados e representados visualmente para o usuário final.
Para efetuar os testes, McNally (2010) primeiramente utilizou uma lâmpada para
medir a corrente que ela utilizava, registrando nesta etapa um erro calculado de 4,98%, para
mensurar este erro ele utilizou um equipamento comercial projetado para tal. O teste principal
foi feito em um disjuntor, durante um período de 20 minutos, onde o autor pode identificar em
seu sistema picos de consumo ao ligar alguns aparelhos.
A Figura 13 mostra a montagem do projeto proposto pelo autor, bem como a
instalação dos sensores no disjuntor para a realização de testes. McNally (2010) explica que
42
apesar de o sistema ter sido bem sucedido em alguns aspectos propostos, como a medição da
energia e a taxa de atualização dos dados, em outros os resultados obtidos não foram tão
satisfatórios, como por exemplo, a capacidade do sistema de detectar o momento onde vários
equipamentos eram ligados de forma simultânea, o que causava problemas na transmissão dos
dados para a estação base.
Figura 13 – Montagem do Projeto e Instalação para Testes (McNally).
Fonte: Adaptado de McNALLY (2010).
3.2 – Medidor de Consumo de Energia Elétrica com Arduino e Envio via GPRS
O protótipo construído por Miguel (2014) em seu trabalho também tem como
objetivo o monitoramento do consumo de energia elétrica. Para a sua construção, foram
utilizados: um microcontrolador Arduino Uno, um shield GSM/GPRS/GPS e um sensor de
corrente ACS712, utilizado para medir a corrente elétrica através do campo magnético gerado
por ela.
O funcionamento deste protótipo consiste na medição do campo magnético
utilizando o sensor e nos cálculos do consumo elétrico, feito no microcontrolador. O objetivo
é enviar o consumo de energia em kWh para o celular do usuário através da rede GPRS, ou
seja, através de mensagens de texto para um celular (SMS - Short Message Service).
Miguel (2014) explica que os testes foram realizados em um período de 50 horas,
onde o sensor foi ligado a um quadro de distribuição. A cada hora o sistema enviava um SMS
para o celular cadastrado, informando o consumo acumulado em kWh. Os dados foram
estruturados e comparados pelo autor, que utilizou um medidor eletromecânico para verificar
as discrepâncias. A Figura 14 mostra como o autor montou o sistema.
Os resultados obtidos satisfizeram o esperado: a medição do consumo de energia
elétrica e o envio desses dados por SMS para um celular. Miguel (2014) explica que houve
uma margem de erro de 9,4% entre seu sistema e o consumo real mostrado no medidor
eletromecânico, mas que este erro em parte se justifica pela variação da tensão durante o dia,
43
que de acordo com seus cálculos chegou a aproximadamente 8%. Dessa forma, segundo o
autor, os resultados apresentaram um erro final em torno de 1%, o que torna os resultados
satisfatórios para a proposta inicial.
Figura 14 – Montagem do Projeto e Instalação para Testes (Miguel).
Fonte: Adaptado de Miguel (2014).
3.3 – Controle do Fornecimento de Água com Monitoramento do Uso Anormal
Com relação ao consumo de água no ambiente doméstico, o trabalho de Beemiller
(2012) é interessante pelo fato de abordar o monitoramento do uso fora do comum. O projeto
do autor consiste em um sistema que é capaz de identificar um fluxo de água anormal dentro
da residência, e com isso interromper o abastecimento de água fora da residência. Dessa
forma, o sistema evita o desperdício de água causado por algum dano na encanação, por
exemplo.
Para atingir seu objetivo, o autor utilizou para criar o sistema: um
microcontrolador Arduino Fio, um sensor de fluxo SeeedStudio e duas válvulas solenoide
(Bürkert 5282 e Spartan 3510), usadas para cortar o abastecimento quando identificado um
fluxo anormal. Foram utilizadas também placas solares para recarregar a bateria que alimenta
o microcontrolador, tornando o projeto autossustentável.
Foram feitos os testes de pressão e os testes de software. Beemiller (2012) explica
que cada válvula teve um conjunto de 10 testes, onde a pressão era registrada a cada abertura
da torneira. A finalidade dessa parte do teste era identificar qual válvula traria melhores
44
resultados no projeto final, onde o autor identificou que a válvula Bürkert 5282 apresentou
uma pequena queda de pressão da água, enquanto na válvula Spartan 3510 a pressão sofreu
uma queda significativa. A Figura 15 mostra a montagem o circuito e a instalação para testes.
Os testes do software e do circuito elétrico foram feitos em um tempo pequeno,
mas que pudesse simular o de um ambiente real. O autor instalou seu sistema em um
encanamento residencial e executou os testes por períodos de 20 minutos e 40 segundos,
onde, nesse tempo o sistema calculava a média da taxa de fluxo a cada 5 segundos e a
armazenava. Após esse tempo, o sistema calculava a media final e se, por algum momento, o
fluxo medido fosse maior que a media calculada por um período de 100 segundos, a válvula
solenoide cortava o fluxo de água.
Os resultados, segundo descritos por Beemiller (2012), atenderam aos objetivos
propostos pelo projeto. O autor destaca, porém, que o sistema acionava a válvula com um
pequeno atraso, mas que, segundo ele, esse resultado é melhor do que uma resposta
antecipada, o que aumentaria as chances de um falso alarme.
Figura 15 – Montagem do Projeto e Instalação para Testes (Beemiller).
Fonte: Adaptado de Beemiller (2012).
3.4 – Monitoramento do Consumo de Água em Torneiras
Yano et. al. (2014) mostra em seu trabalho um sistema que utiliza uma rede de
sensores sem fio para medir o consumo de água em diferentes tipos de torneiras. O objetivo
principal do trabalho, segundo os autores, era o de avaliar os benefícios econômicos, tanto os
financeiros quanto os sustentáveis.
45
Para o desenvolvimento do projeto os autores utilizaram o RFBee v.1.1, composto
por um transceptor e um microcontrolador ATmega168, e um sensor de fluxo POW110D3B.
Onde o sensor foi ligado a um transmissor RFbee e os dados referentes ao consumo das
torneiras eram enviados ao microcontrolador, quando solicitado por ele, que os transmitia
para serem tratados em um computador e apresentados em forma de gráficos. A Figura 16
mostra o esquema de funcionamento do projeto.
Os testes foram realizados em uso continuo em um banheiro público em duas
torneiras diferentes. O tempo em que as torneiras eram acionadas era analisado com o intuito
de poder verificar se as torneiras possuíam consumo de água igual em um mesmo período de
tempo. No período final de testes, os autores verificaram que a torneira intitulada 2 teve um
consumo maior que a torneira 1, mostrando assim que os resultados esperados para este
projeto atenderam aos objetivos propostos.
Figura 16 – Esquema do Projeto (Yano et. al.).
Fonte: Yano et. al. (2014).
3.5 – Monitoramento e Controle de Fluxo de Líquidos
Já Suresh et. al. (2014) oferecem uma abordagem mais ampla ao propor o
monitoramento e controle de vários tipos líquidos em indústrias. Segundo os autores, a
metodologia proposta por eles, de monitorar e controlar fluxo de líquidos, possui diferencial
dos outros sistemas semelhantes no mercado, pois é utilizada a internet como meio para
auxilio na realização do monitoramento.
Na metodologia proposta pelos autores em seu artigo, eles utilizam: um
microcomputador Raspberry PI, para criar um servidor web, um microcontrolador Arduino
Uno, um sensor de vazão da SeeedStudio e uma válvula solenoide, cujo o modelo não foi
especificado. Seu objetivo é monitorar o fluxo de líquidos (litros por hora) em tubulações de
indústrias e cortar este fluxo através da válvula, usando para isso um dispositivo conectado a
internet.
Suresh et. al. (2014) explicam que o servidor web foi criado no Raspberry PI e o
funcionamento do sistema consiste em ler os pulsos medidos no sensor e enviá-los ao
Arduino, onde é feita a conversão para litros. Os dados são enviados para o servidor e podem
46
ser visualizados em dispositivos com conexão à internet. É através do dispositivo que o
comando para que a válvula corte o fluxo é enviado.
Os testes relatados no artigo de Suresh et. al. (2014) foram realizados em um
pequeno tanque com água, como pode ser visto na Figura 17. Segundo os autores o objetivo
proposto, de monitorar o fluxo e interrompê-lo, caso necessário, foi atingido nos testes
realizados. Ainda segundo eles, apesar de o sistema ter sido testado apenas com água, o
mesmo pode ser estendido para vários líquidos devendo, entretanto, considerar alguns fatores
como pressão, temperatura e corrosão, por exemplo.
Figura 17 – Montagem do Projeto e Instalação para Testes (Suresh et. al.).
Fonte: Adaptado de Suresh et. al. (2014).
3.6 – Conclusão do Capitulo
Foram apresentados neste capítulo trabalhos que possuem alguma relação com a
proposta de sistema que será apresentada. Apesar de não ter sido citado nenhum trabalho que
possua uma proposta ou objetivo igual a este trabalho, os projetos acima tratam do
monitoramento de recursos, que é parte do objetivo central deste trabalho. É possível notar,
através das informações, que o monitoramento de recursos é um assunto que possui diversas
publicações recentes, fato que mostra a relevância de trabalhos com este.
As tabelas abaixo mostram de forma resumida o que foi abordado, destacando os
pontos principais e os resultados obtidos. Elas são divididas entre os trabalhos que abordam o
monitoramento do consumo de energia e os trabalhos relacionados ao monitoramento do
consumo de água, para fornecer uma visão mais clara e objetiva do que é proposto com o que
realmente foi alcançado.
47
Tabela 2 – Trabalhos Correlatos: Monitoramento de Energia.
Proposta Microcontrolador Sensores Testes Resultados
Sistema de
Monitoramento
Doméstico de
Energia Elétrica
Arduino
Duemilanove +
WiShield
Transformador
de Corrente
CR3110
Foram executados testes de
20 minutos em um
disjuntor, onde o autor
identificou através dos
gráficos gerados o aumento
do consumo ao ligar um
equipamento.
A medição do
consumo e a taxa de
atualização
satisfizeram os
objetivos, mas a
habilidade de detectar
aparelhos ligados de
forma simultânea não
foi alcançada. A taxa
de erro foi de 4,96%.
Medição do
Consumo de
Energia Elétrica
Arduino Uno +
Shield
GSM/GPRS/GP
S
Sensor de
Corrente
ACS712
Os testes foram realizados
em um período de 50 horas.
O protótipo construído foi
ligado ao quadro de
distribuição elétrica da casa
e de hora em hora um SMS
era enviado para um celular
mostrando o consumo
acumulado.
O protótipo funcionou
conforme o objetivo,
que era enviar o
consumo em kWh
para um celular. Os
resultados mostraram
um erro de 9,4%, o
qual teve como
justificativa a variação
de tensão.
Fonte: Autor.
Tabela 3 – Trabalhos Correlatos: Monitoramento de Água/Líquidos.
Proposta Microcontrolador Sensores Testes Resultados
Sistema de
Monitoramento
de Consumo e
Controle do
Fornecimento de
Água em
Situações de Uso
Anormal
Arduino Fio
Sensor de Fluxo
SeeedStudio e
Válvulas
Solenoides
Bürkert 5282 e
Spartan
3510
Os testes foram executados
em um encanamento
confeccionado, por um
período de amostragem de
2min. e 40seg. Onde a cada
5seg. o sistema calculava
uma média da taxa de fluxo
e armazenava. Após a
amostragem, se a taxa de
fluxo fosse maior que a
média obtida por um
período de 100 segundos, a
válvula era acionada para
cortar o fluxo.
Os resultados obtidos
pelo projeto levaram
em conta o uso de dois
modelos de válvulas,
onde o modelo
Bürkert 5282 se saiu
melhor na velocidade
de fluxo. O objetivo
de poder cortar o
fornecimento em uma
identificação de uso
considerado anormal
foi atingido.
Monitoramento
do Consumo de
Água em
Diferentes Tipos
Torneiras
RFBee Sensors
v.1.1
(Transceptor +
ATmega168)
Sensor de Fluxo POW110D3B
Os testes foram realizados
com duas torneiras por um
determinado período onde os
dados eram coletados e
enviados para um
computador para serem
analisados.
Foi identificado que a
torneira denominada 2
possuía um consumo
maior que a torneira 1,
levando em
consideração um
mesmo tempo de uso.
Monitoramento e
Controle
Baseado no
Fluxo de
Líquidos
Raspberry pi +
Arduino Uno
Sensor de Fluxo
SeeedStudio e
Eletroválvula
Solenoide
(Modelos não
especificados)
Os testes foram feitos com
um tanque de baixa pressão
cheio de água. Ao abrir a
válvula o fluxo de água em
litros por hora (L/hora) é
enviado a cada segundo para
o computador.
Os valores fornecidos
pelo sistema foram os
mesmos da medição
manual e quando era
enviado o comando
para fechar a válvula, o
sistema exibia
corretamente 0 L/h.
Fonte: Autor.
48
4. PROPOSTA
De acordo com a ONU (Organização das Nações Unidas) a quantidade necessária
de água para atender as necessidades básicas de uma pessoa é de 110 litros por dia. Segundo
dados do Sistema Nacional de Informações sobre Saneamento do Ministério das Cidades, no
Brasil esse número é bem maior: o levantamento mostra que em 2013 a média diária de litros
gastos por cada habitante foi de 166,3 e em alguns estados, como o Rio de Janeiro, por
exemplo, esse índice superou o dobro do indicado, chegando a 253,1 litros por dia/habitante
(MARANHÃO, 2015).
A escassez hídrica amplamente noticiada na mídia brasileira neste ano de 2015,
cujo epicentro foi o Sudeste, teve como principal causa a falta de chuva. No ano de 2001 o
então diretor da Agência Nacional das Águas (ANA), publicou projeções para o “futuro” no
Brasil e já havia uma previsão crise hídrica para o país no ano de 2015. O que de fato ocorreu:
na cidade de São Paulo, por exemplo, alguns habitantes chegavam a ficar mais de 18 horas
sem água na torneira. E, segundo especialistas, a estiagem foi apenas um dos fatores, mas não
gerou o problema sozinho. O desperdício e o consumo desenfreado também contribuíram para
agravar o problema (CALDAS, 2015).
As informações apresentadas já tornam viáveis e interessantes a criação de
soluções que viabilizem a conscientização por parte da população. Desta forma, tendo em
vista o consumo demasiado desse precioso recurso, como mostrado nos dados acima, e
partindo da premissa que conhecer melhor os gastos é um ponto importante para economizar
com maior eficiência, surge a ideia da criação de um sistema que possibilite o monitoramento
do consumo doméstico de água em um determinado ponto da residência.
O protótipo aqui apresentado será criado através da utilização de ferramentas de
baixo custo e de fácil acesso. Para a construção do protótipo do sistema será usada uma placa
Arduino Uno, um sensor de fluxo de água e um módulo bluetooth (tecnologia de comunicação
sem fio). Os dados serão coletados e armazenados na memória interna da placa para,
posteriormente, serem recuperados em um dispositivo equipado com o sistema operacional
Android, que apresentará as informações em forma de gráficos para o usuário.
A utilização de um sistema de monitoramento como este visa trazer de forma mais
clara para o consumidor um resumo da quantidade de água que está sendo gasta em
determinado ponto da residência. O hidrômetro utilizado pelas companhias para o cálculo do
consumo mensal de água não fornece de forma fácil os valores para o consumidor. Assim, o
49
sistema criado possibilitará que o usuário doméstico possa se conscientizar da quantidade de
água gasta para lavar louças ou para escovar os dentes, por exemplo.
4.1 – Do Hardware
Para a criação da estação de monitoramento serão utilizados, como já citado
anteriormente, componentes de baixo custo. A escolha da placa Arduino Uno se deu pelo fato
de, além de possuir um preço atrativo (ver Tabela 4), possui também um hardware, como
mostrado na Tabela 1 do Capitulo II, capaz de atender de forma mais que satisfatória as
necessidades deste projeto.
A Tabela 4 mostrada abaixo traz os custos associados aos materiais que foram
utilizados na criação do sistema de monitoramento. É interessante destacar que tais
componentes foram adquiridos no mercado brasileiro, visto a necessidade de uma entrega
com maior rapidez, mas se fossem importados, o custo do projeto seria ainda mais baixo.
Tabela 4 – Custo dos Materiais Utilizados.
Quantidade Produto Valor
1 Arduino Uno R$ 47,89
1 Módulo De Comunicação Bluetooth RS232 TTL R$ 31,99
1 Sensor Fluxo De Água 1/2" R$ 33,90
1 Sensor De Fluxo De Água - G 3/4" R$ 54,99
TOTAL R$ 168,77
Fonte: Autor.
O sensor utilizado não possui características excepcionais, mas suas
especificações atendem aos requisitos propostos. Foram escolhidos dois modelos, devido a
necessidade de uma maior adaptação aos diversos locais da residência: um de ½" (meia
polegada), que possui uma taxa de vazão de até 30 litros/minutos; e um de ¾" (três quartos de
polegada), que possui uma vazão de até 120 litros/minutos.
Figura 18 – Funcionamento do Sensor de Efeito Hall.
Fonte: Adaptado de < http://www.gemssensors.com> (2014).
50
O funcionamento de ambos é igual: segundo o fornecedor, o sensor de vazão
possui um rotor interno e um sensor de efeito Hall (efeito de campo, como pode ser visto na
Figura 18), onde, no momento que a água passa pelo rotor, pulsos elétricos são gerados de
forma proporcional à sua velocidade. São esses pulsos, entregues pelo sensor de efeito Hall,
que possibilitam o cálculo da vazão de água.
Os cálculos efetuados com os dados obtidos através do sensor são armazenados na
memória EEPROM (memória não volátil, ou seja, os dados não são perdidos quando não há
mais energia) do Arduino e para recuperar tais informações, foi escolhida a comunicação
bluetooth. Novamente esta decisão se baseou no custo-benefício, pois, além de ser suficiente
para a criação deste projeto, o valor do módulo Bluetooth RS232 TTL foi baixo, não
impactando demasiadamente no custo total. Vale ressaltar que o alcance do modulo utilizado
é limitado a aproximadamente 10 metros, mas tal restrição não representou nenhum
empecilho para o projeto.
A parte física do protótipo, ilustrada na Figura 19, mostra a modelagem do
protótipo da estação de monitoramento do consumo. Para realizar esta modelagem, foi
utilizado o software open-source Fritzing (http://fritzing.org), que é uma ferramenta para a
criação de desenhos esquemáticos.
Figura 19 – Modelagem do Protótipo (Hardware).
Fonte: Autor.
4.2 – Do Software
Com os dados obtidos, tratados e armazenados no Arduino, torna-se necessária a
sua visualização. Para tal, será criado um aplicativo Android que trará as informações em
forma de gráficos, facilitando a compreensão por parte do usuário.
51
A escolha de uma plataforma móvel, neste caso o Android, se deu por dois
principais motivos: o primeiro deles leva em conta o número de pessoas que possuem
smartphones (telefones inteligentes) no Brasil, que cresceu demasiadamente nos últimos anos.
De acordo com a Pesquisa Anual do Uso de TI (Tecnologia da Informação) da FGV
(Fundação Getúlio Vargas), o país conta com mais de 154 milhões de smartphones, ou seja,
três dispositivos para cada dois habitantes, número que supera pela primeira vez o de
computadores conectados à internet. O segundo motivo tem relação com a supremacia que o
sistema operacional Android possui. Dados da IDC Brasil mostram que do total de
smartphones vendidos no país em 2014, por volta de 91% (noventa e um por cento) possuíam
o sistema do Google.
No que refere ao desenvolvimento em si do aplicativo, serão utilizadas técnicas da
engenharia de software visando otimizar os processos conhecidos e fazer mais com menos
tempo. O modelo de desenvolvimento de software empregado neste projeto é o de
prototipação, uma vez que será construído um aplicativo com as funções básicas para os testes
e ele será modificado e incrementado gradativamente nas implementações futuras.
Para o funcionamento do aplicativo não será necessário um hardware avançado,
sendo compatível com a maioria dos smartphones atuais. O seu único requisito não funcional
é a versão 2.3 (ou superior) do sistema operacional Android, visto que a partir desta versão os
dispositivos devem obrigatoriamente possuir comunicação bluetooth. Quanto aos requisitos
funcionais:
o O aplicativo possuirá cadastro último consumo faturado em metros cúbicos (valor que
pode ser localizado na fatura de água);
o Os dados serão sincronizados por meio da comunicação bluetooth;
o O aplicativo irá apresentar os dados de consumo em forma de gráficos e uma relação
com o valor real da fatura cadastrada;
o O aplicativo trará um resumo do consumo e do valor aproximado referente ao
consumo calculado.
Uma vez que os requisitos foram definidos, foi realizada a modelagem do
Diagrama de Caso de Uso através da ferramenta gratuita online Cacoo (https://cacoo.com/). A
Figura 20 mostra o funcionamento das fases de interação através do diagrama de caso de uso.
De acordo com Sommerville (2007), este diagrama é responsável por descrever todas as
interações que estão especificadas nos requisitos, além de descrever, do ponto de vista do
usuário, o que o sistema irá fazer e quais serão suas principais funcionalidades.
52
Figura 20 – Diagrama de Caso de Uso do Aplicativo.
Fonte: Autor.
O diagrama acima apresenta de forma objetiva as funcionalidades do aplicativo,
bem como os seus requisitos funcionais. Jacobson (2005) descreve os casos de usos como a
sequência de alguns eventos que o ator (usuário do sistema) utiliza para completar um
processo. Para um melhor entendimento das interações, as tabelas abaixo têm por objetivo
demonstrar de maneira mais detalhada a descrição dos casos de uso.
Tabela 5 – Caso de Uso: Cadastrar Tarifa.
Caso de Uso Cadastrar Consumo
Descrição Este caso de uso descreve os passos necessários para que seja feito o cadastro do
consumo faturado em metros cúbicos.
Atores Usuário
Pré-condições Não possui
Pós-condições Será cadastrado na base de dados do aplicativo o consumo faturado no último
mês.
Fluxo Principal
1 O ator inicia o aplicativo.
2 O aplicativo exibe a tela principal.
3 O ator toca no botão “Cadastro de Consumo”, no canto superior direito da tela.
4 O aplicativo exibe a tela para inserir o valor do consumo.
5 O ator insere o valor no campo e toca no botão “Confirmar”.
6 O aplicativo retorna a mensagem: “Consumo Cadastrado!”.
7 O caso de uso é encerrado.
Fonte: Autor.
Tabela 6 – Caso de Uso: Solicitar Sincronização dos Dados.
Caso de Uso Solicitar Sincronização dos Dados
Descrição Este caso de uso descreve os passos necessários para que seja realizada a
sincronização dos dados com o Arduino.
Atores Usuário
Pré-condições O bluetooth deverá estar ativo, o que será feito automaticamente pelo aplicativo.
Pós-condições Será realizada a sincronização dos dados e os valores serão salvos na base de
dados do aplicativo.
53
Fluxo Principal
1 O ator inicia o aplicativo.
2 O aplicativo exibe a tela principal.
3 O ator toca no botão “Sincronizar”, no canto superior esquerdo da tela.
4 O aplicativo exibe a tela de confirmação.
5 O toca no botão “Sim”.
6 O aplicativo retorna a mensagem: “Os dados foram sincronizados”.
7 O caso de uso é encerrado.
Fonte: Autor.
Tabela 7 – Caso de Uso: Visualizar Gráficos de Consumo.
Caso de Uso Visualizar Gráficos de Consumo
Descrição Este caso de uso descreve os passos necessários para a visualização dos gráficos
de consumo.
Atores Usuário
Pré-condições Deve ter sido feita pelo menos uma leitura de consumo, caso contrário o
aplicativo irá exibir os gráficos zerados (sem dados).
Pós-condições Será exibido os gráficos com o consumo previamente salvo na base.
Fluxo Principal
1 O ator inicia o aplicativo.
2 O aplicativo exibe a tela principal.
3 O ator toca no botão “Exibir Consumo”, no centro da tela.
4 O aplicativo exibe a tela com os gráficos.
5 O caso de uso é encerrado.
Fonte: Autor.
Tabela 8 – Caso de Uso: Visualizar Gráficos de Comparação.
Caso de Uso Visualizar Gráficos de Comparação
Descrição Este caso de uso descreve os passos necessários para a visualização dos gráficos
de comparação entre o consumo real e o medido pelo protótipo.
Atores Usuário
Pré-condições O valor do consumo em metros cúbicos referente ao mês deve ter sido
cadastrado.
Pós-condições Será exibido os gráficos que relacionam os valores do protótipo com a fatura.
Fluxo Principal
1 O ator inicia o aplicativo.
2 O aplicativo exibe a tela principal.
3 O ator toca no botão “Exibir Comparação”, no centro da tela.
4 O aplicativo exibe a tela com os gráficos.
5 O caso de uso é encerrado.
Fonte: Autor.
Tabela 9 – Caso de Uso: Consultar o Resumo dos Gastos.
Caso de Uso Consultar o Resumo dos Gastos
Descrição Este caso de uso descreve os passos necessários para a visualização do resumo.
Atores Usuário
Pré-condições Deve ter sido feita pelo menos uma leitura de consumo, caso contrário o
aplicativo irá exibir o resumo sem valores.
Pós-condições Será exibido o resumo contendo o consumo de água consolidado e seus
respectivos valores.
Fluxo Principal
1 O ator inicia o aplicativo.
2 O aplicativo exibe a tela principal.
3 O ator toca no botão “Exibir Resumo”, na parte inferior da tela.
4 O aplicativo exibe a tela com o resumo dos gastos.
5 O caso de uso é encerrado.
Fonte: Autor.
54
4.3 – Conclusões do Capitulo
Este capítulo apresentou as informações acerca da proposta a que se refere este
trabalho: criação do protótipo de um sistema de monitoramento do consumo de água em
residências. Para isso foram apresentadas informações com o intuito de justificar e mostrar a
viabilidade da construção de um sistema como este. Tais justificativas envolveram alguns
dados referentes ao consumo de água no Brasil, breves informações sobre a crise hídrica no
país, os custos relacionados com a criação do protótipo, bem como a descrição das
funcionalidades da aplicação, visando demonstrar a utilidade da ferramenta como auxilio a
conscientização do uso de água no ambiente doméstico.
Em suma, o sistema proposto irá calcular a quantidade de água gasta no ponto
onde foi instalado, usando para isso o sensor de fluxo, que emite pulsos elétricos à medida
que a água passa pelo rotor. O calculo da vazão de água é feito utilizando estes pulsos,
convertendo-os para litros e armazenando na memória EEPROM do Arduino em períodos de
uma hora. Quando solicitada a sincronização dos dados por meio do aplicativo, é feita a
comunicação bluetooth entre os dispositivos e recuperado o valor acumulado salvo na
memória do Arduino, salvando-o então na base de dados da aplicação Android. Se tudo
ocorrer bem, sem nenhum erro na comunicação (caso ocorra o usuário é alertado através de
uma notificação), é enviada uma mensagem de confirmação para a placa e zerado o valor
acumulado, para que o ciclo continue.
Para concluir o que aqui foi apresentado, a Figura 21 mostra um fluxograma
resumindo o funcionamento geral de todo o protótipo, tanto da estação de monitoramento,
como o do aplicativo. O fluxograma visa demonstrar como será o processo de funcionamento
geral do sistema do inicio ao fim, facilitando assim a compreensão da proposta mesmo antes
de sua implementação. Da mesma forma que o diagrama de caso de uso (ver Figura 20), o
fluxograma abaixo foi construído utilizando a ferramenta online Cacoo.
55
Figura 21 – Fluxograma com as Atividades do Protótipo (Hardware e Software).
Fonte: Autor.
56
5. DESENVOLVIMENTO
Neste capítulo serão apresentadas todas as etapas que compreenderam o processo
de desenvolvimento do hardware e do software que comtemplam a proposta deste projeto.
Serão descritos também os testes realizados para a calibragem do sensor e para a verificação
das funções do protótipo.
5.1 – Do Hardware
A primeira etapa para a construção do protótipo da estação de monitoramento foi
a determinação do coeficiente utilizado na calibração do sensor. Em termos gerais, esse
coeficiente é um número constante que possui relação com a velocidade do rotor na passagem
de água. De acordo com o fornecedor o coeficiente padrão é de 5.5, mas ele alerta que esse
número varia devido a alguns fatores como o processo de fabricação do sensor e a pressão da
água, por exemplo.
Para determinar essa constante foram necessárias diversas medições até chegar a
um valor que melhor se adequasse à realidade. Assim, foi criado um sketch (código do
Arduino) para contar a quantidade de voltas do rotor e dividi-la pelo coeficiente, obtendo
assim a vazão de água a cada segundo.
Com o sensor conectado em uma torneira, os testes se basearam em: acionar a
torneira até encher um recipiente de 2 litros e verificar o valor mensurado no serial monitor
da IDE. O cálculo do coeficiente foi feito subtraindo o valor medido do valor real; dividindo
esse resultado pelo valor real e transformando esse valor em porcentagem, assim, foi
adicionada a porcentagem da diferença entre o real e o medido no coeficiente padrão. A tabela
abaixo mostra os dados obtidos com os testes (a tabela mostra os valores em mililitros).
Tabela 10 – Determinação do Coeficiente.
Coeficiente Medido (M) Real (R) M - R (M – R) / R ((M – R) / R) / 100
5,5000 2570 2000 570 0,2850 0,28500%
5,5157 2484 2000 484 0,2420 0,24200%
5,5290 2333 2000 333 0,1665 0,16650%
5,5382 2193 2000 193 0,0965 0,09650%
5,5436 2088 2000 88 0,0440 0,04400%
5,5460 2015 2000 15 0,0075 0,00950%
5,5464 1979 2000 -21 -0,0105 -0,01050%
Fonte: Autor.
57
Após a determinação do coeficiente mais adequado (5,5460 por ter a menor taxa
de erro, como visto na tabela), partiu-se para a montagem do protótipo. Nesta etapa, a
utilização da modelagem feita a partir da ferramenta Fritzing (como pode ser visto na Figura
19 do Capitulo IV) foi importante para determinar a disposição dos componentes, bem como
para evitar possíveis problemas de uma montagem incorreta, diminuindo assim os riscos de
algum dano nos componentes utilizados.
O funcionamento do sketch consiste em: a cada segundo o número de pulsos
(determinado pela quantidade de voltas) é calculado e dividido pelo coeficiente, o valor
obtido com este cálculo é a vazão de água por segundo. Para determinar os mililitros por
segundo, o valor da vazão é dividido por 60 (sessenta) e para determinar os litros, são
acumulados os mililitros em outra variável a cada segundo. Os valores continuam sendo
acumulados e são salvos na memória EEPROM em intervalos de 1 hora, quando as variáveis
são zeradas para um novo ciclo de monitoramento.
Para a coleta dos dados foram escolhidos 3 pontos da residência: a torneira da pia
do banheiro social, o vaso sanitário do banheiro social e a torneira da lavadora de roupas. A
escolha foi motivada por uma maior facilidade na instalação do protótipo de monitoramento,
visto que não seriam necessárias quaisquer alterações em encanações internas. A Figura 22
mostra o protótipo instalado nos locais acima citados.
Figura 22 – Locais de Instalação do Protótipo.
Fonte: Autor.
O protótipo da estação de monitoramento deverá permanecer durante 7 dias
seguidos em cada local, totalizando um período de 21 de coleta de dados. A opção por esse
intervalo de tempo teve como objetivo simular um padrão, uma vez que, devido aos eventos
rotineiros, é comum que atividades se repitam semanalmente no ambiente doméstico como,
por exemplo, a limpeza dos cômodos, que geralmente possuem um dia específico na semana
para ser realizada. A alimentação do Arduino nos locais da coleta foi realizada por uma fonte
de energia de 9V.
58
5.2 – Do Software
Visando facilitar a compreensão das funcionalidades por parte do usuário, o
aplicativo DROMUS Monitor (cujo nome tem relação com a palavra latina domus, que
significa casa) foi desenvolvido com uma interface limpa e intuitiva, com as funções
principais representadas por botões simples e relativamente grandes, evitando complicações
em seu manuseio. Ao abrir o aplicativo é exibido rapidamente a splash screen, a tela de
abertura que contêm a logo, sendo seguida pela tela principal do aplicativo.
Figura 23 – Telas de Splash e Principal.
Fonte: Autor.
A tela principal do aplicativo, como pode ser visto na Figura 23, possui cinco
botões, representando as funções do sistema. O botão localizado no canto superior esquerdo
(Sincronizar) é responsável pela sincronização dos dispositivos e dessa forma é através dele
que o usuário irá obter os dados do Arduino por meio da comunicação bluetooth. Já o botão
localizado na parte superior direita (Cadastrar Consumo) é utilizado para cadastrar o consumo
faturado do mês de referência, cujo valor será utilizado para calcular a média diária em litros e
em reais (usando como base as faixas de tarifa disponibilizadas pela companhia de
distribuição). Essas médias serão necessárias para os cálculos de estimativas de gastos e
comparativos entre os valores obtidos pelo protótipo com os da fatura de água. Ao tocar
59
nesses botões o usuário verá as telas da Figura 24 abaixo: onde a tela do lado esquerdo é
exibida ao tocar no botão Sincronizar e a tela do lado direito, ao tocar no botão Cadastrar
Consumo.
Figura 24 – Telas Sincronizar e Cadastrar Tarifa.
Fonte: Autor.
Para visualizar o consumo o usuário poderá optar por duas maneiras: o botão do
lado esquerdo no centro da tela principal leva para os gráficos de consumo, através dele o
usuário poderá ver o consumo por dia em litros por meio de um gráfico de barras. Na
horizontal é exibido, abaixo de cada barra, o dia a que se refere aquela leitura e na vertical,
uma variação entre o menor e o maior valor lido (ao clicar na barra o usuário pode visualizar
o valor exato daquela leitura). Já na segunda opção, caso o usuário toque no botão localizado
na parte inferior central da tela inicial, ele será redirecionado para a tela de resumo dos gastos,
onde terá os valores do consumo consolidado e o valor aproximado a pagar por esse consumo,
de acordo com a tarifa localizada pelo consumo cadastrado, como explicado acima.
A Figura 25 mostra um exemplo das duas formas de visualizar o consumo que
foram descritas aqui. Como pode ser observado, na parte superior direita das telas de gráficos
e resumo existe um botão Voltar para que o usuário retorne a tela principal. E para a
navegação entre as leituras de consumo existem dois botões (Avançar e Retornar), na parte
60
inferior da tela de gráficos (o botão Retornar aparece quando o botão Avançar é tocado e
desaparece caso esteja no primeiro conjunto de leituras).
Figura 25 – Telas de Gráficos e Resumo.
Fonte: Autor.
Já o segundo botão do lado direito no centro da tela principal, permite que o
usuário visualize um comparativo entre os valores mensurados pelo protótipo da estação de
monitoramento e os valores da fatura de água, calculados a partir do consumo faturado real
que tenha sido cadastrado previamente. As imagens e explicações desta função se darão no
capitulo seguinte, onde será realizada a análise dos resultados.
Os dados exibidos nas telas acima foram armazenados em duas tabelas criadas
com o SQLite, que é uma biblioteca nativa do Android usada para trabalhar com o
armazenamento local de dados.
As Tabelas 10 e 11 abaixo mostram os dicionários de dados das tabelas criadas no
SQLite. Elas detalham os campos e suas respectivas descrições, visando assim facilitar a
compreensão da base de dados do aplicativo.
Tabela 11 – Dicionário de Dados (Tabela Consumo).
TABELA: consumo
Campo Descrição Tipo Tamanho DEC
PK _id Id do consumo cadastrado INTEGER - -
valor Valor do consumo REAL - -
data Data do cadastro TEXT - -
Fonte: Autor.
61
Tabela 12 – Dicionário de Dados (Tabela Leitura).
TABELA: leitura
Campo Descrição Tipo Tamanho DEC
PK _id Id da leitura INTEGER - -
litros Consumo em litros lido REAL - -
valor Valor da tarifa REAL - -
data Data do cadastro TEXT - -
Fonte: Autor.
5.3 – Conclusão do Capítulo
Neste capítulo foram apresentadas as informações sobre o desenvolvimento e a
utilização do protótipo de monitoramento de consumo de água, tanto o hardware como o
software. Foram descritos testes para a calibração do sensor de fluxo, a forma como o sketch
do Arduino foi construído, bem como seu funcionamento. Com relação ao aplicativo
DROMUS Monitor, foram mostradas as suas telas e explicadas as utilidades de cada função.
62
6. ANÁLISE DOS RESULTADOS
Com protótipo da estação de monitoramento construído e o aplicativo
implementado, foi realizada a instalação para coletar os dados em 3 pontos da residência:
torneira da pia e vaso sanitário do banheiro social e torneira da lavadora de roupa, como
descrito no capitulo anterior. Os dados sobre o consumo destes locais foram armazenados na
memória interna do Arduino por períodos de 7 dias e, ao final de cada dia, era realizada a
sincronização entre o Arduino e o aplicativo DROMUS Monitor, onde os dados foram salvos
para a geração de gráficos de consumo.
As telas abaixo mostram os gráficos obtidos através das leituras de consumo
realizadas. Os gráficos foram apresentados em barras visando uma melhor comparação dos
valores em relação ao tempo, pois as barras com tamanhos diferentes tornam mais evidentes
as discrepâncias. A Figura 26 mostra o consumo mensurado pelo protótipo da Lavadora (os
dias 19/05 e 20/05 aparecem zerados, pois não houve consumo).
Figura 26 – Tela Gráfico de Consumo (Lavadora de Roupas).
Fonte: Autor.
63
As Figuras 27 e 28 a seguir mostram, respectivamente, as telas de consumo do
Vaso e da Pia do Banheiro (a parte inferior da tela informa ao usuário sobre qual local os
gráficos se referem).
Figura 27 – Tela Gráfico de Consumo (Vaso Sanitário).
Fonte: Autor.
Como pode ser observado nas figuras, os gráficos demonstram o consumo de cada
um dos locais escolhidos para observar diferenciados por barras de cores diferentes. A
visualização dos valores em dias teve como intuito facilitar a identificação de padrões de
consumo por parte do usuário, por exemplo: após o período de leitura do consumo da torneira
da pia (Figura 28) do banheiro social, pode-se observar uma quantidade de água utilizada na
terça-feira (dia 05/05) bem maior que a de outros dias da semana. Tal situação teve sua causa
facilmente identificada visto que terça-feira é o dia em que é feita a limpeza do banheiro, o
que justifica um consumo maior que o normal.
64
Figura 28 – Tela Gráfico de Consumo (Pia do Banheiro).
Fonte: Autor.
Além da visualização do consumo em gráficos, o aplicativo também possibilita
acompanhar um resumo consolidado dos valores, tanto do consumo de água, quanto do valor
estimado correspondente a ele. Com o valor da tarifa de água (fornecido pelas companhias de
distribuição e saneamento e previamente cadastrado no aplicativo), o aplicativo fornece uma
forma de acompanhar um valor aproximado do que foi gasto em reais no ponto onde a estação
de monitoramento estiver instalada. A Figura 28 mostra o resumo dos valores após todo o
período de coleta de dados.
É interessante notar que os valores fornecidos abaixo não são totalmente precisos,
visto que, como explicado no Capitulo V, existe uma pequena taxa de erro. Entretanto, o
resumo permite o acompanhamento dos gastos estimados para que possa auxiliar o usuário no
consumo consciente da água. Vale ressaltar também que não são aplicados outros valores no
resumo, como a taxa de esgoto, por exemplo.
65
Figura 29 – Tela de Resumo.
Fonte: Autor.
Para uma melhor comparação com o consumo real, o aplicativo faz um
comparativo entre os valores obtidos de consumo no período de coleta de dados e os valores
reais de uma fatura do mesmo mês. A Figura 30 que segue mostra um resumo dos gastos
diários, de acordo com a fatura de água.
Figura 30 – Fatura de Água.
Fonte: Autor.
66
A imagem acima mostra os gastos referentes ao mês de maio de 2015 e nela
foram destacados os valores em reais e em litros. Para traçar a relação entre estes dados e os
obtidos pelo protótipo aqui apresentado, foi feita a média diária de acordo com os valores da
fatura, onde: do valor de R$ 78,10 (setenta e oito reais e dez centavos) a ser pago pelo
consumo, R$ 2,60 (dois reais e sessenta centavos) representa a média aproximada por dia; e
da quantidade de 25.000L (vinte e cinco mil litros), 833,33L (oitocentos e trinta e três litros e
trinta e três mililitros) representa a média consumida por dia.
A Figura 31 mostra as telas de comparação entre os dados do protótipo e da fatura
com as médias dos valores em litros e em reais. Da mesma forma que os outros gráficos do
aplicativo DROMUS Monitor, ao tocar na barra o usuário pode visualizar o valore detalhado a
que ela se refere.
Figura 31 – Fatura x Protótipo.
Fonte: Autor.
Outra informação interessante de destacar é a porcentagem de consumo de cada
um dos locais onde foram coletados os dados. O gráfico a seguir foi construído com os dados
coletados pelo protótipo e mostra a proporção aproximada do consumo nos locais analisados
com o restante do consumo na residência. É muito perceptível o consumo de água da lavadora
67
de roupas, mas é também fácil a identificação da causa: o uso quase diário do equipamento
para a lavagem de poucas peças de roupas.
Figura 32 – Proporção do Consumo.
Fonte: Autor.
68
7. CONCLUSÃO
Os problemas hídricos que amplamente vem sendo divulgado na mídia, não
possuem somente como causa raiz a escassez de chuvas. A falta de consciência na utilização
do precioso recurso que é a água contribui, e muito, no surgimento destes problemas. Neste
sentido, inúmeras campanhas dos governos e de ONG’s (Organizações Não Governamentais)
buscam conscientizar a população dos riscos de crises hídricas oriundos da má utilização ou
gerenciamento da água.
Dessa forma, o presente trabalho apresentou um protótipo de sistema para
monitorar o consumo de água nas residências com o intuito de auxiliar no processo de
conscientização do usuário. Mostrar os gastos em números e de maneira fácil e acessível
visando alertar para a economia e uso racional da água no meio doméstico.
O protótipo da estação de monitoramento construído com o microcontrolador
Arduino Uno e um aplicativo mobile desenvolvido para a plataforma Android, atingiu os
objetivos propostos neste trabalho. Foi criado um sistema de baixo custo, capaz de monitorar
o consumo de água e trazer as informações para o usuário de forma rápida e sem
complicações. Os gráficos de consumo e comparativos presentes no aplicativo DROMUS
Monitor facilitam a visualização dos valores gastos para que o usuário conheça melhor os
seus padrões de consumo e possa assim fazer um uso melhor da água. É fato que o sistema
sozinho não permite a economia, mas ele fornece meios que visam viabilizar tal situação.
Mesmo se tratando de um protótipo, o funcionamento do sistema satisfez os
objetivos para o qual foi projetado e sua aplicação e instalação em diversos pontos da
residência se mostrou demasiadamente fácil. A usabilidade do aplicativo também é um ponto
interessante a destacar, visto que sua interface minimalista possibilita uma compreensão
maior das funcionalidades mesmo a primeira vista.
Apesar das dificuldades encontradas, sendo o tempo a maior delas, foi possível a
implementação de todas as funções que inicialmente haviam sido propostas. É fácil notar,
entretanto, que mesmo após a conclusão, algumas melhorias e funções poderiam ser
adicionadas, mas como dito acima o fator tempo inviabilizaria tais adições. Estas possíveis
melhorias são discutidas na seção 7.1 que trata dos trabalhos e perspectivas futuras.
69
7.1 – Trabalhos Futuros
Os objetivos propostos foram alcançados, mas existem uma série de melhorias e
funções que poderiam ser adicionadas. Atualmente o sistema foi projetado para receber os
dados de apenas uma estação de monitoramento, o ideal seria que o usuário pudesse escolher
entre várias, para que assim conseguisse, por exemplo, monitorar todos os cômodos da casa.
Em uma implementação futura, o protótipo atual poderia ser incrementado,
através da utilização de sensores mais sofisticados, para assim mensurar não somente a
quantidade de água, mas também a quantidade de ar que eventualmente venha junto pelo
sistema de distribuição e dessa forma mostrar ao usuário um valor mais aproximado do que
ele realmente tenha consumido, desconsiderando a quantidade de ar que entram nas
encanações.
Outra melhoria interessante de ser destacada diz respeito a comunicação entre os
dispositivos. A utilização do bluetooth se mostrou uma alternativa econômica e não
representou nenhum problema no sistema, uma vez que a sincronização entre os dispositivos
era feita com os aparelhos próximos. Entretanto, a utilização do protocolo TCP/IP seria o
mais indicado, pois dessa forma, além de salvar os dados em um servidor web, o usuário
poderia realizar a sincronização de qualquer local, bastando apenas estar com seu dispositivo
conectado à internet.
Já com relação ao aplicativo, poderiam ser adicionados outros tipos de gráficos e
informações, a fim de poder efetuar uma quantidade maior de comparações entre dados,
trazendo assim mais informações úteis para o usuário. Como exemplos podem-se citar: a
possibilidade do usuário escolher como quer ver as médias (por hora, dia, semana ou mês), a
capacidade de reconhecer padrões, para que o aplicativo possa notificar o usuário quando
identificar um possível vazamento e a busca das tarifas de água diretamente do site da
companhia de distribuição, para que os valores sejam sempre os mais atualizados.
70
REFERÊNCIAS BIBLIOGRÁFICAS
ALLAN, Alasdair. iOS Sensor Apps with Arduino. Sebastopol: O’Reilly Media, 1ª ed.,
2011.
ARDUINO Portal. What is Arduino? Disponível em <http://arduino.cc/> Acesso em:
16/02/2015 às 10h20min.
AURESIDE, Associação Brasileira de Automação Residencial e Predial. Disponível em:
<http://www.aureside.org.br/>. Acesso em: 14/02/2015 às 21h58min.
BANZI, Massimo. Primeiros Passos com o Arduino. São Paulo: Novatec, 1ª ed., 2012.
BEEMILLER, Griffin. Residential Water System Circuit Breaker for Monitoring of
Abnormal Use. 2012, 44 f. tese - Faculty of California Polytechnic State University.
BOLZANI, Caio Augustus Morais. Análise de Arquiteturas e Desenvolvimento de uma
Plataforma para Residências Inteligentes. 2010, 155 f. tese – Escola Politécnica da
Universidade de São Paulo.
BOLZANI, Caio Augustus Morais. Residências Inteligentes: Um Curso de Domótica. São
Paulo: Editora Livraria da Física, 1ª ed., 2004.
BORTOLUZZI, Matias. Histórico das Tecnologias de Automação Residencial. Disponível
em: <http://sra.eng.br/site/historico-das-tecnologias-de-automacao-residencial/>. Acesso em:
14/02/2015 às 13h06min.
CALDAS, Cadu. O Brasil conta gotas: entenda as causas e desafios da falta de água que se
espalha pelo país. Disponível em: <http://zh.clicrbs.com.br/rs/noticias/noticia/2015/01/o-
brasil-conta-gotas-entenda-as-causas-e-desafios-da-falta-de-agua-que-se-espalha-pelo-pais-
4691649.html>. Acesso em: 23/05/2015 às 11h11min.
CRESWELL, J. W. Projeto de pesquisa: métodos qualitativo, quantitativo e misto. Porto
Alegre: Artmed/Bookman, 3ª ed., 2010.
CUNHA, Alessandro F. O que são sistemas embarcados? Saber Eletrônica, v. 43, n.
414, 2007, p. 24-28.
EUZÉBIO, Michel Vinicius de Melo. MELLO, Emerson Ribeiro de. DroidLar - Automação
residencial através de um celular Android. Instituto Federal de Santa Catarina, 2011.
Disponível em: <http://www.sj.ifsc.edu.br/~mello/artigos/droidlar-2011.pdf>. Acesso em:
14/02/2015 às 14h49min.
71
GLOBO Ecologia. Consumo racional de água exige mudança de hábitos culturais.
Disponível em: <http://redeglobo.globo.com/globoecologia/noticia/2013/09/consumo-
racional-de-agua-exige-mudanca-de-habitos-culturais.html>. Acesso em: 05/06/2015 às
22h58min.
GUIMARÃES, Gleyser. A Historia do Sistema Operacional Android. Disponível
em:<http://www.dsc.ufcg.edu.br/~pet/jornal/agosto2013/materias/historia_da_computacao.ht
ml>. Acesso em: 15/02/2015 às 14h12min.
IDC RELEASES. São Paulo: IDC Brasil, 2014. Anual.
JACOBSON, Ivar. The Unified Modeling Language User Guide. Boston: Addison-Wesley,
2ª ed., 2005.
JALOTE, Pankaj. An Integrated Approach to Software Engineering. Nova Iorque:
Springer, 3ª ed., 2005.
KUSHNER, David. The Making Of Arduino. Disponível em:
<http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino>. Acesso em: 14/02/2015
às 18h01min.
LIMA, Thiago. Arduino Due. Disponível em: <http://www.embarcados.com.br/arduino-
due/>. Acesso em: 16/02/2015 às 20h16min.
LEE, Wei Meng. Introdução ao Desenvolvimento de Aplicativos Android. Rio de Janeiro:
Ciência Moderna, 1ª ed., 2011.
MARCONI, Marina de Andrade. LAKATOS, Eva Maria. Fundamentos de Metodologia
Científica. São Paulo: Atlas, 5ª ed., 2003.
MARANHÃO, Fabiana. É possível viver com 110 litros de água por dia? Veja como seria
a sua vida. Disponível em: <http://noticias.uol.com.br/cotidiano/ultimas-
noticias/2015/02/05/e-possivel-viver-com-110-litros-de-agua-por-dia-veja-como-seria-a-sua-
vida.htm>. Acesso em: 22/05/2015 às 16h47min.
MCNALLY, Christopher. Arduino Based Wireless Power Meter. 2010, 28 f. tese -
Graduate School of Cornell University.
MCROBERTS, Michael. Arduino Básico. São Paulo: Novatec, 1ª ed., 2011.
MIGUEL, Deivid Paulo. Medição do Consumo de Energia Elétrica com Arduino e Envio
via GPRS. 2014, 54 f. tese – Universidade de Pernambuco.
72
PAULA, Leonam João Leal de. Desenvolvimento de Aplicativo para Dispositivos Móveis
para Coleta de Dados Georreferenciados Através de Reconhecimento de Voz. 2013, 82 f.
– tese – Universidade de São Paulo.
PESQUISA ANUAL DO USO DE TI. São Paulo: FGV, 1989-2015. Anual.
PRESSMAN, Roger. Engenharia de Software. Porto Alegre: Makron Books, 6ª ed., 2006.
SCHMIDT, Maik. Arduino - A Quick-Start Guide. Estados Unidos: Pragmatic Bookshelf,
1ª ed., 2011.
SGARBI, Julio André. Domótica Inteligente: Automação Residencial Baseada em
Comportamento. 2007, 107 f. tese – Centro Universitário da FEI.
SILVA, Jairo Bezerra. et. al. A Crise Hídrica Mundial e as propostas do Banco Mundial e da
ONU para seu enfrentamento. CRONUS – Revista de Pós-Graduação em Ciências da
UFRN. v. 11, n. 2, 2010, p. 120-140.
SOMMERVILLE, Ian. Engenharia de Software. São Paulo: Pearson Education, 8ª ed.,
2007.
SOUZA, Fabio. Arduino Uno. Disponível em: <http://www.embarcados.com.br/arduino-
uno/>. Acesso em: 16/02/2015 às 15h02min.
SOUZA, Fabio. Arduino Mega 2560. Disponível em:
<http://www.embarcados.com.br/arduino-mega-2560/>. Acesso em: 16/02/2015 às 18h53min.
SURESH, N. et. al. Raspberry pi Based Liquid Flow Monitoring and Control. International
Journal of Research in Engineering and Technology. v. 3, n. 7, 2014, p. 122-125.
TERUEL, Evandro Carlos. NOVELLI, Aristides. Automação residencial: pesquisa
quantitativa para conhecer a necessidade do cliente. IN: II Workshop de Pós-Graduação e
Pesquisa do Centro Estadual de Educação Tecnológica Paula Souza, 2007, São Paulo. Anais
eletrônicos... São Paulo: CEETEPS, 2007. Disponível em:
<http://www.centropaulasouza.sp.gov.br/pos-graduacao/workshop-de-pos-graduacao-e-
pesquisa/anais/2007/posteres/teruel,%20evandro%20carlos_2.pdf>. Acesso em: 14/02/2015
às 14h30min.
TREMEL, Daniel. Automação Residencial quer ganhar morador pela economia.
Disponível em: <http://www1.folha.uol.com.br/mercado/2013/09/1348941-automacao-
residencial-quer-ganhar-morador-pela-economia.shtml> Acesso em: 07/03/2015 às
19h56min.
TRETER, Marcos E. et. al. Desenvolvimento de um Sistema de Automação Residencial de
Baixo Custo com Acesso Remoto via Web. IN: XX Congresso Brasileiro de Automática,
73
2014, Belo Horizonte. Anais eletrônicos... Belo Horizonte: Universidade Federal de Santa
Maria, 2014. Disponível em:
<http://www.swge.inf.br/CBA2014/anais/PDF/1569935133.pdf>. Acesso em: 14/02/2015 às
13h57min.
VERDÉLIO, Andreia. ONU: população precisará de 40% a mais de água em 2030.
Disponível em: <http://agenciabrasil.ebc.com.br/geral/noticia/2014-03/onu-populacao-
precisara-de-40-mais-de-agua-em-2030>. Acesso em: 17/05/2015 às 16h19min.
VILAÇA, Márcio L. C.. Pesquisa e Ensino: Considerações e Reflexões. Revista E-scrita, Rio
de Janeiro, v. 1, n. 2, 2010.
YANO, Inacio Henrique et. al.. Wireless Sensor Networks For Measuring The Consumption
of Save Water Taps. American Journal of Applied Sciences. v. 11, n. 6, 2014, p. 899-905.
Recommended