Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
RENATO VINICIUS DE LIMA SARTORI
DOMÓTICA – ACIONAMENTO DE DISPOSITIVOS RESIDENCIAIS VIA
SMARTPHONE UTILIZANDO ARDUINO E COMUNICAÇÃO BLUETOOTH.
UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Campus de Sorocaba
Sorocaba
2016
RENATO VINICIUS DE LIMA SARTORI
DOMÓTICA – ACIONAMENTO DE DISPOSITIVOS RESIDENCIAIS VIA
SMARTPHONE UTILIZANDO ARDUINO E COMUNICAÇÃO BLUETOOTH.
Trabalho de Conclusão de Curso apresentado ao
Instituito de Ciência e Tecnologia de Sorocaba,
Universidade Estadual Paulista (UNESP), como
parte dos requisitos para obtenção do grau de
Bacharel em Engenharia de Controle e
Automação.
Orientador: Prof. Dr. Galdenoro Botura Junior.
UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Campus de Sorocaba
Sorocaba
2016
Ficha catalográfica elaborada pela Biblioteca da Unesp Instituito de Ciência e Tecnologia – Câmpus de Sorocaba
DOMÓTICA – ACIONAMENTO DE DISPOSITIVOS RESIDENCIAIS VIA
SMARTPHONE UTILIZANDO ARDUINO E COMUNICAÇÃO BLUETOOTH.
RENATO VINICIUS DE LIMA SARTORI
ESTE TRABALHO DE GRADUAÇÃO FOI JULGADO ADEQUADO COMO
PARTE DO REQUISITO PARA A OBTENÇÃO DO GRAU DE BACHAREL
EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO.
APROVADO EM SUA FORMA FINAL PELO CONSELHO DE CURSO DE
GRADUAÇÃO EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO.
Prof. Dr. Eduardo Paciência Godoy
Coordenador
BANCA EXAMINADORA:
Prof. Dr. Galdenoro Botura Junior
Orientador/UNESP-Campus de Sorocaba
Prof. Dr. Everson Martins
UNESP-Campus de Sorocaba
Prof. Dr. Márcio Alexandre Marques
UNESP-Campus de Sorocaba
Sorocaba
2016
“Dificuldades preparam pessoas comuns para destinos extraordinários.”
C.S Lewis
RESUMO
A crescente busca por comodidade e segurança fez com que novas tecnologias fossem
desenvolvidas a fim de facilitar e dar maior conforto nas tarefas diárias da população. A era das
informações e tecnologias permitiu grandes avanços em relação a automação residencial,
também conhecida como domótica. Este projeto apresenta o ensaio sobre o funcionamento do
sistema integrado de software e hardware para automação de uma casa através de comandos
transmitidos de um celular, via Bluetooth, bem como as vantagens e desvantagens de sua
instalação. O trabalho é composto pela montagem de uma maquete de uma residência e um
aplicativo que foi desenvolvido e programado para enviar sinais para uma placa controladora
(Arduino) de acordo com a necessidade e comando do usuário. Dessa forma, com o projeto será
possível acender e apagar luzes dos cômodos da residência, abrir e fechar o portão e ativar e
desativar o alarme através de comandos de qualquer smartphone compatível com a plataforma
Android e que tenha instalado o aplicativo dedicado ao projeto. O nível de aceitação do projeto
foi de 93,3% de acordo com a pesquisa realizada com pessoas de diferentes faixas etárias.
PALAVRAS-CHAVE: Arduino. Domótica. Automação Residencial. Comunicação
Bluetooth.
ABSTRACT
The growing demand for convenience and security meant that new technologies were
developed in order to facilitate and give greater comfort in the daily tasks of the population.
The era of information and technology has enabled great advances in relation to home
automation. This paper presents the test on the operation of the automation system in a home
through commands transmitted from a mobile phone, via Bluetooth, as well as the advantages
and disadvantages of its installation. The work consists of the assembly a model of a house and
an application that was developed and programmed to send signals to a controller board
(Arduino) according to the user command. Thus, with the project it will be possible to turn
on/off lights of the rooms of the residence, open and close the gate and activate and deactivate
the alarm through commands sent of smartphone compatible with android platform and that
has installed the application dedicated to the project. The level of acceptation of the project
was 93.3% according to the research conducted with people of different ages.
KEYWORDS: Arduino. Home Automation. Bluetooth.
LISTA DE ILUSTRAÇÕES
Figura 1. Automação baseada em comportamento. Fonte: [12] ............................................... 14
Figura 2. Cozinha Robotizada, empresa Moley. Fonte: [14] ................................................... 14
Figura 3. Aplicativo para operar Cozinha Robotizada da empresa Moley. Fonte: [14]. .......... 15
Figura 4. Parce - Adaptador inteligente para tomadas. Fonte: [16]. ......................................... 16
Figura 5. Avi-on Switch – Interruptor Wireless. Fonte [17]. ................................................... 16
Figura 6. Bluetooth Shield HC-06. Fonte: [19] ........................................................................ 17
Figura 7. Arduino Motor Shield L293d. Fonte: [20]. ............................................................... 18
Figura 8. Arduino / Genuino Uno. Fonte: [21] ......................................................................... 18
Figura 9. Arduino / Genuino Mega. Fonte: [22] ...................................................................... 19
Figura 10. Servo Motor. Fonte: [23]......................................................................................... 20
Figura 11. Mecanismo interno do servo motor. Fonte: [24]. .................................................... 20
Figura 12. Display LCD 16x2. Fonte: [25] .............................................................................. 21
Figura 13. Sensor de Presença PIR. Fonte: [20] ....................................................................... 22
Figura 14. Detalhes do sensor de presença PIR. Fonte: [20] .................................................... 23
Figura 15. Buzzer. Fonte: [28].................................................................................................. 23
Figura 16. Scatternet e piconets. Fonte: [29]. ........................................................................... 24
Figura 17. MIT APP Inventor. Fonte: Autoria própria............................................................. 25
Figura 18. Arduino IDE. Fonte: Autoria própria. ..................................................................... 26
Figura 19. Etapa de montagem da maquete da residência. Fonte: Autoria própria. ................. 28
Figura 20. Maquete finalizada. Fonte: Autoria própria. ........................................................... 28
Figura 21. Montagem dos componentes na maquete. Fonte: Autoria própria. ........................ 29
Figura 22. Aplicativo – Parte de Conexão. Fonte: Autoria própria. ......................................... 29
Figura 23. Aplicativo – Parte de Iluminação. Fonte: Autoria própria. ..................................... 30
Figura 24. Aplicativo – Parte de Acesso. Fonte: Autoria própria. ........................................... 30
Figura 25. Aplicativo – Parte de Segurança. Fonte: Autoria própria. ...................................... 31
Figura 26. Programação APP - Declaração de Variáveis Globais. .......................................... 31
Figura 27. Programação da inicialização do aplicativo. Fonte: Autoria própria. ..................... 31
Figura 28. Programação para conecção Bluetooth (botão Conectar). Fonte: Autoria própria. 32
Figura 29. Programação botão Procurar. Fonte: Autoria própria. ............................................ 33
Figura 30. Configuração da iluminação da cozinha. Fonte: Autoria própria. .......................... 33
Figura 31. Programação da iluminação do quarto, sala e garagem. Fonte: Autoria própria. ... 34
Figura 32. Programação dos botões Alarme e Portão. Fonte: Autoria própria. ....................... 34
Figura 33. Programação botão "Apagar Luz Geral". Fonte: Autoria própria. .......................... 35
Figura 34. Programação Setup() do Arduino. Fonte: Autoria própria...................................... 36
Figura 35. Condição para ativar Buzzer. Fonte: Autoria própria. ............................................ 36
Figura 36. Programação do comando da iluminação do quarto. Fonte: Autoria própria. ........ 37
Figura 37. Maquete finalizada com Arduino ligado. Fonte: Autoria própria. .......................... 38
Figura 38. Fluxograma para utilização do sistema. Fonte: Autoria própria. ............................ 39
Figura 39. Projeto em funcionamento. Fonte: Autoria própria. ............................................... 40
Figura 40. Alerta para presença dentro da casa com alarme ativado. Fonte: Autoria própria. 41
Figura 41. Grau de experiência com tecnologias móveis. Fonte: Autoria própria. .................. 43
Figura 42. Percentual de pessoas que sabem o que é domótica. Fonte: Autoria própria. ........ 43
Figura 43. Percentual de pessoas com dificuldades em conectar e utilizar o aplicativo. Fonte:
Autoria própria. ........................................................................................................................ 44
Figura 44. Percentual de pessoas que utilizaria o sistema em sua residência e conseguiu executar
as tarefas. Fonte: Autoria própria. ............................................................................................ 44
LISTA DE TABELAS
Tabela 1. Subsistemas da Domótica. Fonte: BOLZANI, 2004. ............................................... 13
Tabela 2. Especificação técnica - Arduino Mega. Fonte: (ARDUINO). .................................. 19
Tabela 3. Pinagem do Display LCD. Fonte (BARBACENA, 1996). ...................................... 21
Tabela 4. Questionário realizado para pesquisa com usuários do projeto. Fonte: Autoria própria.
.................................................................................................................................................. 41
Tabela 5. Respostas dos usuários após utilizarem o projeto. Fonte: Autoria própria............... 42
LISTA DE ABREVIATURAS E SIGLAS
GSM – Global System for Mobile Communications
SMS – Short Message Service
APP – Application – Aplicativo móvel
CLP – Controlador Lógico Programável
SDCD – Sistema Digital de Controle Distribuido
USB – Universal Serial Bus
PID – Proporcional Integral Derivativo
I/O – Input / Output
EPROM – Electrically-Erasable Programmable Ready-Only Memory
SRAM – Static Random Access Memory
PC – Personal Computer
SUMÁRIO
1. INTRODUÇÃO ................................................................................................................ 10
2. REVISÃO BIBLIOGRÁFICA ....................................................................................... 11
2.1. DOMÓTICA INTELIGENTE ................................................................................. 13
2.2. NOVIDADES NA DOMÓTICA ............................................................................. 14
2.2.1. Cozinha robotizada ........................................................................................... 14
2.2.2. Domótica para pessoas com deficiência .......................................................... 15
2.2.3. Adaptador Inteligente para Tomadas ............................................................. 15
2.2.4. Avi-on Switch - Interruptor Inteligente .......................................................... 16
3. FUNDAMENTAÇÃO TEÓRICA .................................................................................. 17
3.1. ARDUINO ................................................................................................................ 17
3.2. SERVO MOTOR ..................................................................................................... 20
3.3 DISPLAY DE CRISTAL LÍQUIDO - LCD ............................................................ 21
3.4 SENSOR DE PRESENÇA ........................................................................................ 22
3.5 BUZZER ................................................................................................................... 23
3.6. PADRÃO DE COMUNICAÇÃO SEM FIO – BLUETOOTH ............................... 24
3.7. MIT APP INVENTOR 2 .......................................................................................... 25
4. MATERIAIS DE MÉTODOS ........................................................................................ 27
5. RESULTADOS E DISCUSSÃO ..................................................................................... 39
6. CONCLUSÕES ................................................................................................................ 45
7. REFERÊNCIAS ............................................................................................................... 46
8. Apêndice A – Programação do Arduino ....................................................................... 49
10
1. INTRODUÇÃO
Imagine uma situação em que você saiu para fazer compras ou para uma viagem curta e
recebeu uma visita inesperada de outra cidade que necessita ficar na sua casa, o que fazer para
abrir o portão e liberar a entrada da visita?
Com a automação residencial é possível controlar os dispositivos da residência (como abrir
o portão, por exemplo) de onde você estiver. A crescente busca por comodidade, segurança e
conforto fez que com que a automação, que até então era utilizada somente no meio industrial,
ganhasse espaço no meio residencial.
A automação residencial, também conhecida como domótica, vem crescendo de forma
acelerada no mundo todo. Através dela é possível tornar casas, apartamentos e até mesmo
condomínios em ambientes inteligentes. Além de proporcionar comodidade a domótica
também é útil quando se trata de segurança. Ela possibilita ligar e desligar televisores, ar
condicionados, monitorar ambientes, acionar alarmes, entre outros, utilizando dispositivos de
qualquer lugar do mundo, como smartphones, laptops e tablets.
O ideal para arquitetar uma residência totalmente automatizada é fazer o projeto
considerando, desde a sua construção, os dispositivos que serão automatizados. Isso se faz
necessário devido a infraestrutura de montagem, onde existe a indispensabilidade de um
controlador que deverá estar conectado com todos os dispositivos a serem controlados
(normalmente por cabos).
O trabalho consiste em desenvolver um sistema integrado de software e hardware de uma
residência automatizada, consistindo do controle remoto através de um smartphone compatível
com plataforma Android e protocolo de comunicação Bluetooth. Para isso, foi definido como
central de controle o Arduino pois seu custo é baixo e ele possui uma plataforma de
programação aberta. Dessa forma, ele será programado para trabalhar como controlador de uma
residência recebendo sinais de controle de um smartphone (enviará sinais aos dispositivos para
ligá-los ou desligá-los e receberá o status com a finalidade de confirmar se a ação foi executada
ou não).
11
2. REVISÃO BIBLIOGRÁFICA
A automação, no primeiro momento, foi desenvolvida para o meio industrial, que está ligada
ao controle e supervisão das linhas de produção através de PLC’s, SDCD’s etc. Sua expansão
se deu na aplicação em edifícios comerciais, nas áreas patrimonial e institucional e, por fim, a
automação, que foi um sucesso nas demais áreas, ganhou espaço também no meio residencial
[1].
A ideia de automação residencial já existe desde 1920 quando aparelhos eletrodomésticos
foram desenvolvidos nos Estados Unidos [2] no intuido de facilitar a vida das pessoas. A
comodidade que esses aparelhos trouxeram à população fez com que, cada vez mais, suas
funções fossem expandidas para atender desde tarefas básicas como, por exemplo, esquentar
água sem a necessidade de fogo, até fazer uma refeição (panelas elétricas, etc).
No entanto, esses aparelhos foram criados para realizar tarefas isoladas, isto é, eles não
interagiam entre si, por isso, o termo automação residencial ou domótica, só pôde ser utilizado
com acertividade quando foi realizada a primeira integração de comando através de um único
meio para acionamento de aparelhos com funções distintas. O termo domótica é proveniente da
união da palavra latina Domus (casa) e do termo Robótica [3]. Seu significado está relacionado
à instalação de tecnologias em residências com a finalidade de melhorar a qualidade de vida
através do uso racional dos recursos por seus habitantes [4]. O foco principal desses sistemas
é o gerenciamento de recursos, segurança, conforto e, atualmente, entretenimento [5].
Foi na década de 70 que houve o primeiro sinal de automação residencial, quando foi
inventado, nos Estados Unidos, o dispositivo denominado X-10 que é capaz de enviar sinais de
comando a outros dipositivos através de sinais da própria rede elétrica [2][6]. Apesar da grande
evolução que essa tecnologia trouxe, o sistema era instável e havia a limitação de não retornar
com o status da ação que lhe foi determinada, isto é, caso o usuário enviasse o comando para
acender uma luz, por exemplo, ele não teria como saber se a tarefa foi realmente cumprida ou
não [6].
Com o surgimento dos aparelhos celulares, houve uma grande evolução nos projetos
voltados à automação residencial. Os primeiros benefícios que a automação trouxe para a
domótica foi a possibilidade da comunicação do usuário com o microcontrolador através da
rede GSM. Os comandos já podiam ser enviados para a placa controladora por mensagem SMS.
Para que isso fosse possível, foi necessário desenvolver uma placa capaz de receber esse tipo
de dado e programar o sistema de controle para executar determinadas ações de acordo com o
texto recebido.
12
A evolução desse aparelho veio com a invenção dos smartphones que os tornaram
“inteligentes”. Com o surgimento dos celulares inteligentes, foi possível executar diversas
tarefas na palma da mão que até então eram feitas pelo computador através de softwares,
dedicados aos celulares, que levaram o nome de “aplicativos móveis” ou APP. Os aplicativos
foram desenvolvidos para os smartphones com o intuito de executar taferas específicas para
facilitar o dia a dia do usuário. Um exemplo de APP é a calculadora, que até então era utilizada
em um aparelho dedicado à realizar cálculos e foi desenvolvida para fazer a mesma função no
smartphone.
O avanço da tecnologia fez com que as pessoas mudassem a maneira de se comunicar. O
que antes era feito através de cartas e telegramas, após o surgimento dos celulares, passou a ser
feito por mensagem de texto e, atualmente, utilizam-se os aplicativos para esse fim. Essa
facilidade fez com que essa tecnologia se disseminasse. Na América Latina, 98% da população
se comunica utilizando celular [7] e, somente no Brasil, foram vendidos 35 milhões de
smartphones em 2013, o que tornou o país o quarto maior mercado de smartphones do mundo
[8] [9].
Mais de 40 anos de evolução trouxeram diversos benefícios à automação residencial, porém
a ideia de se ter uma casa inteligente é algo distante para a maioria da população devido a não
consolidação dessa tecnologia no mercado. Isto ocorre pois, apesar de o preço dos
equipamentos estarem acessíveis para grande parte das pessoas, o custo de se implementar um
projeto de domótica em uma residência já construída ainda é alto, pois é necessário alterar
grande parte da sua infraestrutura.
Segundo José Cândido Forti, presidente da AURESIDE, [10] “transformar casas em
confortáveis refúgios capazes de oferecer segurança e economia de custos é uma das vantagens
da automação residencial. O que antes parecia ser um privilégio apenas da família Jetson,
começa a se difundir nos empreendimentos residenciais de alto nível, transformando o conceito
de casa do futuro em casa do presente”.
Os sistemas domóticos podem ser divididos em vários outros subsistemas, os principais
deles estão descritos na tabela 1 [11].
13
Tabela 1. Subsistemas da Domótica. Fonte: [2]
Energia Elétrica – faz o gerenciamento da energia até mesmo com alternativas para sua falta.
Iluminação – controle da iluminação com foco em conforto e diminuição de gasto de energia.
Segurança e Alarme – monitora a entrada e saída da residência.
Multimídia – Controle de audio e vídeo.
Água e Dejetos – Monitora o abastecimento de água, os dejetos e lixo.
Combate a incêndio – Monitora a presença de fumaça e fogo.
2.1. DOMÓTICA INTELIGENTE
A domótica inteligente tem como principais características: possuir memória, ter noção
temporal, interagir com os habitantes e capacidade de interagir com todos os ambientes em
várias condições. Dessa forma, o sistema deve ser capaz de aprender dinamicamente com os
comportamentos dos habitantes, através de sensores e inteligência artificial, gravar em uma
memória e comandar dispositivos de acordo com a necessidade da pessoa, sem que ela tenha
que dar os comandos (apenas através dos compartamentos e costumes), como se a residência
tivesse vida própria [11].
Um exemplo de automação baseada em comportamento é o sistema ABC, que foi a
primeira modalidade aplicada na domótica inteligente [12]. Através do diagrama de blocos da
figura 1 é possível verificar que esse sistema também é dotado de um controlador, porém este
recebe sinais de sensores, regras de segurança e um banco de dados que faz a aquisição, de
acordo com o comportamento do habitante, dos dados de ações da pessoa e cria regras para
executar novamente quando necessário.
14
Figura 1. Automação baseada em comportamento. Fonte: [12]
2.2. NOVIDADES NA DOMÓTICA
2.2.1. Cozinha robotizada
A primeira cozinha robotizada está prevista para ser lançada pela empresa Moley Robotics
em 2017 [13]. Segundo a empresa Moley: “Cozinhar será tão fácil como escolher uma receita
de uma base de dados e esperar” . A cozinha será equipada por dois braços robóticos
articuláveis com mãos que reproduzirão todas as funções humanas com a mesma velocidade,
movimento e sensibilidade de uma pessoa [14], como pode ser visto na figura 2. Ela será
equipada por uma tela touch screen, de onde poderá ser operada.
Figura 2. Cozinha Robotizada, empresa Moley. Fonte: [14]
15
Além disso, o usuário poderá controlar a cozinha através de um smartphone, cujo aplicativo
pode ser visto através da figura 3.
Figura 3. Aplicativo para operar Cozinha Robotizada da empresa Moley. Fonte: [14].
2.2.2. Domótica para pessoas com deficiência
Outra novidade apresentada na domótica foi com relação à utilização da tecnologia para
inclusão de pessoas com deficiência na sociedade, tornando factíveis atividades que até então
não eram possíveis. Um exemplo disso foi com relação a pessoas surdas: como elas sabem se a
campanhia está tocando, se o alarme de incendio está ativo ou até mesmo se seu filho está
chorando? Para auxiliar nessas situações, foram desenvolvidos dispositivos, como o Deaf Smart
Space, que se baseia em sensores que captam e gerenciam sons emitidos no ambiente e os
traduzem por meio de vibrações que serão reconhecidas pelo usuário com deficiência [15].
2.2.3. Adaptador Inteligente para Tomadas
Pensando na redução do consumo de energia, um grupo de alemães desenvolveu um
adptador inteligente para tomadas, denominado Parce (figura 4). Esse conector inteligente é
capaz de medir o consumo dos aparelhos nele conectados e, através da conexão com a internet,
o usuário pode monitorar o quanto cada aparelho está consumindo e comandar remotamente a
energia máxima que cada eletrônico e eletrodoméstico pode consumir [16].
16
Figura 4. Parce - Adaptador inteligente para tomadas. Fonte: [16].
2.2.4. Avi-on Switch - Interruptor Inteligente
Com a finalidade de tornar simples a inclusão de um interruptor em uma residência e se
ter o controle da iluminação através do celular, foi desenvolvido o Avi-on Switch (figura 5).
Essa nova tecnologia se conecta via Bluetooth a um adaptador especial (que fica entre a lâmpada
e a tomada) ou a uma lâmpada com comunicação Bluetooth, da mesma empresa (Avi-on) [12].
A grande vantagem é que para sua instalação não é necessário fazer nenhum tipo de reforma na
residência, apenas fixá-lo na parede.
Figura 5. Avi-on Switch – Interruptor Wireless. Fonte [17].
17
3. FUNDAMENTAÇÃO TEÓRICA
3.1. ARDUINO
Arduino é uma placa de prototipagem de origem italiana para desenvolvimento de projetos
que necessitem de funções de um microcontrolador. O intuito inicial do seu desenvolvimento
foi para fins educacionais porém, após o seu lançamento, o sucesso foi tão grande que atingiu
o meio empresarial e residêncial com muitos projetos inovadores [18]. A grande vantagem do
Arduino é não precisar de nenhuma licença de denvolvedor para utilizá-lo, além disso, ele
possui um software dedicado (IDE) para programação (em uma liguagem de alto nível
denominada “Linguagem de Programação do Arduino”, baseada em C++) e comunicação com
o computador através de um cabo USB, o que o torna acessível à maioria das pessoas que
possuem médio conhecimento em informática e eletrônica [18]. Com ele é possível receber
sinais através de sensores, internet, SMS, etc e convertê-los em sinais de saídas para
acionamento de dispositivos como: motores, lâmpadas, televisores etc.
As vantagens desse microcontrolador é que seu custo é baixo e ele dá a possibilidade de
expansão da placa com módulos que podem ser utilizados em conjunto com a placa principal
(Arduino) denominados Shields. Tem-se como exemplo o Bluetooth Shield HC-06 que é uma
expansão do Arduino para possibilitar a utilização da comunicação de dados através do
protocolo sem fio Bluetooth (Figura 6). Além desse, também existe: a expansão para
comunicação ethernet (Ethernet Shield), controle de motores (Motor Shield) – ilustrado pela
figura 7, entre outros.
Figura 6. Bluetooth Shield HC-06. Fonte: [19]
18
Existe uma grande diversidade de modelos do Arduino que deve ser escolhido de acordo
com a necessidade e complexidade do projeto. Alguns deles são: Uno, Mega, Pro, Micro, Pro
Mini, Nano, etc.
Os mais utilizados são o Arduino/Genunio Uno (básico) e o Arduino Mega (possui uma
maior quantidade de I/O) ilustrados pelas figuras 8 e 9, respectivamente. Para esse projeto, ficou
definido a utilização do Arduino Mega devido a quantidade de dispositivos que serão acionados
pelo microcontrolador.
Figura 7. Arduino Motor Shield L293d. Fonte: [20].
Figura 8. Arduino / Genuino Uno. Fonte: [21]
19
A especificação técnica do Arduino Mega pode ser vista através da tabela 2 [18].
Tabela 2. Especificação técnica - Arduino Mega. Fonte: [18].
Microcontrolador Atmega2560
Tensão de Operação 5V
Tensão Alimentação (Recomendado) 7-12V
Tensão Alimentação (Limites 6-20V
Pinos I/O Digital 54 ( 15 podem ser saida PWM)
Pinos Entrada Analógica 16
Corrente DC por pino I/O 20mA
Corrente DC para pino 3.3V 50mA
Memória Flash 256 KB, 8 KB usado para o Bootloader
SRAM 8 KB
EEPROM 4 KB
Frequência de Clock 16 MHz
Comprimento 101,52 mm
Largura 53.3 mm
Peso 37 g
Figura 9. Arduino / Genuino Mega. Fonte: [22]
20
3.2. SERVO MOTOR
O servo motor é uma máquina síncrona muito utilizada em projetos que necessitem de
precisão na posição do motor (figura 10). Ao contrário dos motores contínuos, ele necessita de
um comando de posição (proveniente de uma malha com controle) para que o seu
funcionamento possa ser de rotação nos dois sentidos. No caso desse projeto, ele receberá um
sinal de controle do Arduino que determinará a sua posição e a velocidade de rotação
necessárias para executar as ações requeridas pelo usuário.
O componentes internos do servo motor podem ser vistos através da figura 11, que consiste
em: circuito de controle, potenciômetro, motor, engrenagens e a caixa.
Figura 11. Mecanismo interno do servo motor. Fonte: [24].
Figura 10. Servo Motor. Fonte: [23].
21
Na caixa do sevo ficam todos os seus componentes, exceto a redução de engrenagens. O
circuito de controle é responsável pelo monitoramento do potenciômeto e acionamento do
motor para que se possa obter a posição desejada. O potenciômetro tem a função de monitorar
a posição do eixo de saída do servo e o motor movimenta as engrenagens e, consequentemente,
o seu eixo principal . As engrenagens reduzem a rotação do motor e possibilitam aumentar o
torque no eixo [24].
3.3 DISPLAY DE CRISTAL LÍQUIDO - LCD
O display de cristal liquido (LCD) é um dispositivo capaz de exibir dados em sua tela de
acordo com os comandos enviados aos seus terminais. Existem diversos tamanhos de display e
esses são representados na forma matricial AxB, onde A é número de colunas e B o número de
linhas. Para exemplificar, o display 16x2 (figura 12) possui 32 células, isso significa que ele
possibilita apresentar simultaneamente até 32 caracteres.
O módulo LCD utilizado no projeto foi o de 16 pinos e sua descriçã pode ser vista através
da tabela 3 [26].
Tabela 3. Pinagem do Display LCD. Fonte [26]
Pino Função Descrição
1 Alimentação Terra ou GND
2 Alimentação VCC ou +5V
3 V0 Tensão para ajute de contraste
4 RS Seleção: 1 – Dado, 0 – Instrução
5 R/W Seleção: 1 – Leitura, 0 – Escrita
6 E Chip Select 1 - Habilitado, 0 - Desabilitado
Figura 12. Display LCD 16x2. Fonte: [25]
22
Tabela 3. Pinagem do Display LCD. Fonte [26]
Pino Função Descrição
7 B0 LSB
Barramento
de
Dados
8 B1
9 B2
10 B3
11 B4
12 B5
13 B6
14 B7 MSB
15 A (quando existir) Anodo para LED backlight
16 K (quando existir) Catodo para LED backlight
Para o ajuste de contraste deve-se variar a tensão no pino 3 do LCD (tabela 3) e para isso,
utiliza-se um potenciômetro (no caso desse projeto, foi utilizado o de 10K).
3.4 SENSOR DE PRESENÇA
O Sensor de presença, como o próprio nome diz, é capaz de captar variações de movimento
em um determinado ambiente e converter em um sinal analógico. Para esse projeto será
utilizado o PIR (Sensor Infravermelho Passivo) com uma lente frenel (tem a função de ampliar
o campo de detecção do sensor), como pode ser visto na figura 13. Seu funcionamento é
baseado na captação da variação da radiação infravermelha (calor) no ambiente.
Figura 13. Sensor de Presença PIR. Fonte: [20]
23
Através da figura 14, é possível verificar que o sensor é composto por três pinos (Vcc,
Sinal e GND). Além disso, ele possui dois botões para ajuste da sensibilidade do sensor e tempo
de resposta (figura 14) [25].
Figura 14. Detalhes do sensor de presença PIR. Fonte: [20]
3.5 BUZZER
O buzzer possui um elemento piezoelétrico que tem por característica gerar tensão elétrica
quando submetido a uma tensão mecânica ou uma pressão dinâmica e, de forma inversa, quando
recebe uma carga elétrica, ele sofre uma deformação mecânica [27].
No caso desse projeto, o Arduino ficará encarregado de aplicar uma tensão no buzzer (figura
15) fazendo com que ele emita um som de acordo com a frequência programada.
Figura 15. Buzzer. Fonte: [28]
24
3.6. PADRÃO DE COMUNICAÇÃO SEM FIO – BLUETOOTH
O padrão de comunicação Bluetooth foi desenvolvido pela Ericsson (atual Sony-Ericsson
Corporation) em 1998, inicialmente com o intuito de fazer a comunicação sem fio entre
celulares, isto é, eliminar a utilização de cabos para transferência de dados [29]. Atualmente a
comunicação Bluetooth já ganhou espaço em divesas outras áreas (com outros dispositivos),
inclusive no meio industrial.
Para a comunicação, o Bluetooth opera numa faixa de rádio não licenciada de 2.4 a 2.5 GHz
[29]. A desvantagem do Bluetooth em relação aos protocolos de comunicação industriais
(Wireless Hart, por exemplo) é que, por trabalhar numa faixa de frequência não licenciada,
pode sofrer interferências de outros equipamentos de rádio (Walk Talk, por exemplo) o que o
torna menos confiável que os demais que trabalham em faixas de frequências licenciadas.
Essa tecnologia possui alcance de até 30 metros para comunicação e é uma das tecnologias
mais baratas para troca de dados sem fio entre dispositivos. A velocidade de transmissão de
dados é de até 1 Mb/s (1 megabit por segundo) e seu funcionamento basea-se em comunicação
ponto a ponto onde pode-se conectar até 8 dispositivos entre si. Deve-se definir um dispositivo
como mestre o qual será conectado aos demais (escravos). Esse agrupamento de dispositivos
recebe o nome de piconets. Caso haja necessidade de ampliar a quantidade de dispositivos
pareados, é possível fazer a junção de Piconets e esse agrupamento é chamado de scatternet
(figura 16) [29].
Figura 16. Scatternet e piconets. Fonte: [29].
25
3.7. MIT APP INVENTOR 2
O MIT APP Inventor é uma plataforma online destinada ao desenvolvimento de aplicativos
compatíveis com a plataforma Android. Esse programa permite a elaboração e programação
de aplicativos por linguagem de blocos com uma interface amigável (figura 17), o que facillita
a sua utilização.
Figura 17. MIT APP Inventor. Fonte: Autoria própria.
Como a ideia do lançamento dessa ferramenta foi no intuito de expandir o desenvolvimento
de aplicativos para Android para todos os tipos de usuários, o acesso ao MIT APP é gratuito
com a única necessidade de se ter uma conta de e-mail em algum dos canais da empesa Google.
3.8. ARDUINO IDE
O fabricante do Arduino disponibiliza gratuitamente o Arduino IDE (figura 18) que é o
software para programação da placa (baseada em C++). Com ele é possível selecionar qual a
versão do Arduino será programada, além de disponilizar bibliotecas que facilitam na
elaboração do programa.
26
Figura 18. Arduino IDE. Fonte: Autoria própria.
27
4. MATERIAIS DE MÉTODOS
Para execução do projeto foram utilizados os seguintes materiais:
Madeira MDF: utilizada para a construção da maquete;
Diodos emissores de luz (Leds) 5mm: iluminação dos cômodos e garagem;
Resistências 1/4W (4 x 277 Ohms);
Potenciômetro 10K linear: regulação do contraste do display LCD;
Display LCD 16x2: Status de comando do Arduino;
Servo motor TowerPro SG90: abertura e fechamento do portão;
Acrílico: utlizado para fazer o portão;
Arduino Mega2560: controle dos dispositivos da residência;
Sensor de presença: acionar o buzzer quando houver presença e o alarme estiver
ativo;
Buzzer: emitr o som do alarme;
Bluetooth Shield: responsável pela transferência de dados sem fio entre o
smartphone e o Arduino;
Smartphone com plataforma Android: responsável por fazer a interface entre o
usuário e a placa controladora;
Para dar início ao trabalho, foi necessário o desenvolvimento de uma maquete de uma
residência comum. Como o objetivo é apresentar um exemplo próximo do real, fez-se uma
maquete de uma residência de 4 cômodos e garagem. Suas dimensões são de 50 cm de
comprimento e 37 cm de largura, conforme figura 19.
28
Figura 19. Etapa de montagem da maquete da residência. Fonte: Autoria própria.
Um dos cômodos foi deixado sem janela com a intenção de armazenar a parte eletrônica do
projeto (placas e protoboard). Através da figura 20 é possível verificar a montagem do display
(parte inferior direita da figura), do servo motor (parte superior direita da figura) além da
interligação entre os dispositivos, o protoboard e o Arduino.
Figura 20. Maquete finalizada. Fonte: Autoria própria.
A primeira etapa do projeto é referente a parte construtiva e de montagem (hardware). Para
iluminação dos cômodos e da garagem foram utilizados diodos emissores de luz (leds) de 5mm
(com resistências de 277 ohms). A montagem foi feita conforme a figura 21.
29
Figura 21. Montagem dos componentes na maquete. Fonte: Autoria própria.
A segunda etapa do trabalho é referente a parte lógica (software) do projeto que consiste na
elaboração do aplicativo e programação do Arduino para receber os comandos e executá-los de
acordo com a necessidade do usuário. Para o desenvolvimento do aplicativo utilizou-se o MIT
APP Inventor, que é um site disponibilizado pela Google para criação de aplicativos que podem
ser utilizados em qualquer smartphone com a plataforma Android.
O primeiro passo foi a montagem do layout do app de tal forma que a pessoa que for utilizá-
lo não tenha dificuldades em interpretar a função de cada botão. Para isso, dividiu-se o
aplicativo em 4 partes: Conectividade, Iluminação, Acesso e Segurança. A conectividade é
referente a comunicação entre o Arduino e o Smartphone. A primeira linha mostra o status de
conecção, que se inicia com a seguinte mensagem: “Nenhum Dispositivo Conectado”. Quando
há conecção o status se altera para o nome dado ao módulo do bluetooth: “TCC SARTORI”. O
procedimento para conecção consiste em parear o aparelho ao módulo bluetooh (através do
próprio smartphone), em seguida, apertar o botão “Procurar Dispositivo”, selecionar o módulo
bluetooth e pressionar o botão “Conectar Bluetooth”. Foram programadas notificações para
retornar com o status dessa ação, além de o nome do botão se alterar para “Desconectar
Bluetooth” e sua cor mudar de verde para vermelho em caso de sucesso na conecção. Essa
primeira parte do app pode ser vista na figura 22.
Figura 22. Aplicativo – Parte de Conexão. Fonte: Autoria própria.
30
Para o controle da iluminação foi utilizado um label (etiqueta) com o nome de “Iluminação”
e botões com status de “Ligar”, quando a luz estiver apagada e “Desligar”, quando estiver acesa.
Acima de cada botão existe uma etiqueta para indicar a luz de qual cômodo (Quarto, Sala,
Cozinha e Garagem) será comandada. Quando a luz está apagada o nome do cômodo na
etiqueta fica na cor branca, quando está acesa a cor do nome se altera para amarelo. Além disso,
o status do comando é mostrado no Display: “Quarto – off”, Quarto – on”, por exemplo. A
parte do aplicativo referente à iluminação pode ser vista través da figura 23. Além desses, foi
adionado um botão com o nome “Apagar Iluminação Geral” com a finalidade de apagar as luzes
de todos os cômodos e garagem ao mesmo tempo.
Figura 23. Aplicativo – Parte de Iluminação. Fonte: Autoria própria.
A parte do aplicativo destinada ao controle do portão foi denominada de Acesso, que
consiste em um botão com status inicial de “Abrir Portão Garagem” (quando o portão está
fechado, conforme figura 24) e, após a abertura, o nome do botão se altera para “Fechar Portão
Garagem”. No momento em que o portão está abrindo, o display foi programado para exibir a
seguinte mensagem: “Abrindo Portao” . Quando ele está fechando, a seguinte mensagem é
exibida: “Fechando Portao”.
Figura 24. Aplicativo – Parte de Acesso. Fonte: Autoria própria.
31
A última parte do aplicativo consiste na controle do alarme e foi denominada de Segurança.
Para ativar e desativar o alarme colocou-se um botão com o nome de “Ativar alarme”, quando
o alarme estiver desativado (figura 25) e “Desativar alarme”, quando ele estiver ativo.
Figura 25. Aplicativo – Parte de Segurança. Fonte: Autoria própria.
Após a criação do layout do aplicativo, iniciou-se a sua programação, que deve ser feita,
através do MIT APP Invetor, por linguagem de blocos de funções. Inicialmente declarou-se as
variáveis de acordo com a necessidade do aplicativo (figura 26).
Figura 26. Programação APP - Declaração de Variáveis Globais.
Feito isso, programou-se as ações a serem realizadas pelo aplicativo toda vez que ele fosse
inicializado (figura 27).
Figura 27. Programação da inicialização do aplicativo. Fonte: Autoria própria.
32
A programação para o botão Conectar pode ser visto através da figura 28. Primeiramente
fez-se os comandos para verificar se o smartphone está pareado com o módulo bluetooth do
arduino e, caso positivo, ele se conecta ao dispositivo. Quando o dispositivo está conectado o
aplicativo foi programado para que haja a troca da cor e nome do botão e um alerta é exibido
informando que o dipostivo está conectado. Caso não satisfaça a primeira condição imposta
(dispositivo pareado), uma notificação é exibida ao usuário informando que o dispositivo não
está pareado.
Figura 28. Programação para conecção Bluetooth (botão Conectar). Fonte: Autoria própria.
O botão procurar permite a visualização dos dispositivos pareados com o smartphone e a
escolha do dispositivo a ser conectado quando o botão “Conectar” for pressionado. Sua
programação pode ser vista na figura 29. Antes da escolha do dispositivo (primeiro bloco da
figura 29), o aplicativo é programado para listar todos os dispositivos possíveis para se conectar
e, no segundo bloco, a programação é destinada para armazenar o dispositivo selecionado na
variável global “dispositivo” para que ele seja utilizado na programação do botão “Conectar
Bluetooth”.
33
Figura 29. Programação botão Procurar. Fonte: Autoria própria.
Para o comando da iluminação da cozinha foi feita a progração conforme a figura 30 .
Ao pressionar o botão denominado “cozinha”, o aplicativo envia um texto, no caso a letra “c”,
para o módulo Bluetooth, que está programado para recebê-lo e realizar a ação de alterar o nível
lógico da saída referente à iluminação da cozinha para 1 e acender o led instalado neste cômodo.
O Bluetooth Shield por sua vez, retorna com o status do pino (1 para ativo ou 0 para não ativo)
que é armazenado na variável cozinha e, quando o valor é 1 (luz acesa), o texto do botão é
alterado para “Desligar” e a cor do texto da etiqueta (no caso Cozinha) é alterado para amarelo.
Caso seja 0, ele volta para o seu estado inicial.
Figura 30. Configuração da iluminação da cozinha. Fonte: Autoria própria.
Os demais botões de iluminação foram programados de forma similar, apenas alterando o
texto enviado para o comando da luz de cada cômodo, como pode ser visto na figura 31.
34
Figura 31. Programação da iluminação do quarto, sala e garagem. Fonte: Autoria própria.
Os botões referentes ao comando de abertura e fechamento do portão e de ativação do
alarme foram programados de forma semelhante (figura 32). O único detalhe diferente na
programação dos comandos do portão é que o Arduino retorna o valor do ângulo do motor.
Nesse caso, a lógica foi feita baseada no estado inicial 90º (portão fechado) e final 1º (portão
aberto).
Figura 32. Programação dos botões Alarme e Portão. Fonte: Autoria própria.
35
Por fim, a programação do botão “Apagar Iluminação Geral” consiste no envio da letra
“t” ao Arduino (para que ele passe o nível de sinal de todas as saídas referentes à iluminação da
residência para zero) e altere o texto dos botões para o status inicial (ligar) e a cor do texto da
etiqueta para branco (definido como luz apagada), como pode ser visto na figura 33.
Figura 33. Programação botão "Apagar Luz Geral". Fonte: Autoria própria.
A última etapa do trabalho foi a programação da placa controladora através do software
Arduino IDE, que pode ser encontrada no Apêndice A. Primeiramente foi necessário incluir
duas bibliotecas ao programa referentes ao controle do servo motor e à programação do display.
As bibliotecas são “LiquidCrystal.h” e “Servo.h”. Feito isso foram declaradas todas as
variáveis utilizadas no programa, assim como todos os pinos utilizados no Arduino (iluminação,
display, controle do servo, etc).
O programa no arduino pode ser divido em duas partes: setup() e loop(). Todas as linhas
de programação presentes dentro do setup() são rodadas apenas uma vez no programa (na sua
inicialização). Já o loop() é rodado inúmeras vezes até que a placa seja desligada. Na primeira
parte (setup) foi programada a inicialização da comunicação serial da placa Arduino com o
módulo Bluetooth e definido qual será a taxa de transferência de dados, no caso 9600 bits por
segundo, que é o padrão do modulo Bluetooth utilizado. Além disso, programou-se o display
36
para exibir uma mensagem de apresentação: “TCC – UNESP” na primeira linha e “Renato
Sartori” na segunda linha. Feito isso, foram declarados todos os I/O’s do programa e foi
definido o ângulo inicial do servo motor (90º), como pode ser visto através da figura 34.
Figura 34. Programação Setup() do Arduino. Fonte: Autoria própria.
Na segunda parte da programação do Arduino (loop), foram incluidos todos os comandos
que irão rodar constantemente na utilização do projeto. Para ativar o buzzer (som do alarme)
foi inserida uma condição de que tanto o estado da variável “estadoalarme” (controlado pelo
usuário através do aplicativo) como o estado da variável “estadosensor” devem estar com o
nível lógico igual a 1 (High), como pode ser visto na figura 35. A variável “estadosensor” é
alterado de acordo com o status do sensor de presença, que teve seu sinal de saída conectado
ao pino do Arduino definido como entrada em Setup() – Figura 34. Dessa forma, quando o
sensor capta presença, ele envia um sinal para o pino conectado a ele e altera o nível lógico da
variável “estadosensor” para 1.
Figura 35. Condição para ativar Buzzer. Fonte: Autoria própria.
37
Para receber os comandos do aplicativo foi criada uma variável denominada “valorlido”.
Com isso, de acordo com o botão pressionado através do smartphone, um texto é armazenado
na variável criada e comparado no programa do Arduino para executar a ação correta,
correspondente ao comando dado pelo usuário. Para que a ação não fosse executada inúmeras
vezes, colocou-se um comando para fazer o comparativo somente com a comunicação serial
ativa, isto é, quando houver transmissão de dados. Dessa forma, cada vez que o usuário
pressiona um botão, o smartphone envia, via bluetooth, o texto correpondente ao Arduino
(através do módulo Bluetooth) e este faz o comparativo com todas as ações possíveis no
programa uma única vez, afim de buscar o acionamento correto. Um exemplo pode ser visto
através da figura 36. Nesse caso o Arduino deve receber o texto “a” (enviado pelo smartphone)
para inverter o estado da saída referente ao pino do quarto (definido no início do programa).
Isto é, caso a luz esteja acesa, irá apagar e se estiver apagada irá acender. O status é mostrado
no display por 2000 ms (2 segundos) e, após isso, a mensagem de apresentação é exibida
novamente.
Figura 36. Programação do comando da iluminação do quarto. Fonte: Autoria própria.
38
As demais linhas de programação seguem a mesma lógica de reconhecimento de
comando dado pelo usuário através do texto pré-definido para cada ação no aplicativo do
smartphone. No Apêndice A é possível verificar todas as linhas de programação com seus
devidos comentários.
Através da figura 37 é possível visualizar a maquete finalizada já com todos os
dispositivos interligados, o Arduino ligado e o display exibindo a mensagem de apresentação.
Figura 37. Maquete finalizada com Arduino ligado. Fonte: Autoria própria.
39
5. RESULTADOS E DISCUSSÃO
Para a utilização do sistema, existe a necessidade de, primeiramente, conectar o smartphone
ao módulo Blutooth. Com intuito de restringir o uso do sistema apenas à usuários desejados, foi
incluída uma senha numérica (1080) ao Bluetooth Shield, necessária para parear o smartphone
ao Arduino. O procedimento pode ser visto através do fluxograma da figura 38.
Figura 38. Fluxograma para utilização do sistema. Fonte: Autoria própria.
A comunicação Bluetooth entre o Arduino e o smartphone apresentou-se estável. Em alguns
testes onde o servo motor estava operando com sua capacidade próxima da máxima (ângulo
maior que o máximo determinado pelo fabricante) a potência fornecida pela fonte não foi
suficiente para suprir todos os elementos do projeto e, assim, a corrente caía de tal modo que o
módulo Bluetooth ficava inativo por um instante e perdia a comunicação com o smartphone.
Para solucionar esse problema, regulou-se o ângulo de abertura do portão para que ele não
ultrapassasse o limite máximo de rotação do servo motor.
A transferência do programa desenvolvido no Arduino IDE para a placa controladora deve
ser feita através da porta USB do computador. As comunicações entre o Arduino e o PC e o
Arduino e o Módulo Bluetooth são seriais, por esse motivo, sempre que se tentava transferir os
dados do programa para a placa controladora, havia conflito no tráfego de dados e não era
possível carregar o programa no Arduino. Para solicionar esse problema, toda vez que era
necessário carregar o programa na placa controladora, antes de iniciar a transferência de dados,
40
retirava-se a alimentação elética do módulo Bluetooth, mantendo apenas a comunição serial
entre o PC e o Arduino.
Com o aplicativo já finalizado e a maquete montada, fez-se alguns testes utilizando um
smartphone com plataforma Android. Para isso, foram enviados comandos através do
smartphone, como por exemplo: acender a luz do quarto, abrir portão da garagem, acender luz
da cozinha, etc. O Arduino executou as ações conforme o esperado (ativando as luzes desejadas
e abrindo ou fechando o portão) e o status foi exibido no display de acordo com a ação
executada, conforme figura 39.
Figura 39. Projeto em funcionamento. Fonte: Autoria própria.
Para o teste do alarme, inicialmente programou-se o display para receber o nível lógido
do pino conectado ao sensor a fim de verificar se o mesmo estava funcionando corretamente.
Feito isso, realizou-se o teste ativando o alarme através do aplicativo e, com o sensor de
presença já instalado na sala e devidamente programado, simulou-se o sinal de presença dentro
da casa. O resultado foi de acordo com o esperado, ativando o som do buzzer e alterando a
mensagem do display para “Pega Ladrao!!” (figura 40) até o que alarme fosse desativado
através do aplicativo instalado no smartphone.
41
Figura 40. Alerta para presença dentro da casa com alarme ativado. Fonte: Autoria própria.
Com o intuito de verificar o nível de dificuldade que usuários com diferentes idades e níveis
de conhecimento e afinidade com smartphones teriam ao utilizar o aplicativo, fez-se uma
pesquisa com algumas pessoas. Para isso, 15 indivíduos foram submetidos a fazer o uso do
aplicativo juntamente com a maquete (executar tarefas como: acender a luz de cada cômodo,
abrir e fechar o portão, ativar o alarme etc) e responder o questionário presente na tabela 4.
Tabela 4. Questionário realizado para pesquisa com usuários do projeto. Fonte: Autoria própria.
1.Qual sua experiência com tecnologias
móveis?
Alta Baixa Nula
2.Sabe o que é domótica? Sim Não Ouvi falar
3.Em qual faixa de idade você se enquadra? Até 15
anos
De 16 a
30 anos
De 31 a 50
anos
Acima de
50 anos
4.Qual o nível de dificuldade você
encontrou ao utilizar o aplicativo?
Alta Baixa Nula
5.Conseguiu conectar o bluetooth sem
auxílio de ninguém?
Sim Não
6.Conseguiu executar as tarefas? Sim Não Parcialme
nte
7.Utilizaria esse sistema na sua casa? Sim Não
As respostas dos usuários ao questinário, após a utilização do sistema, podem ser vistas na
tabela 5.
42
Tabela 5. Respostas dos usuários após utilizarem o projeto. Fonte: Autoria própria.
Usuário Quest. 1 Quest. 2 Quest. 3 Quest. 4 Quest. 5 Quest. 6 Quest. 7
1 Alta Não De 31 a
50 anos
Baixa Não Sim Sim
2 Alta Não Acima de
50 anos
Alta Não Parcial Não
3 Alta Não Até 15
anos
Nula Não Sim Sim
4 Baixa Não Acima de
50 anos
Baixa Não Sim Sim
5 Alta Não De 16 a
30 anos
Nula Sim Sim Sim
6 Alta Não De 31 a
50 anos
Baixa Não Sim Sim
7 Alta Sim Acima de
50 anos
Nula Sim Sim Sim
8 Baixa Não De 16 a
30 anos
Baixa Não Sim Sim
9 Baixa Não Acima de
50 anos
Baixa Não Sim Sim
10 Alta Não Até 15
anos
Nula Não Sim Sim
11 Alta Não De 16 a
30 anos
Nula Não Sim Sim
12 Alta Sim De 31 a
50 anos
Nula Sim Sim Sim
13 Alta Sim De 16 a
30 anos
Nula Sim Sim Sim
14 Alta Sim De 16 a
30 anos
Nula Sim Sim Sim
15 Alta Não De 16 a
30 anos
Nula Sim Sim Sim
Para se obter um resultado satisfatório, a pesquisa foi feita com pessoas de diversas faixas
etárias. Notou-se que um percentual muito pequeno (6,7%) de pessoas não tem familiariadade
com tecnologias móveis, como pode ser visto na figura 41.
43
Figura 41. Grau de experiência com tecnologias móveis. Fonte: Autoria própria.
Através da pesquisa foi possível verificar que apenas 26,7% das pessoas sabem o que é
domótica (Figura 42) o que mostra que a concepção de casa automatizada ainda não está
disseminada no Brasil.
Figura 42. Percentual de pessoas que sabem o que é domótica. Fonte: Autoria própria.
A maioria das pessoas não encontrou dificuldades ao utilizar o aplicativo e todas
conseguiram executar as tarefas, mesmo que parcialmente, o que prova que a sua interface com
o usuário é amigável. Por outro lado, apenas 40% das pessoas conseguiram conectar o
smartphone ao módulo Bluetooth sem o auxílio de outra pessoa. A maior dificuldade
encontrada foi em saber que, para toda troca de informações via Bluetooth, existe a necessidade
de, primeiramente, emparelhar o dispositivo com o aparelho celular para depois fazer a
conexão. Para isso, deve-se ter uma noção básica de comunicação Bluetooth e, como a
tendência atual é a transferência de dados por meio da internet (e-mail, aplicativos destinados
a troca de mensagens e arquivos, etc), poucas pessoas estão habituadas com esse tipo de
comunicação entre dispositivos. Os gráficos da pesquisa relacionada à usuabilidade do
aplicativo podem ser vistos através da figura 43.
44
Figura 43. Percentual de pessoas com dificuldades em conectar e utilizar o aplicativo. Fonte: Autoria
própria.
Pode-se notar que, após conectar o smarphone à placa controladora, mesmo os usuários
com pouca experiência com dispositivos móveis conseguiram executar as tarefas e se
interessaram em implementar esse projeto em suas residências. Apenas um usuário (6,7% dos
intrevistados), que não tinha nenhum conhecimento de smartphone, não utilizaria o sistema em
sua casa (figura 44) mas, ainda assim, executou as tarefas de forma parcial. Importante ressaltar
que esse usuário está na faixa etária acima de 50 anos (Usuário 2 – Tabela 6) e possivelmente
não utilizaria o sistema em sua residência pelo receio de não aprender a utilizar o aplicativo.
Figura 44. Percentual de pessoas que utilizaria o sistema em sua residência e conseguiu executar as
tarefas. Fonte: Autoria própria.
45
6. CONCLUSÕES
O sistema desenvolvido obteve um nível de aceitação de 93,3%, constatado através da
pesquisa realizada com pessoas de diferentes idades.
Após os testes realizados, notou-se que o Arduino apresentou uma boa performace
executando todas as ações programadas e, assim, atendendo a necessidade do projeto. A
conexão entre o módulo bluetooth e o smartphone se mostrou estável. Dessa forma, pode-se
concluir que ele é uma ótima opção para automação de residencias no geral, apenas com o
cuidado de quantificar os I/O necessários a fim de especificar o modelo correto para atender a
necessidade de cada projeto.
A resposta da placa controladora aos comandos dados pelo usuário através do aplicativo
dedicado ao sistema foi imperceptível. Para que o display apresentasse a mensagem de status
de cada ação, foi adicionado um delay de 2 segundos para cada comando dado pelo usuário,
sendo esse o único tempo de resposta perceptível pelo mesmo.
Com a construção da maquete e interligação de cada dispositivo a ser comandado, foi
possível notar que o ideal para se ter uma residência automatizada é fazer algumas modificações
na sua infraestrutura pois, apesar de os comandos dados pelo usuário serem todos Wireless, seja
através de um celular convencional, smartphone, tablet etc, a interligação entre a placa
controladora e o elemento que será comando é feita através de cabos.
Com isso, pode-se perceber que a domótica já é algo viável para a maioria da população
pois o custo dos equipamentos está bem mais acessível. O que onera o projeto é a obra que deve
ser feita em uma residência já contruída. Dessa forma, para melhor viabilizar a automação da
residência, o ideal é que no momento da sua construção já seja prevista a instalação da central
controladora e a interligação entre os elementos a serem comandados.
Através da pesquisa realizada com os usuários, foi possível verificar que, apesar de a ideia
da domótica não estar disseminada no Brasil, o projeto teve um nível de aceitação de 93,3% e
apenas 6,7% das pessoas não foram capazes de executar todas as tarefas, atendendo a ideia
inicial do projeto: desenvolver um sistema integrado de software e hardware que
proporcionasse conforto e segurança em residências com um aplicativo amigável afim de
atender até mesmo pessoas com baixo conhecimento na utilização e manipulação de um
smartphone.
46
7. REFERÊNCIAS
[1] WORTMEYER, C. FREITAS, F. CARDOSO, L. Automação Residencial: Busca de
Tecnologias visando o Conforto, a Economia, a Praticidade e a Segurança do Usuário.
Resende – RJ. Associação Educacional Dom Bosco, 2005.
[2] BOLZANI, C. A. M. Desmistificando a domótica. São Paulo. Escola Politécnica da
Universidade de São Paulo, 2007.
[3] ANGEL, P. M. Introducción a la domótica. Escula Brasileño-Argentina de
Informática. EBAI, 1993.
[4] SGARBI, J. A, TONIDANDEL, F. Domótica Inteligente: Automação Residencial
baseada em Comportamento. São Bernardo do Campo - SP. Centro Universitário da FEI,
2006.
[5] MURATORI, J. R. As tendências do mercado de Automação Residencial.
Congresso Habitar – Congresso de Automação Residencial e Tecnologias para Habitação. São
Paulo, 2005.
[6] SRA ENGENHARIA. Histórico da automação residencial. Disponível em
<http://sraengenharia.blogspot.com.br/2013/01/historico-da-automacao-residencial_0.html>
Acesso em: 09 maio 2016
[7] CNN. Benefícios da revolução da telefonia móvel, 2012. Disponível em:
<http://edition.cnn.com/2012/10/09/business/mobile-society-phone-brazil>. Acesso em 10
maio 2016.
[8] IDCLATIN. Venda de Smartphone no Brasil, 2013. Disponível em <http://br.idclatin.
com/releases/news.aspx?id=1613>. Acesso em: 10 maio 2016.
[9] SAKAMOTO, S.G. Ambientes residencias controlados por dispositivos móveis. Rio
Grande do Norte. Universidade Federal do Rio Grande do norte, 2014.
[10] TEZA, V. R. Alguns aspectos sobre automacao residencial – domótica.
Florianópolis – SC. Universidade Federal de Santa Catarina, 2002.
[11] SGARBI, J. A. Domótica Inteligente: Automação Residencial Baseada em
Comportamento. São Bernardo do Campo. Centro Universitário da FEI, 2007.
[12] TONIDANDEL, F., TAKIUCHI M., MELO E. Domótica Inteligente: Automação
baseada em comportamento. Congresso Brasileiro de Automação. (2004).
[13] FSYS. Cozinha Robotizada, 2016. Disponível em: <http://www.fsys.pt/fsysnews/
cozinha_robot/>. Acesso em: 19 maio 2016.
47
[14] MOLEY. The world’s first robotic kitchen, 2015. Disponível em: <http://www.moley
.com/>. Acesso em: 19 maio 2016.
[15] AURESIDE. Telefônica anuncia que Domótica e Brasil são estratégicos, 2015.
Disponível em: <http://www.aureside.org.br/noticias/telefonica-anuncia-que-domotica-e-
brasil-sao-estrategicos>. Acesso em: 19 maio 2016.
[16] OLHARDIGITAL. Tomada inteligente reduz consumo e desliga sozinha, 2014.
Disponível em: <http://olhardigital.uol.com.br/noticia/tomada-inteligente-reduz-consumo-e-
desliga-sozinha/39863>. Acesso em 02 novembro 2015.
[17] GIZMODO. Interruptor inteligentes. Disponível em: <http://gizmodo.uol.com.br/
voce-pode-colocar-estes-interruptores-sem-fio-em-qualquer-lugar/>. Acesso em: 19 maio
2016.
[18] ARDUINO. Arduino Mega. Disponível em: <https://www.arduino.cc/en/Main/
ArduinoBoardMega2560>. Acesso em: 06 maio 2016.
[19] INSTRUCTABLES. Disponível em: <http://www.instructables.com/id/Connect-
Arduino-Uno-to-Android-via-Bluetooth/>. Acesso em: 18 março 2016.
[20] ARDUINOECIA. Controlando motores DC com Arduino Motor Shield. Disponível
em: <http://www.arduinoecia.com.br/2014/07/arduino-motor-shield-l293d.html>. Acesso em:
02 maio 2016.
[21] PARTS-EXPRESS. Venda de Arduino. Disponível em: <http://www.parts-
express.com/arduino-uno-smd-rev-3-microcontroller-experimenter-board--320-360>. Acesso
em: 18 maio 2016.
[22] REICHELT. Histórico de Venda de Arduino. Diponível em: <http://www.reichelt.de/
Einplatinen-Microcontroller/ARDUINO-EGA/3/index.html?ACTION=3&GROUPID=6667&
ARTICLE=119696&OFFSET=16&SID=14VWgTXqwQATYAAB@1dgEd20c6605acdff51
1a40466a97c3e78fc&LANGUAGE=EN>. Acesso em: 18 maio 2016.
[23] LABDEGARAGEM. Arduino com servomotor. Disponível em:
<http://labdegaragem.com/profiles/blogs/tutorial-arduino-com-servomotor>. Acesso em: 20
fevereiro 2016.
[24] FEIS-UNESP. Aula de Servo Motor. Disponível em: <http://www.feis.unesp.br/
Home/departamentos/engenhariaeletrica/aula-4---servo-motor-13-03-2013-final.pdf>. Acesso
em 19 maio 2016.
[25] BARBACENA, I. L., FLEURY, C. A. Display LCD. Campinas. FEE - Unicamp,
1996.
48
[26] HUINFINITO. Venda de display. Disponível em: <http://www.huinfinito.com.br/
displays/789-display-cristal-liquido-lcd-16x02-az-br.html>. Acesso em 18 maio 2016.
[27] VIGINOSKI, C. L. F. Sistema utilizando vibração de um transdutor piezoelétrico para
medir densidade de um líquido. Curitiba. Universidade Federal do Paraná, 2013.
[28] AMAZON. Venda de Buzzer. Disponível em: <http://www.amazon.com/
uxcell%C2%AE-Triggering-Active-Buzzer-Module/dp/B00G9RFVPC/ref=pd_sxp_redirect>.
Acesso em: 18 maio 2016.
[29] INFOWESTER. Bluetooth. Disponível em: <http://www.infowester.com
/bluetooth.php>. Acesso em: 20 fevereiro 2016.
49
8. APÊNDICE A – PROGRAMAÇÃO DO ARDUINO
#include<LiquidCrystal.h> //biblioteca para programação do display de cristal líquido
#include<Servo.h> // biblioteca para programação do servo motor
LiquidCrystal lcd(22,24,30,32,34,36); //declaração dos pinos utilizados na saída do display
(RS, ENABLE, D4, D5, D6, D7)
int valorlido; //declaração de variável para receber os texto do smartphone via
bluetooth
int quarto = 46; //declaração da variável com número do pino do Arduino
int sala = 47; //declaração da variável com número do pino do Arduino
int cozinha = 48; //declaração da variável com número do pino do Arduino
int garagem = 49; //declaração da variável com número do pino do Arduino
int alarme =0; //declaração da variável de estado
int estadoquarto =0; //declaração da variável de estado
int estadocozinha =0; //declaração da variável de estado
int estadosala =0; //declaração da variável de estado
int estadogaragem =0; //declaração da variável de estado
int estadoalarme = LOW; //declaração da variável de estado
int estadosensor = LOW; //declaração da variável de estado
int sensor = 40; //declaração da variável com número do pino do Arduino
int posicao=0; //declaração da variável de estado
Servo portao; //declaração do servo motor
void setup() {
Serial.begin(9600); //inicializa a comunicação entre o arduino e o bluetooth shield
com taxa de transferência de dados de 9600 bps.
lcd.begin(16,2); //inicializa o display definindo a quantidade de colunas e linhas
(16x2);
lcd.setCursor(2,0); //posiciona o cursor na terceira coluna e primeira linha
lcd.print("TCC - UNESP"); //escrita no display
lcd.setCursor(1,1); //posiciona o cursor na segunda linha e segunda coluna
lcd.print("Renato Sartori"); //escrita no display
pinMode(quarto,OUTPUT); //define o pino referente ao quarto como saída
50
pinMode(cozinha,OUTPUT); //define o pino referente à cozinha como saida
pinMode(sala,OUTPUT); //define o pino referente à sala como saída
pinMode(garagem,OUTPUT); //define o pino referente à garagem como saída
pinMode(sensor, INPUT); //define o pino referente ao sensor como entrada
portao.attach(9); //define o pino 9 como sendo o controlador do servo
portao.write(90); //posiciona o servo em 90º (definido como posição inicial)
pinMode(8,OUTPUT); //define o pino 8 (refente ao Buzzer) como saída.
}
void loop() {
estadosensor = digitalRead(sensor); //armazena o estado do sensor de presença
if(estadoalarme == HIGH){ //ativa o buzzer somente se o alarme estiver ativo e
houver presença (sensor de movimento)
if(estadosensor == HIGH){
tone(8,10000); //ativa o pino 8 como uma freqência de 10 kHz
lcd.clear(); //limpa o display
lcd.print("Pega Ladrao!!");' //escreve no display
}
}
while(Serial.available()){ //permite a entrada no loop apenas quando há comunicação
serial (troca de dados via bluetooth, entre o smartphone e o bluetooth shield)
valorlido = Serial.read(); //armazena o valor recebido pelo smartphone
if(valorlido == 'a'){ //verifica se o valor recebido é "a" para controlar a luz do
quarto
digitalWrite(quarto, !digitalRead(quarto)); //inverte o nível lógico do pino referente ao
quarto
lcd.clear(); //limpa o display
estadoquarto = digitalRead(quarto); //armazena o nível lógico do pino referente ao
quarto
51
Serial.write(estadoquarto); //envia estado do pino referente ao quarto para o
smartphone
if(estadoquarto == HIGH){ //verificar se o estado do pino referente ao quarto é
1
lcd.print("Quarto - On"); //esqueve no LCD
lcd.setCursor(0,1); //posiciona o cursor do display na coluna 0 e linha 1
delay(2000); //atraso de 2 segundo para passar para próxima linha
lcd.clear(); //limpa o display
lcd.setCursor(2,0); //posiciona o cursor na terceira coluna e primeira linha
lcd.print("TCC - UNESP"); //escreve no display
lcd.setCursor(1,1); //posiciona o cursor na segunda linha e segunda coluna
lcd.print("Renato Sartori"); //escreve no display
}else{ //verifica se o estado não está em 1 para rodar a programação
dentro do "else".
lcd.print("Quarto - Off"); //escreve no display
lcd.setCursor(0,1); //posiciona o cursor na primeira coluna e segunda linha
delay(2000); //atraso de 2 segundo para passar para próxima linha
lcd.clear(); //limpa o display
lcd.setCursor(2,0); //posiciona o cursor do display para a terceira coluna e
primeira linha
lcd.print("TCC - UNESP"); //escreve no display
lcd.setCursor(1,1); //posiciona o cursor da segunda linha e segunda coluna
lcd.print("Renato Sartori"); //escreve no display
}
}
if(valorlido == 'c'){ //verifica se o valor recebido é "c" para controlar a luz da
cozinha
digitalWrite(cozinha, !digitalRead(cozinha)); //inverte o nível lógico do pino referente à
cozinha
lcd.clear(); //limpa o display
estadocozinha = digitalRead(cozinha); //armazena o nível lógico do pino referente à
cozinha
52
Serial.write(estadocozinha); //envia estado do pino referente à cozinha para o
smartphone
if(estadocozinha == HIGH){ //verificar se o estado do pino referente à cozinha é
1
lcd.print("Cozinha - On"); //esqueve no LCD
lcd.setCursor(0,1); //posiciona o cursor do display na coluna 0 e linha 1
delay(2000); //atraso de 2 segundo para passar para próxima linha
lcd.clear(); //limpa o display
lcd.setCursor(2,0); //posiciona o cursor na terceira coluna e primeira linha
lcd.print("TCC - UNESP"); //escreve no display
lcd.setCursor(1,1); //posiciona o cursor na segunda linha e segunda coluna
lcd.print("Renato Sartori"); //escreve no display
}else{ //verifica se o estado não está em 1 para rodar a programação
dentro do "else".
lcd.print("Cozinha - Off"); //escreve no display
lcd.setCursor(0,1); //posiciona o cursor na primeira coluna e segunda linha
delay(2000); //atraso de 2 segundo para passar para próxima linha
lcd.clear(); //limpa o display
lcd.setCursor(2,0); //posiciona o cursor do display para a terceira coluna e
primeira linha
lcd.print("TCC - UNESP"); //escreve no display
lcd.setCursor(1,1); //posiciona o cursor da segunda linha e segunda coluna
lcd.print("Renato Sartori"); //escreve no display
}
}
if(valorlido == 's'){ //idem comentários da programação do "if" anterior
digitalWrite(sala, !digitalRead(sala));
lcd.clear();
estadosala = digitalRead(sala);
Serial.write(estadosala);
if(estadosala == HIGH){
lcd.print("Sala - On");
lcd.setCursor(0,1);
53
delay(2000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TCC - UNESP");
lcd.setCursor(1,1);
lcd.print("Renato Sartori");
}else{
lcd.print("Sala - Off");
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TCC - UNESP");
lcd.setCursor(1,1);
lcd.print("Renato Sartori");
}
}
if(valorlido == 'g'){ //idem comentários da programação do "if" anterior
digitalWrite(garagem, !digitalRead(garagem));
lcd.clear();
estadogaragem = digitalRead(garagem);
Serial.write(estadogaragem);
if(estadogaragem == HIGH){
lcd.print("Garagem - On");
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TCC - UNESP");
lcd.setCursor(1,1);
lcd.print("Renato Sartori");
}else{
lcd.print("Garagem - Off");
54
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TCC - UNESP");
lcd.setCursor(1,1);
lcd.print("Renato Sartori");
}
}
if(valorlido == 't'){ //verifica se o valor recebido é "t" para apagar todas as
luzes
digitalWrite(garagem,LOW); //força o nível lógico da saída referente à garagem
para zero.
digitalWrite(sala,LOW); //força o nível lógico da saída referente à sala para
zero.
digitalWrite(cozinha,LOW); //força o nível lógico da saída referente à cozinha
para zero.
digitalWrite(quarto,LOW); //força o nível lógico da saída referente à quarto
para zero.
}
if(valorlido == 'b'){ //verifica se o valor recebido é "b" para controle do
alarme
estadoalarme = !estadoalarme; //inverte o nível lógico da variável de estado do
alarme
Serial.write(estadoalarme); //envia estado da variável de estado do alarme para
o smartphone
if(estadoalarme == LOW){ //verifica o nível lógica da variável de estado do
alarme
noTone(8); //desliga o som do buzzer
lcd.clear(); //limpa o display
lcd.print("Alarme - Off"); //escreve no display
lcd.setCursor(0,1); //posiciona o cursor do display na primeira coluna e
segunda linha
55
delay(2000); //atraso de 2 segundo para passar para próxima linha
lcd.clear(); //limpa o display
lcd.setCursor(2,0); //posiciona o cursor do display na terceira coluna e
primeira linha
lcd.print("TCC - UNESP"); //escreve no display
lcd.setCursor(1,1); //posiciona o cursor na segunda linha e segunda coluna
lcd.print("Renato Sartori"); //escreve no display
}
else{ //verifica se o estado o estado da variável de estado de
alarme é diferente da comparada no if
lcd.clear(); //limpa o display
lcd.print("Alarme - On"); //escreve no display
lcd.setCursor(0,1); //posiciona o cursor na primeira coluna e segunda linha
delay(2000); //atraso de 2 segundo para passar para próxima linha
lcd.clear(); //limpa o display
lcd.setCursor(2,0); //posiciona o cursor da terceira coluna e primeira linha
lcd.print("TCC - UNESP"); //escreve no display
lcd.setCursor(1,1); //posiciona o cursor da segunda linha e segunda coluna
lcd.print("Renato Sartori"); //escreve no display
}
}
if(valorlido == 'k'){ //verifica se o valor recebido é "k" para controle do
portão
lcd.clear(); // limpa o display
posicao = portao.read(); //armazena a posição do servo motor na variável
posição
Serial.write(posicao); //envia a posição do servo para o smartphone
if(posicao == 90){ //verifica se a posição do servo é igual a 90 (definida
como inicial)
while(posicao > 1){ //executa a ação enquanto a posição do servo for
maior que 1 (até o portão abrir)
56
lcd.print("Abrindo Portao"); //escreve no display
for(posicao; posicao >= 1; posicao -=1 ){ //movimenta o motor até chegar na posição
definida
portao.write(posicao); //informa a posição ao motor (através da saída
definida como sinal do servo)
delay(15); //atraso de 15ms entre movimentos (para não ter um
movimento brusco da posição do servo
}
}
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TCC - UNESP");
lcd.setCursor(1,1);
lcd.print("Renato Sartori");
}
if(posicao == 1){ //verifica se o portão está aberto
while(posicao < 90){ //executa a ação enquanto a posição do servo for
menor que 90 (até o portão fechar)
lcd.print("Fechando Portao"); //escreve no display
for(posicao; posicao <= 90; posicao +=1 ){ //movimenta o motor até chegar na posição
definida
portao.write(posicao); //informa a posição ao motor (através da saída
definida como sinal do servo)
delay(15); //atraso de 15ms entre movimentos (para não ter um
movimento brusco da posição do servo
}
}
lcd.setCursor(0,1);
delay(2000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TCC - UNESP");
57
lcd.setCursor(1,1);
lcd.print("Renato Sartori");
}
}
}
}