[Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

8
CENTRO UNIVERSITÁRIO SALESIANO DE SÃO PAULO UNISAL Curso de Ciência da Computação Automação Residencial com Integração do Arduino e SO Android: Um Estudo de Caso¹ Fabiano Augusto Cardoso da Silva e-mail: [email protected] RESUMO O desenvolvimento de microcontroladores programáveis tem possibilitado o surgimento de diversos aplicativos nas mais variadas situações, das quais a automação residencial tem recebido atenção especial devido ao fato de proporcionar segurança. Este trabalho tem por objetivo apresentar a viabilidade da integração entre o Arduino e smartphones com o SO Android, direcionados para controlar alguns aspectos de uma residência. O projeto apresenta o funcionamento de um sistema de automação residencial utilizando um microcontrolador ATmega2560 com um Ethernet shield e módulo de identificação por rádio frequência, capaz de controlar lâmpadas e sensor de temperatura através de um aplicativo do sistema operacional Android para celular ou tablet. Palavras chaves: “Automação residencial”, “Arduino”, “Android”, “ATmega2560”. ¹ Trabalho de conclusão de curso apresentado ao Centro Universitário Salesiano de São Paulo, como parte dos requisitos para a obtenção do Grau de Bacharel em Ciência da Computação. Orientador: Prof. Ms. Carlos Henrique L. Feichas. ABSTRACT - The development of programmable microcontrollers has made possible the emergence of various applications in the most varied situations, where the home automation has received special attention due to security. This work aims to present the feasibility of integration between Arduino and smartphones with Android OS, targeted to control some aspects of a residence. The design features the workings of a home automation system using a microcontroller ATmega2560 with an Ethernet shield and radio frequency identification module, able to control lights and temperature sensor through an application of the Android operating system for mobile or tablet. Keywords: “Automation home”, “Arduino”, “Android, “ATmega2560”. I - INTRODUÇÃO Atualmente pode-se verificar a necessidade da comodidade e facilidade das pessoas em diversas atividades do dia a dia, em especial a automação residencial. O objetivo do projeto visa disponibilizar a interação do cliente com a residência através de tecnologias de baixo custo disponíveis no mercado. O cliente terá interação total com todos os dispositivos da residência ligados ao microcontrolador, através de uma conexão estabelecida entre o roteador wireless e o aplicativo do celular. A interação continua

Transcript of [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

Page 1: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

CENTRO UNIVERSITÁRIO SALESIANO DE SÃO PAULO – UNISAL

Curso de Ciência da Computação

Automação Residencial com Integração do Arduino e

SO Android: Um Estudo de Caso¹

Fabiano Augusto Cardoso da Silva

e-mail: [email protected]

RESUMO – O desenvolvimento de

microcontroladores programáveis tem

possibilitado o surgimento de diversos aplicativos

nas mais variadas situações, das quais a

automação residencial tem recebido atenção

especial devido ao fato de proporcionar

segurança. Este trabalho tem por objetivo

apresentar a viabilidade da integração entre o

Arduino e smartphones com o SO Android,

direcionados para controlar alguns aspectos de

uma residência. O projeto apresenta o

funcionamento de um sistema de automação

residencial utilizando um microcontrolador

ATmega2560 com um Ethernet shield e módulo

de identificação por rádio frequência, capaz de

controlar lâmpadas e sensor de temperatura

através de um aplicativo do sistema operacional

Android para celular ou tablet.

Palavras chaves: “Automação residencial”,

“Arduino”, “Android”, “ATmega2560”.

¹ Trabalho de conclusão de curso apresentado

ao Centro Universitário Salesiano de São

Paulo, como parte dos requisitos para a

obtenção do Grau de Bacharel em Ciência da

Computação. Orientador: Prof. Ms. Carlos

Henrique L. Feichas.

ABSTRACT - The development of programmable

microcontrollers has made possible the

emergence of various applications in the most

varied situations, where the home automation has

received special attention due to security. This

work aims to present the feasibility of integration

between Arduino and smartphones with Android

OS, targeted to control some aspects of a

residence. The design features the workings of a

home automation system using a microcontroller

ATmega2560 with an Ethernet shield and radio

frequency identification module, able to control

lights and temperature sensor through an

application of the Android operating system for

mobile or tablet.

Keywords: “Automation home”, “Arduino”,

“Android, “ATmega2560”.

I - INTRODUÇÃO

Atualmente pode-se verificar a necessidade da

comodidade e facilidade das pessoas em

diversas atividades do dia a dia, em especial a

automação residencial. O objetivo do projeto visa

disponibilizar a interação do cliente com a

residência através de tecnologias de baixo custo

disponíveis no mercado. O cliente terá interação

total com todos os dispositivos da residência

ligados ao microcontrolador, através de uma

conexão estabelecida entre o roteador wireless e

o aplicativo do celular. A interação continua

Page 2: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

também por meio do acesso aos portões da casa

através de cartões de identificação por rádio

frequência. Para a conclusão do projeto foram

utilizados diversos componentes para o Arduino,

descritos durante este artigo. Foi desenvolvido

um aplicativo para o sistema operacional Android

para o gerenciamento dos dispositivos da

residência, ele é responsável para enviar as

requisições ao roteador wireless que são

processadas na placa do arduino, assim ativando

e desativando os atuadores e sensores ligados a

ele.

II - DEFINIÇÕES IMPORTANTES

A seguir são apresentados os conceitos

fundamentais que orientam a produção do projeto

desenvolvido.

A. Microcontroladores

Um microcontrolador é um computador dentro de

um único chip, contendo um processador,

memória e periféricos de entrada/saída. É um

microprocessador que pode ser programado para

funções específicas, em contraste com outros

microprocessadores de propósito geral (como os

utilizados nos computadores). Eles são

embarcados no interior de algum outro dispositivo

(geralmente um produto comercializado) para que

possam controlar as funções ou ações do

produto. Um outro nome para o microcontrolador,

portanto, é controlador embutido. Os

microcontroladores se diferenciam dos

processadores, pois além dos componentes

lógicos e aritméticos usuais de um

microprocessador de uso geral, o

microcontrolador integra elementos adicionais em

sua estrutura interna, como memória de leitura e

escrita para armazenamento de dados, memória

somente de leitura para armazenamento de

programas, EEPROM para armazenamento

permanente de dados e interfaces de entrada e

saída de dados. [1]

B. Sistema operacional do celular

O sistema operacional do celular é o conjunto de

aplicativos cuja função é gerenciar os recursos do

sistema. Por exemplo, definir qual aplicativo será

executado primeiro pelo processador,

gerenciamento da memória, etc. É a plataforma

de interação entre você e o celular. [2]

C. Automação residencial

Hoje o conceito de Automação Residencial está

mudado. Temos ao nosso alcance uma gama de

possibilidades práticas e econômicas que utilizam

a automação, desde a básica até a mais

abrangente, em sistemas de integração para

diversos ambientes. O resultado é um ambiente

prático, confortável, agradável, mais bonito,

valorizado e seguro, tudo isso de acordo com o

interesse do usuário. Trata-se da aplicação de

sistemas de controle baseados na automação

para todas as funções encontradas no ambiente,

integrando seus acionamentos e visando sempre

a praticidade, simplicidade e objetividade dos

comandos. Todas estas funções sem se desfazer

da beleza, do conforto e valorizando o ambiente.

[3]

III - DESCRIÇÃO DO PROJETO

Para o desenvolvimento deste projeto foi criada

uma maquete que representa uma casa real com

os principais itens a serem controlados pelo

smartphone com Android: duas lâmpadas, um

termômetro, um feixe de raio laser e um sensor

de temperatura. A proposta é demonstrar a

viabilidade de se controlar, remotamente, esses

componentes de acordo com as necessidades do

usuário. Nesse contexto, o sistema apresenta

uma interface simples, amigável para que o

usuário leigo possa controlar alguns aparelhos

Page 3: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

em sua residência. A Figura 1 apresenta a

maquete com os componentes citados

anteriormente.

Figura 1 – Maquete com os componentes [12]

As conexões dos componentes foram realizadas

por meio de fios em uma “protoboard” e do

microcontrolador “arduino”, em alguns

componentes foi necessário utilizar a solda para

uma conexão mais robusta. A Figura 2 apresenta

com foram feitas as conexões.

Figura 2 – Conexão Geral [12]

O aplicativo para Android foi desenvolvido com

um design simples e intuitivo para o usuário. Na

tela principal conforme a Figura 3, são muitos

dispositivos que podem ser controlados, porém

somente algumas aplicados a esse projeto.

Figura 3 – Tela principal [12]

Figura 4 – Tela de controle das lâmpadas [12]

Page 4: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

Figura 5 – Tela de controle do alarme [12]

No momento que é acionado alguma

funcionalidade o aplicativo é enviada uma

requisição para ser processada no Arduino.

A comunicação do sistema de automação

funciona por meio de uma conexão wireless entre

o smartphone e o roteador, por sua vez ligado ao

Ethernet Shield por um cabo de rede RJ45, que

esta conectado ao arduino. O aplicativo do

smartphone envia requisições ao arduino via rede

wireless, o arduino processa a requisição e

executa a função. Na Figura 6 é possível ver o

fluxo de comunicação do sistema.

Figura 6 – Fluxo de comunicação [12]

IV - METODOLOGIA UTILIZADA

Definição dos componentes utilizados no projeto.

Arduino Mega

O Arduino mega 2560 é uma placa

microcontroladora baseada no ATMega2560. Ele

tem 54 entrada / saída digital (dos quais 14

podem ser usados como saídas PWM), 16

entradas analógicas, tensão de funcionamento é

de 5V, memória flash de 256 KB sendo 8 KB

utilizada pelo bootloader, velocidade de clock 16

MHz, uma conexão USB e um conector de

alimentação. A Figura 7 apresenta o modelo

utilizado no projeto. [4]

Figura 7 – Arduino Mega 2560 [4]

Page 5: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

Ethernet Shield

O Ethernet shield permite que uma placa Arduino

possa se conectar à uma rede local via cabo

RJ45. O shield é baseado no chip Wiznet W5100

ethernet, que fornece suporte a rede TCP e UDP.

Ele suporta até quatro conexões de soquete

simultâneas e tem velocidade de conexão de

10/100 MB. A Figura 8 apresenta o modelo

utilizado no projeto. [5]

Figura 8 – Ethernet Shield Wiznet W5100 [5]

Módulo de Identificação por Rádio Frequência

O módulo de identificação por Rádio Frequência

também conhecido como módulo de RFID,

permite que uma placa Arduino faça a leitura e

gravação em cartões e tags de codificação

eletrônica com frequência de 125 KHz. Não é

necessário o contato direto com o objeto, em uma

distancia de 6 cm a identificação do cartão ou tag

é feita automaticamente. O módulo é baseado no

chip Philips MFRC522, voltagem de

funcionamento de 3.3V e frequência de operação

13.56 MHz. A Figura 9 apresenta o modelo

utilizado no projeto. [6]

Figura 9 – Módulo de identificação por Rádio Frequência [6]

Rele Shield

O rele shield fornece a maneira mais fácil de

controlar dispositivos de alta tensão. O relé é um

dispositivo eletromecânico ou não, com inúmeras

aplicações possíveis em comutação de contatos

elétricos. Servindo para ligar ou desligar

dispositivos. É normal o relé estar ligado a dois

circuitos elétricos. No caso do Relé

eletromecânico, a comutação é realizada

alimentando-se a bobina do mesmo. Quando uma

corrente originada no primeiro circuito passa pela

bobina, um campo eletromagnético é gerado,

acionando o relé e possibilitando o funcionamento

do segundo circuito. Sendo assim, uma das

aplicabilidades do relé é utilizar-se de baixas

correntes para o comando no primeiro circuito,

protegendo o operador das possíveis altas

correntes que irão circular no segundo circuito

(contatos). A Figura 10 apresenta o modelo

utilizado no projeto.[7]

Figura 10 – Rele Shield [7]

Page 6: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

Sensor de temperatura

O sensor de temperatura LM35 é um sensor de

precisão, fabricado pela National Semiconduct,

que apresenta uma saída de tensão linear relativa

à temperatura em que ele se encontrar no

momento em que for alimentado por uma tensão

de 4-20V dc e GND, tendo em sua saída um sinal

de 10mV para cada Grau Celsius de temperatura,

sendo assim, apresenta uma boa vantagem com

relação aos demais sensores de temperatura

calibrados em “KELVIN”, não necessitando

nenhuma subtração de variáveis para que se

obtenha uma escala de temperatura em Graus

Celsius. A Figura 11 apresenta o modelo utilizado

no projeto. [8]

Figura 11 – Sensor de temperatura LM35 [8]

Sensor de luminosidade LDR

O sensor de luminosidade LDR é um tipo de

resistor cuja resistência varia conforme a

intensidade da luz que incide sobre ele. Um LDR

é um raio de infra-vermelho de entrada que

converte a luz em valores de resistência. É feito

de sulfeto de cádmio ou seleneto de cádmio. Sua

resistência diminui quando a luz é muito alta, e

quando a luz é baixa, a resistência no LDR

aumenta.[9] A Figura 12 apresenta o modelo

utilizado no projeto.

Figura 12 – Sensor de luminosidade LDR [9]

Raio laser

O raio laser é formado por partículas de luz

(fótons) concentradas e emitidas em forma de um

feixe contínuo. Para fazer isso, é preciso

estimular os átomos de algum material a emitirem

fótons. Essa luz é canalizada com a ajuda de

espelhos para formar um feixe.[10] A Figura 13

apresenta o modelo utilizado no projeto.

Figura 13 – Caneta laser [10]

Visor LCD

É um módulo composto por uma tela de cristal

liquido de 16 colunas por 2 linhas, que funciona

em 5V, utiliza um chipset ST7066/HD4478 de

interface paralela. Este ligado a placa do arduino

possibilita exibir as informações em tempo real

em seu visor. A Figura 14 apresenta o modelo

utilizado no projeto.

Page 7: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

Figura 14 – Visor LCD 16x2 [11]

Ferramentas necessárias

Foram utilizadas as seguintes ferramentas para o

desenvolvimento do projeto: IDE Eclipse para o

desenvolvimento do aplicativo em Android, IDE

arduino para o desenvolvimento do código

gravado no microcontrolador. Ferro de solda para

a conexão entre os fios e módulos. Multímetro

para a verificação dos contatos.

V -LINGUAGEM DE PROGRAMAÇÃO

Neste projeto foram utilizadas as linguagens

“Wiring” similar a C/C++ para a gravação no

microcontrolador e Android que é JAVA para o

aplicativo do smartphone.

Um exemplo das principais funções em “Wiring” e

JAVA:

A. Acionamento da lâmpada é feito pela saída

digital 12, quando recebe o comando HIGH ele

liga e quando recebe o LOW desliga.

pinMode(lampada1, 12);

void lampada_on(){

digitalWrite(lampada1, HIGH);

}

void lampada_off(){

digitalWrite(lampada1, LOW);

}

B. Acionamento da lâmpada é feita por meio de

requisições HTTP entre o aplicativo e o arduino, a

placa Ethernet shield permite a atribuição de um

endereço IP, criando uma rede local e quando o

arduino recebe do comando pré-determinado ele

executa uma função.

public void onClick(View arg0) { ClienteHttpGet clienteOFF = new

ClienteHttpGet("http://192.168.0.155:8090/?CMD=L1OFF");}

C. Ativação do alarme, quando o alarme é ativado

a caneta laser lança um feixe de raio laser sobre

o sensor de luminosidade. O efeito sonoro é

ativado quando o qualquer objeto bloqueie o feixe

de raio laser de chegar ao sensor, assim

deixando valor da luminosidade menor que 100,

por sua vez emitindo o som e exibindo no visor

LCD o texto “Invasor Detectado”.

void ativa_alarme(){

valorLido_luminosidade = analogRead(LDR);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Alarme Ativado");

delay(200);

while(valorLido_luminosidade < 100){

digitalWrite(Buzzer, HIGH);

delayMicroseconds(Tom);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Invasor");

lcd.setCursor(4,1);

lcd.print("Detectado");

delay(1000);

} }

VI - TESTES E RESULTADOS

Foram realizados testes de desempenho de

tempo no acionamento das lâmpadas, do sensor

de temperatura e do raio laser pelo aplicativo do

smartphone. E também na leitura e acionamento

de funções pelo cartão de identificação por rádio

frequência.

Page 8: [Artigo_Automacao_Residencial_Arduino_Android]FabianoSilva_v6.pdf

A. No teste de acionamento das lâmpadas pelo

aplicativo o resultado foi satisfatório, o tempo de

resposta foi de aproximadamente 1s entre o

clique no aplicativo até o momento da lâmpada

estar ligada ou desligada.

B. No teste de solicitação da temperatura

ambiente o resultado foi satisfatório, o tempo de

resposta foi de aproximadamente 0,5s entre o

clique no aplicativo até o momento de exibição no

visor de LCD.

C. No teste de acionamento do raio laser o

resultado foi satisfatório, o tempo de resposta foi

de aproximadamente 0,5s entre o clique no

aplicativo até o momento da ativação.

D. No teste de leitura e acionamento de funções

pelo cartão de identificação por rádio frequência,

o resultado foi satisfatório, o tempo de resposta

foi de aproximadamente 0,5s da aproximação do

cartão até o acionamento de uma função.

VII – CONCLUSÕES

Diante do sistema apresentado após os

resultados pode-se concluir que o desempenho

foi ótimo, tendo em vista os materiais de baixo

custo utilizados. O aplicativo desenvolvido é

intuitivo e fácil de usar. O artigo descreveu os

conceitos fundamentais e materiais necessários

para o desenvolvimento do projeto. O sistema

como um todo ficou simples, objetivo e rápido

fazendo que qualquer usuário possa utilizar sem

problemas.

Referências

[1]http://eletronicos.hsw.uol.com.br/microcontrolad

ores1.htm

[2]http://www.zoom.com.br/celular/deumzoom/sai

ba-tudo-sobre-sistema-operacional-de-celular

[3]http://www.gdsautomacao.com.br/public/index.

php?option=com_content&view=article&id=51:o-

que-e-automacao-residencial&catid=1:latest-news

[4]http://arduino.cc/en/Main/ArduinoBoardMega25

60

[5]http://arduino.cc/en/Main/ArduinoEthernetShiel

d

[6]http://www.b2cqshop.com/best/RC522.pdf

[7]http://www.dfrobot.com/wiki/index.php/Relay_S

hield_for_Arduino_%28SKU:DFR0144%29

[8]http://www.webtronico.com/lm35-sensor-de-

temperatura.html

[9]http://www.technologystudent.com/elec1/ldr1.ht

m

[10]http://mundoestranho.abril.com.br/materia/co

mo-funciona-o-raio-laser

[11]http://store.fungizmos.com/items/357

[12]http://arduino4fun.wordpress.com/2012/12/19/

projeto/

Fabiano Augusto Cardoso da Silva

Atualmente é analista de sistemas na empresa

Liebherr Brasil. É formado como Técnico em

Informática pelo SENAC de Guaratinguetá, e está

cursando o 8º período de Ciência da Computação

no Centro Salesiano de São Paulo – UNISAL,

Lorena,SP.