Buscar

TCC Guilherme Bassa

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Bacharelado em Ciência da Computação 
Escola de Engenharia de Piracicaba 
Fundação Municipal de Ensino de Piracicaba 
 
 
 
Automação com Arduino: 
Luzes e Temperatura 
 
 
 
Guilherme Frander Bassa 
 
 
 
 
 
 
 
 
Ano: 2017 
 
 
 
Bacharelado em Ciência da Computação 
Escola de Engenharia de Piracicaba 
Fundação Municipal de Ensino de Piracicaba 
 
 
 
Automação com Arduino: 
Luzes e Temperatura 
 
 
Monografia de Conclusão de Curso de Graduação 
 apresentada à Escola de Engenharia de Piracicaba 
 como um requisito para a conclusão do Curso de 
Bacharelado em Ciência da Computação 
 
 
 
Discente: Guilherme Frander Bassa 
Docente Orientador: José Martins Junior 
 
 
 
 
 
 
 
 - i - 
 
 
 
FOLHA DE APROVAÇÃO 
 
Data de Defesa: 
 
 
 
 
 
Banca Examinadora 
 
Prof. ............................... 
Assinatura: 
 
 
Prof. ................................. 
Assinatura: 
 
 
Prof. ................................ 
Assinatura: 
 
 
 
 
 
 - ii - 
 
 
AGRADECIMENTOS 
Agradeço aos meus professores, ao meus pais, a minha namorada, que sem essas 
pessoas eu não teria condições de chegar até aqui. 
 
 
 - iii - 
 
 
RESUMO 
Com o passar dos anos o número de aparelhos eletrônicos nas casas vêm crescendo 
rapidamente, com isso surge e a necessidade desses aparelhos serem controlados a 
distância gerando conforto e comodidade para as pessoas em suas casas. Com esse 
objetivo, o presente projeto apresenta um sistema mobile para proporcionar a o controle 
de vários aparelhos através de um celular por uma rede wireless. Para ser possível essa 
comunicação será utilizada a placa Arduino, pois cobre todas as necessidades de 
recursos do projeto, através de seus sensores e Shields. Podendo assim acender uma luz 
pelo celular ou programar para que o ventilador ligue quando a casa estiver em uma 
certa temperatura. 
 
 
 
 - iv - 
 
 
ABSTRACT 
Over the years the number of electronic gadgets in homes has been growing rapidly, 
with this emerges and the devices are controlled at a distance generating comfort and 
convenience for the people in their homes. To this end, the present project introduced a 
mobile system to provide control of multiple messages through a mobile over a wireless 
network. To be possible, this communication must be used on an Arduino board, 
because it covers all the project resource needs, through its sensors and shields. This 
way you can light a light for the cell phone or program for the fan to turn on when a 
house is at a certain temperature. 
 
 - v - 
 
 
LISTA DE ILUSTRAÇÕES 
Figura 1 – Arquitetura centralizada dos equipamentos...................................................08 
Figura 2 – Integração de recursos habitacionais de uma residência................................09 
Figura 3 – Arduino uno...................................................................................................11 
Figura 4 – Hierarquia de View........................................................................................12 
Figura 5 – Diagrama de caso de uso................................................................................16 
Figura 6 – Diagrama de atividades..................................................................................17 
Figura 7 – Diagrama de atividades..................................................................................18 
Figura 8 – Diagrama de classe.........................................................................................19 
Figura 9 – Fluxograma Arduino......................................................................................20 
Figura 10 – Ciclo de vida Services..................................................................................21 
 
 
 - vi - 
 
 
LISTA DE TABELAS 
Tabela 1 – Cronograma de desenvolvimento...............................................................05 
 
 - vii - 
 
 
LISTA DE ABREVIATURAS E SIGLAS 
USB - Universal Serial Bus 
IDE - Integrated Development Environment 
PC - Personal Computer 
LAN - Local Area Network 
WAN - Wide Area Network 
TCP - Transmission Control Protocol 
IP - Internet Protocol 
UDP - User Datagram Protocol Open Source Código Aberto 
XML- Extensive Markup Language 
 
 
 - viii - 
 
 
SUMÁRIO 
 
RESUMO .................................................................................................. iii 
ABSTRACT ............................................................................................... iv 
LISTA DE ILUSTRAÇÕES ......................................................................... v 
LISTA DE TABELAS ................................................................................. vi 
LISTA DE ABREVIATURAS E SIGLAS ....................................................... vii 
 
 
1 INTRODUÇÃO 
1.1 Contextualização ........................................................................... 01 
1.2 Objetivo ......................................................................................... 02 
1.3 Motivação ...................................................................................... 03 
1.4 Materiais e Métodos ....................................................................... 04 
1.5 Cronograma Realizado ................................................................... 05 
 
2 REVISÃO BIBLIOGRÁFICA 
2.1 Considerações Iniciais .................................................................... 06 
2.2 Domótica ....................................................................................... 06 
2.2.1 O Conceito, a história e aplicações ....................................... 06 
2.2.2 O funcionamento da Domótica .............................................. 07 
2.2.3 Aplicações e Benefícios ..........................................................08 
2.3 Arduino ......................................................................................... 09 
2.3.1. Sensores e Shields ............................................................... 10 
 2.3.2 Arduino Uno ....................................................................... 10 
2.4 Desenvolver para Android .............................................................. 11 
2.4.1. Hierarquia de Views e ViewGroups ...................................... 12 
2.4.1. XML em Android ................................................................. 12 
2.4.1. Layouts ............................................................................... 13 
2.4.1. Classe R .............................................................................. 13 
 - ix - 
 
 
3 PROJETO 
3.1 Considerações Iniciais ................................................................... 14 
3.2 Especificação de Usuários ............................................................. 14 
3.3 Especificação de Requisitos ........................................................... 14 
3.4 Artefatos de Análise ....................................................................... 15 
3.5 Artefatos de Projeto ........................................................................ 18 
3.6 Considerações Parciais .................................................................. 21 
 
 
 
 
REFERÊNCIAS BIBLIOGRÁFICAS ............................................................ 22 
 
 
 
Parecer do Orientador ....................................................................... 24 
pg. 1Capítulo 1 
Introdução 
 
1.1. Contextualização 
 
Com o constante aumento na velocidade de divulgação da informação, e com a 
vida das pessoas ficando cada vez mais desgastantes, com mais tarefas para serem 
desenvolvidas, o tempo virou um inimigo para grande parte da população. Então, há 
sempre a busca por diminuir o tempo gasto nas tarefas diárias mais demoradas como 
lavar roupa, ou até mesmo nas mais simples como levantar da cadeira para ligar um 
ventilador. 
Seguindo essa tendência foi identificada a necessidade de criar um sistema para 
que essas tarefas simples do dia a dia possam ser feitas com mais facilidade e conforto, 
através de um celular conectado à Internet. 
O processo de automação residencial é chamado de “Domótica”, que consiste 
em gerenciar e controlar o ambiente residencial, inclusive remotamente, fazendo uso da 
informática para isso. Os atuais sistemas domésticos são isolados e não possuem 
interação com outros sistemas. O desenvolvimento e implantação de um sistema 
domótico apresenta extrema complexidade de implementação de suas funcionalidades, 
que devem ser sensíveis ao contexto e à presença das pessoas, proporcionar o acesso à 
informação em todos os lugares, de maneira pervasiva, bem como possibilitar uma 
interação natural com o usuário (Veronese, 2015). 
 
 
pg. 2 
 
 
1.2. Objetivo 
 
O objetivo deste projeto é desenvolver um aplicativo em Java, para que sejam 
controlados aparelhos eletrônicos nas residências. A proposta inicial é que o usuário 
decida uma temperatura em que seja ligado um ventilador ou ar condicionado 
automaticamente e através do aplicativo consiga fazer o acionamento e desligamento da 
iluminação da casa, através de um dispositivo com sistema operacional Android. 
Para que seja possível alcançar o objetivo será necessário uso do Arduino, 
integrado a um Ethernet Shield, um Rele Shield e um sensor de temperatura, através de 
uma rede Wireless, onde o Arduino vai se comunicar com o smartphone, recebendo os 
comandos e assim acionando as lâmpadas e o ventilador. 
 
 
pg. 3 
 
 
1.3. Motivação 
 
As principais motivações para desenvolver esse projeto, foram a de facilitar a 
vida das pessoas, dando mais conforto e diminuindo o tempo gasto com tarefas simples, 
e também deixar uma casa adaptada para pessoas com deficiência física ou com 
dificuldade para se locomover. 
Outra motivação é a de aprimorar o trabalho apresentado por Veronese (2015), 
fazendo com que o aplicativo além de aceder e apagar luzes, meça a temperatura e ligue 
um ventilador em uma temperatura pré-selecionada. 
 
 
 
 
 
 
pg. 4 
 
 
1.4. Materiais e Métodos 
 
Para o desenvolvimento deste projeto serão utilizados materiais específicos da 
plataforma Arduino: Arduino uno, módulo Rele Shield, protoboard, Ethernet Shield, 
Jumpers e sensor de temperatura. 
Também são necessárias para desenvolvimento desse projeto metodologias de 
desenvolvimento de software, assim como suas ferramentas de desenvolvimento: IDE 
de programação para Arduino, programação orientada a objetos Java, programada em 
Android Studio. 
Além da Plataforma Arduino e das metodologias de desenvolvimento de 
software foram utilizados um smartphone com sistema operacional Android, um 
roteador e um computador com sistema operacional Windows. 
 
 
 
pg. 5 
 
 
1.5. Cronograma Realizado 
 
 
Tabela 1 - Cronograma de desenvolvimento. (Fonte: elaborado pelo autor) 
 
ATIVIDADES JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ
Escolha do tema
Escolha do orientador
Pesquisa Bibliográfica
Entrega de relatórios quinzenais
Estudo de programação
Estudo sobre Arduino
Elaboração do projeto
Entrega da primeira parte da monografia
Desenvolvimento do aplicativo
Testes com arduino
Implementar comunicação arduino e app
Ligando Lâmpada pelo arduino
Medindo temperatura
Finalizando projeto
Revisão bibliográfica complementar
Entrega Final da Monografia
Entrega do trabalho
pg. 6 
 
 
Capítulo 2 
Revisão Bibliográfica 
 
2.1. Considerações Iniciais 
 
Este capítulo trata de toda a fundamentação teórica necessária para o 
desenvolvimento deste trabalho, entre os quais se destacam Domótica, Arduino, 
desenvolvimento para Android Studio com linguagem Java. 
 
2.2. Domótica 
 
2.2.1 O Conceito, a história e aplicações 
As primeiras tentativas de Domótica surgiram na antiguidade mas, na verdade, o 
seu impacto aconteceu na Revolução Industrial, juntamente com o comercio da 
eletricidade (Diondo, 2011). 
No entanto, a implantação da Domótica era custosa, mas com os avanços 
tecnológicos ao passar dos tempos, os adventos da Internet, a fabricação de novos 
hardwares e consequentemente o desenvolvimento de novos softwares são os fatores 
que possibilitaram o surgimento desses conceitos nos âmbitos residenciais. 
Por exemplo, em 1975 surgiram os primeiros dispositivos X-10, os quais 
permitiam a comunicação entre luzes e aparelhos e foi somente em 1980 que houve o 
lançamento de um software de automação para computador pessoal, sendo seguido em 
1989 pelo sistema de segurança doméstico. 
Atualmente, porém, com a enorme demanda dos componentes eletrônicos e com 
valores mais acessíveis, bem como melhor custo-benefício, teve-se maior divulgação e 
utilização da Domótica em sistemas de comunicação em que o acesso é via painel 
eletrônico online (telefone ou Internet), por meio de smartphones, tablets ou mesmo 
TVs 
pg. 7 
 
 
Portanto, para compreender de maneira mais inteligível, tem-se a definição da palavra 
Domótica, a qual resulta da junção da palavra latina "Domus" significa "casa" com o 
termo robótica (Angel,1993). 
É por meio dele que se pode obter o controle, a facilidade da rotinas e tarefas 
residenciais como, por exemplo, o controle de temperatura, iluminação, controle de 
segurança e até mesmo a economia de recursos como as contas de energia e de água, 
sendo que podem ser cronometrados para funcionar por determinado tempo a ser 
administrado pelo indivíduo. 
 
2.2.2 O funcionamento da Domótica 
 
Para suprir as necessidades e também as exigências das pessoas de determinada 
casa automatizada há a conexão integrada entre diversos dispositivos eletroeletrônicos, 
presente na residência, e podem ser monitorados através de uma única central. 
Ou seja, os diversos equipamentos a serem utilizados remotamente, necessitam 
dos atuadores, sensores, controladores, barramento e interfaces. 
• Atuadores: controlam os aparelhos, como as luzes e os ventiladores; 
• Sensores: detecta as informações ambientais e do meio, como luminosidade, 
umidade e presença; 
• Controladores: responsáveis pela gestão dos atuadores e sensores, e por isso 
coordenam todos os equipamentos que fazem parte da Domótica em cada 
moradia; 
• O Barramento é o meio físico responsável pelo transporte das informações (rede 
elétrica, telefônica etc.) (CASADOMO, 2010); 
• As Interfaces são os dispositivos ou mecanismos (navegador de 
Internet, celular, painéis, controles remotos, interruptores etc.) que permitem ao 
usuário visualizar as informações e interagir com o sistema de 
automação (CASADOMO, 2010). 
 
pg. 8 
 
 
Figura 1 – Arquitetura centralizada dos equipamentos 
 
Fonte: Quinderé (2009) 
 
2.2.3 Aplicações e Benefícios 
 
A sua função da Domótica é atender a exigência e as necessidades de cada pessoa. 
Todavia, pode-se apresentar resumidamente exemplos das utilizações dessa ferramenta. 
• Ligar e desligar aparelhos e luzes; 
• Controlar a intensidade da luz paraclimatizar a ocorrência de eventos; 
• Desligar todas as tomadas via controle remoto; 
• Acionar alarmes na detecção de invasão; 
• Controlar a temperatura, acionando ventiladores, fechamentos de cortinas, pelo 
aplicativo ou mesmo pela programação horária; 
• Controlar a irrigação do jardim; 
• Fazer a manutenção de piscina, como por exemplo, a programação da filtragem; 
• Controlar o acesso a garagem. 
Com a produção de um bom projeto domótico, apesar do custo vir diminuindo 
com o tempo, ainda sim o investimento para aplicação deste recurso não é acessível a 
todos, por mais que haja aplicações desses recursos nas partes de eletrônica, eletricidade 
e tecnologia da informação e que possam ser acessados e gerenciados de qualquer parte 
do mundo. 
No entanto, para aqueles que podem fazer uso dessa automação, pode-se constar 
diversos benefícios, tornando a vida tão corrida de uma pessoa em uma vida de repleta 
de comodidades. 
pg. 9 
 
 
• Economia de Energia, pois é utilizada quando é realmente necessária; 
• Conveniência: controle de som, luzes e temperaturas independente dos cômodos 
da residência caso o sistema seja integrado com controle centralizado; 
• Segurança: travamento de portas, circuitos fechados de TVs; 
• Economia de Tempo ao realizar as tarefas residenciais rotineiras; 
• Esforço reduzido: poder ligar TV, diminuir o som tudo através de um sistema; 
• Conforto; 
• Acessibilidade às pessoas com necessidades especiais; 
• Maiores e mais fáceis acessos na comunicação. 
 
Figura 2 – Integração de recursos habitacionais de uma residência. 
 
 
Fonte: mrinformatica.com 
 
pg. 10 
 
 
2.3. Arduino 
 
O Arduino teve seu início por volta do ano de 2005 no Design Interaction 
Institute na cidade de Ivrea na Itália. O Professor Massimo Banzi, procurava uma forma 
de desenvolver algo com um custo relativamente baixo para os estudantes de design 
desenvolverem seus projetos tecnológicos. Por uma coincidência um pesquisador 
estudante da Universidade de Malmö, na Suécia o Sr. David Cuartielles também 
procurava algo semelhante a Massimo, e com isso se encontraram e discutiram sobre o 
assunto, desta conversa nasceu o Arduino. Os produtos comercializados na época eram 
muito caro e difíceis de utilizar, e o Arduino nasceu com o intuito de ser simples na sua 
utilização e bem acessível financeiramente e o objetivo foi alcançado, o Arduino não 
custava mais que uma pizza e sua plataforma era extremamente simples de ser utilizada. 
David Cuartielles projetou a placa e um aluno de Massimo, David Mellis, desenvolveu 
o software para executar esta placa. Massimo contratou um engenheiro local, Gianluca 
Martino, que também trabalhou no Design Interaction Insitute ajudando alunos com 
seus projetos. Gianluca então concordou com Massimo em produzir uma tiragem inicial 
das placas do Arduino (Everson da Silva, 2015). 
 
2.3.1. Sensores e Shields 
 
As placas que aperfeiçoam as capacidades do Arduino são denominadas de 
Shields. Shields são placas de circuito eletrônico que podem ser acopladas ao módulo 
principal do Arduino através de seus pinos, permitindo desta forma estender a 
capacidade do sistema. 
O Relé Shield permite que o Arduino acione de maneira fácil outros dispositivos 
eletrônicos. A voltagem de operação e a quantidade de relés existentes em sua placa 
shield podem variar de acordo com o modelo do shield. Quando usado junto com o 
módulo Ethernet Shield permite o acionamento de dispositivos através de protocolos de 
rede Ethernet (Veronese, 2015). 
A definição para a escolha de um sensor de temperatura não é algo tão simples, 
pois envolve diversos fatores que se mal avaliados podem levar a resultados inesperados 
e até catastróficos num projeto. O fato de essa medida ser constituída por um simples 
pg. 11 
 
 
valor analógico (que eventualmente deve ser convertido para a forma digital), não tira a 
importância de diversos fatores que podem afetar sua precisão (Everson da Silva, 2015). 
 
2.3.2. Arduino Uno 
 
Figura 3 – Arduino uno 
 
Fonte: Site Oficial: http://www.Arduino.cc 
 
O Arduino Uno (Uno quer dizer um em italiano) foi lançado em meados do mês 
de setembro do ano de 2010. O Uno placa de microcontrolador baseado no ATmega328 
que dispõe de 14 pinos digitais de entrada/saída (dos quais 6 podem ser usados como 
saídas PWM), 6 entradas analógicas, um ressonador cerâmico 16 MHz, conexão USB, 
uma entrada de energia tipo DC, um ICSP e um botão de reset. Ele contém tudo o 
necessário para auxiliar o microcontrolador, basta somente conectá-lo a um computador 
com um cabo USB ou ligá-lo com um adaptador AC-CC ou bateria para começar a 
utilizá-lo (Everson da Si lva, 2015). 
 
2.4. Desenvolver para Android 
 
Foi escolhido o Android Studio para poder desenvolver o projeto para 
smartphones com sistema operacional Android, porque tem a interface mais atraente. 
pg. 12 
 
 
Para desenvolver em Android Studio é necessário usar a linguagem de 
programação Java. 
Android Studio possui muitas ferramentas para aumentar a produtividade na 
criação de aplicativos Android, destacando-se: um sistema de compilação flexível 
baseado no Gradle, um emulador rápido com inúmeros recursos, um ambiente unificado 
para poder desenvolver para todos os dispositivos Android, Instant Run para aplicar 
alterações a aplicativos em execução sem precisar compilar um novo APK, modelos de 
códigos e integração com GitHub para ajudar a criar recursos comuns dos aplicativos e 
importar exemplos de código, ferramentas e estruturas de teste cheias de possibilidades, 
ferramentas de verificação de código suspeito para detectar problemas de desempenho, 
usabilidade, compatibilidade com versões e outros, compatibilidade com C++ e NDK, 
compatibilidade embutida com o Google Cloud Platform, facilitando a integração do 
Google Cloud Messaging e do App Engine (Android Studio, 2017) . 
 
2.4.1. Hierarquia de Views e ViewGroups 
 
A interface gráfica faz uso dos objetos View e ViewGroup, cada um deles 
descende da classe View. 
Views: são os elementos base para a construção de aplicações Android, estes 
componentes visuais permitem a interação com o utilizador. 
ViewGroup: todos os layots são formados apartir do ViewGroup, são vários 
views organizados em grupos e assim definicindo posicionamento na tela. 
Esta classe faz uso de subclasses como LinearLayout, TableLayout, 
RelativeLayout, AbsoluteLayout, entre outros. Todos os layouts são subclasses da 
classe Android.view.ViewGroup que por sua vez é subclasse da classe 
Android.view.View. 
 
 
 
 
 
 
pg. 13 
 
 
 
Figura 4 – Hierarquia de View 
 
Fonte: Site SidePlayer <http://slideplayer.com.br/slide/10881975/> 
 
 
2.4.2. XML em Android 
 
Um dos pontos mais fortes da plataforma Android é que ela aproveita a 
linguagem de programação Java. O Android SDK não oferece tudo o que está 
disponível no seu Java Runtime Environment (JRE) padrão, mas dá suporte a uma parte 
bem significativa dos seus recursos. Já há algum tempo, a plataforma Java tem suporte 
para muitos modos diferentes de trabalhar com XML, e a maioria dos APIs Java 
relacionados a XML tem suporte total no Android. Por exemplo, Simple API for XML 
(SAX) do Java e o Document Object Model (DOM) estão disponíveis em Android. 
Esses dois APIs fazem parte da tecnologia Java há muitos anos. 
Através do vocabulário XML do Android é possível desenvolver rapidamente 
layouts e os elementos de tela do mesmo modo que se cria páginas Web em HTML. 
 
 
pg. 14 
 
 
 
2.4.3. Layouts 
 
Layouts são subclasses de ViewGroup, tendo como principalforma de 
construção arquivos XML, com vantagem de separação de apresentação e controlar o 
seu comportamento a partir de código, com isto torna mais fácil a visualização da 
estrutura da interface e depurar mais facilmente problemas. 
 LinearLayout, RelativeLayout e TableLayout são os estilos de layouts 
mais comuns. Sendo o LinearLayout o tipo de layout utilizado no Android para se 
posicionar os elementos em relação a outro, podendo ser referenciado no XML, para 
que o elemento seja posicionado na tela de acordo com sua posição. LinearLayout 
possibilita que os componentes da tela se alinhem horizontalmente ou verticalmente. O 
TableLayout é uma especialização do Linear Layout e é muito utilizado para criar 
formulários e telas de login, tendo um código muito parecido com tabelas do HTML. 
 Além de vários tipos de layouts, há a possibilidade de combinar vários 
layots, colocando um LinearLayout dentro de um RelativeLayout por exemplo. 
 
2.4.4. Classe R 
 
A classe "R" é responsável por fazer a comunicação entre os arquivos ".xml" e 
os arquivos ".java". Ela é o “coração” do sistema Android. Ela representa, em forma de 
atributos Java, todos os recursos da sua aplicação que estão dentro dos diretórios 
explicados de um aplicativo Android. Sem essa classe não seria possível buscar os 
valores de variáveis estáticas no arquivo "strings.xml" por exemplo. Ela não deve ser 
alterada manualmente, pois é alterada automaticamente quando há modificações no 
projeto, apesar de não ser necessário alterar ou criar essa classe é muito importante que 
se conheça seus métodos para utilização. 
 
 
pg. 15 
 
 
Capítulo 3 
Projeto 
3.1. Considerações Iniciais 
 
Neste capítulo, primeiramente são apresentados o público alvo do projeto, e o 
que é necessário para ele ser desenvolvido. 
Posteriormente, são apresentados diagramas de caso de uso, de atividade do uso 
e de classe, para auxiliar no desenvolvimento do projeto e assim facilitar na 
continuidade do mesmo 
Para o funcionamento do projeto o Arduino precisa se comunicar com o 
aplicativo através da rede, para isso é necessária a placa Ethernet shield, que faz esse 
papel. Também é necessário uso do relé, para as lâmpadas serem ligadas ao Arduino, 
além do sensor de temperatura, para poder medir a temperatura ambiente e mostrar ela 
para o usuário (Vinicius, 2016). 
 Ao ser aberto o aplicativo pela primeira vez, será efetuado o cadastro do 
utilizador, deixando-o como administrador, assim ele irá cadastrar os outros usuários, 
dando permissão de administrador ou não a eles, além de escolher os dispositivos onde 
eles poderão ter acesso. Essas informações serão armazenadas pelo aplicativo, para que 
quando outros usuários acessarem, aparecer na tela para eles apenas o que eles podem 
fazer. 
 
3.2. Especificação de Usuários 
 
O público alvo desse projeto são moradores de residências, que querem ter mais 
conforto e comodidade no seu lar. 
Outro público alvo são portadores de deficiências físicas ou com dificuldade de 
se locomover, causadas pela idade ou alguma doença. 
 
 
pg. 16 
 
 
3.3. Especificação de Requisitos 
 
Este projeto possibilita que os usuários tenham controle das luzes e dos 
ventiladores de sua residência à distância, por algum dispositivo que utilize um sistema 
operacional Android. 
A tela inicial da aplicação irá mostrar quais dispositivos que podem ser 
controlados pelo usuário que o acessou, além de mostrar a temperatura do ambiente. 
Também oferece uma opção para programar a temperatura que o usuário preferir para 
ligar o ventilador automaticamente e se as luzes estão ligadas ou não. 
O acionamento a distância será feito através de uma conexão Wireless. Onde o 
Arduino irá se comunicar com o smartphone ou tablet que, por sua vez, irá verificar a 
permissão do usuário, e quais os dispositivos ele tem acesso. Essas informações serão 
salvas no próprio celular. 
 
3.4. Artefatos de Análise 
 
O diagrama de caso de uso na Figura 5 foi desenvolvido pelo software Astah, e 
mostra que usuário comum e um administrador não terão diferenças no acesso ao 
aplicativo, mas o administrador que dará permissões para outros usuários acessarem 
determinados dispositivos. Também só o administrador irá cadastrar dispositivos e 
poderá cadastrar novos usuários. 
 
 
 
 
 
 
 
 
 
 
pg. 17 
 
 
Figura 5 – Diagrama de caso de uso 
 
Fonte: elaborado pelo autor 
 
 O diagrama de atividade da Figura 6, mostra o funcionamento do aplicativo, 
onde o usuário administrador, quando logado, terá acesso a todas as funcionalidades 
dele, com permissão para usar todos os dispositivos, cadastrar usuários e cadastrar 
dispositivos. 
 
 
 
 
 
 
 
 
pg. 18 
 
 
 
Figura 6 – Diagrama de atividades 
 
 
Fonte: elaborado pelo autor 
 
A Figura 7 mostra o funcionamento do aplicativo quando for logado por um 
usuário comum. Ele poderá ter acesso a todas as funcionalidades do aplicativo, desde 
que tenha permissão do administrador para isso, as operações que ele não tiver 
permissão ficarão marcadas em vermelho e se ele tentar acessa-las irá aparecer uma 
mensagem na tela avisando-o. 
 
 
 
 
 
 
pg. 19 
 
 
 
Figura 7 – Diagrama de atividades 
 
Fonte: elaborado pelo autor 
 
Sempre depois de efetuada alguma atividade no aplicativo será exibida uma 
mensagem do que foi feito para o usuário, por exemplo: se for acesa uma lâmpada, irá 
aparecer uma mensagem assim: “A lâmpada foi acesa com sucesso”. Se o usuário tentar 
executar uma ação que não tem permissão, irá aparecer a seguinte mensagem: “Sem 
permissão de acesso”. 
 
3.5. Artefatos de Projeto 
 
 O projeto é desenvolvido em linguagem Java, então é necessário um diagrama 
de classes, ilustrado na figura 4. Serão cadastrados usuários que vão se comunicar com 
o sistema que por sua vez irá mandar sinais via WiFi para o Arduino, assim o Arduino 
pg. 20 
 
 
através de seus componentes, Shields e sensores pode acionar as lâmpadas, ligar os 
ventiladores e medir a temperatura como mostrado no fluxograma da figura 5. 
 
Figura 8 – Diagrama de classes 
 
Fonte: elaborado pelo autor 
 
pg. 21 
 
 
Figura 9 – Fluxograma Arduino 
 
Fonte: desenvolvido pelo autor 
 
Para comunicação do Arduino com o aplicativo é necessário que o aplicativo se 
conecte a rede através de HTTP, criando um Service e um Broadcast Receiver para que 
a aplicação responda a um evento (Silveira, 2015). Em Android existem dois clientes 
HTTP: Apache HTTP Client e HttpURLConnection. O Google aconselha o uso de 
HttpURLConnection desde a versão 2.3 (Gingerbread).Os Services são componentes 
fundamentais em uma aplicação, possuindo ciclo de vida próprio como mostra a figura 
5: 
 
pg. 22 
 
 
Figura 10 – Ciclo de vida Services 
 
Fonte: Site http://www.felipesilveira.com.br/2015/03/service-em-Android/. 
 
Os Broadcast Receivers são componentes responsáveis por receber e tratar 
eventos (ou broadcasts) provenientes do sistema ou de outras aplicações. 
 
3.6. Considerações Parciais 
 
A partir dos diagramas desenvolvidos neste capítulo é possível implementação 
do projeto proposto por esse trabalho. 
 Alguns prazos estabelecidos no planejamento inicial acabaram não sendo 
cumpridos, mas sem afetar o resultado do projeto. 
 
 
 
 
 
 
pg. 23 
 
 
 
Referências 
Bibliográficas 
 
Luciano Veronese, Domótica usando Arduino e dispositivos móveis. Trabalho de 
conclusão de curso (Curso de Ciências da Computação). Escolade Engenharia de 
Piracicaba, Piracicaba, SP, 2015. 
 
Felipe Silveira, Desenvolvendo para Android, Disponível em: 
<http://www.felipesilveira.com.br/desenvolvendo-para-Android/> Acesso 20 de abril 
de 2017. 
 
ADAMI, Anna. Domótica, disponível em: 
<http://www.infoescola.com/tecnologia/Domótica> Acesso 30 de março de 2017. 
 
Everson Gilberto da Silva, Monitoramento de Câmara de Congelamento Utilizando 
Arduino e Java. Trabalho de conclusão de curso (Curso de Ciências da Computação). 
Escola de Engenharia de Piracicaba, Piracicaba, SP, 2015. 
 
PandoraLab, Tutorial: Arduino – primeiros passos, disponível em: 
<https://pandoralab.com.br/aprenda/tutorial-Arduino-primeiros-passos/>. Acesso 28 de 
março de 2017. 
 
Android Studio, Conheça o Android Studio 
<https://developer.Android.com/studio/intro/index.html?hl=pt-br>. Acesso 30 de março 
de 2017. 
 
Rodrigo Mingolelli Diondo, Domótica: Sistema e Aplicabilidade. Trabalho de 
conclusão de curso (Curso de Engenharia Elétrica). Universidade de São Paulo, São 
Carlor, SP, 2011. 
 
pg. 24 
 
 
Pedro Alexandre Pereira, Programação orientada a objeto 
<http://slideplayer.com.br/slide/10881975/>. Acesso 30 de março de 2017. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pg. 25 
 
 
 
 
Parecer do Orientador 
 
O aluno, como esperado, desenvolveu revisão bibliográfica sucinta sobre os principais 
assuntos relacionados ao tema geral do trabalho. Considerou, entre as obras 
pesquisadas, a análise de projetos semelhantes, apresentados em TCCs de ex-alunos do 
curso. A solução proposta, por meio de diagramas e descrições, no Capítulo 3, é 
compatível com uma primeira concepção para uma fase de modelagem, mas plausível 
de realização. Alterações futuras podem ser consideradas, em adaptação ao 
desenvolvimento (codificação e testes) que se seguirá na próxima fase. 
 
 
Assinatura: 
 
Data:

Outros materiais