PABLO VIEIRA DOS SANTOS

73
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

Transcript of PABLO VIEIRA DOS SANTOS

Page 1: PABLO VIEIRA DOS SANTOS

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

Page 2: PABLO VIEIRA DOS SANTOS

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

Page 3: PABLO VIEIRA DOS SANTOS

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

Page 4: PABLO VIEIRA DOS SANTOS

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.

Page 5: PABLO VIEIRA DOS SANTOS

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!

Page 6: PABLO VIEIRA DOS SANTOS

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

Page 7: PABLO VIEIRA DOS SANTOS

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.

Page 8: PABLO VIEIRA DOS SANTOS

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.

Page 9: PABLO VIEIRA DOS SANTOS

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

Page 10: PABLO VIEIRA DOS SANTOS

10

Figura 32 - Proporção do Consumo .......................................................................................... 67

Page 11: PABLO VIEIRA DOS SANTOS

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

Page 12: PABLO VIEIRA DOS SANTOS

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

Page 13: PABLO VIEIRA DOS SANTOS

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

Page 14: PABLO VIEIRA DOS SANTOS

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

Page 15: PABLO VIEIRA DOS SANTOS

15

7. CAPITULO VII - CONCLUSÃO ..................................................................................... 68

7.1 – Trabalhos Futuros ........................................................................................................ 69

8. REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................. 70

Page 16: PABLO VIEIRA DOS SANTOS

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.

Page 17: PABLO VIEIRA DOS SANTOS

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.

Page 18: PABLO VIEIRA DOS SANTOS

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.

Page 19: PABLO VIEIRA DOS SANTOS

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.

Page 20: PABLO VIEIRA DOS SANTOS

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

Page 21: PABLO VIEIRA DOS SANTOS

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,

Page 22: PABLO VIEIRA DOS SANTOS

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).

Page 23: PABLO VIEIRA DOS SANTOS

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.

Page 24: PABLO VIEIRA DOS SANTOS

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.

Page 25: PABLO VIEIRA DOS SANTOS

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

Page 26: PABLO VIEIRA DOS SANTOS

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

Page 27: PABLO VIEIRA DOS SANTOS

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

Page 28: PABLO VIEIRA DOS SANTOS

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>.

Page 29: PABLO VIEIRA DOS SANTOS

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

Page 30: PABLO VIEIRA DOS SANTOS

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.

Page 31: PABLO VIEIRA DOS SANTOS

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;

Page 32: PABLO VIEIRA DOS SANTOS

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

Page 33: PABLO VIEIRA DOS SANTOS

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).

Page 34: PABLO VIEIRA DOS SANTOS

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

Page 35: PABLO VIEIRA DOS SANTOS

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.

Page 36: PABLO VIEIRA DOS SANTOS

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>.

Page 37: PABLO VIEIRA DOS SANTOS

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).

Page 38: PABLO VIEIRA DOS SANTOS

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).

Page 39: PABLO VIEIRA DOS SANTOS

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).

Page 40: PABLO VIEIRA DOS SANTOS

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).

Page 41: PABLO VIEIRA DOS SANTOS

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

Page 42: PABLO VIEIRA DOS SANTOS

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,

Page 43: PABLO VIEIRA DOS SANTOS

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

Page 44: PABLO VIEIRA DOS SANTOS

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.

Page 45: PABLO VIEIRA DOS SANTOS

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

Page 46: PABLO VIEIRA DOS SANTOS

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.

Page 47: PABLO VIEIRA DOS SANTOS

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.

Page 48: PABLO VIEIRA DOS SANTOS

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

Page 49: PABLO VIEIRA DOS SANTOS

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).

Page 50: PABLO VIEIRA DOS SANTOS

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.

Page 51: PABLO VIEIRA DOS SANTOS

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.

Page 52: PABLO VIEIRA DOS SANTOS

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.

Page 53: PABLO VIEIRA DOS SANTOS

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.

Page 54: PABLO VIEIRA DOS SANTOS

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.

Page 55: PABLO VIEIRA DOS SANTOS

55

Figura 21 – Fluxograma com as Atividades do Protótipo (Hardware e Software).

Fonte: Autor.

Page 56: PABLO VIEIRA DOS SANTOS

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.

Page 57: PABLO VIEIRA DOS SANTOS

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.

Page 58: PABLO VIEIRA DOS SANTOS

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

Page 59: PABLO VIEIRA DOS SANTOS

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

Page 60: PABLO VIEIRA DOS SANTOS

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.

Page 61: PABLO VIEIRA DOS SANTOS

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.

Page 62: PABLO VIEIRA DOS SANTOS

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.

Page 63: PABLO VIEIRA DOS SANTOS

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.

Page 64: PABLO VIEIRA DOS SANTOS

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.

Page 65: PABLO VIEIRA DOS SANTOS

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.

Page 66: PABLO VIEIRA DOS SANTOS

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

Page 67: PABLO VIEIRA DOS SANTOS

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.

Page 68: PABLO VIEIRA DOS SANTOS

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.

Page 69: PABLO VIEIRA DOS SANTOS

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.

Page 70: PABLO VIEIRA DOS SANTOS

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.

Page 71: PABLO VIEIRA DOS SANTOS

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.

Page 72: PABLO VIEIRA DOS SANTOS

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,

Page 73: PABLO VIEIRA DOS SANTOS

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.