Baixe o app para aproveitar ainda mais
Prévia do material em texto
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: fabianoaugustoacs@hotmail.com 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 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 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] 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 tem54 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] 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] 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. 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. 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.
Compartilhar