You are on page 1of 52

1

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE


CENTRO DE ENGENHARIA ELTRICA E INFORMTICA
DEPARTAMENTO DE ENGENHARIA ELTRICA
CURSO DE GRADUAO EM ENGENHARIA ELTRICA






LUIZ CLAVER PEREIRA GRILO






DESENVOLVIMENTO DE UM SISTEMA DE AUTOMAO RESIDENCIAL
BASEADO EM MICROCONTROLADOR










Campina Grande, Outubro de 2013
2

LUIZ CLAVER PEREIRA GRILO








DESENVOLVIMENTO DE UM SISTEMA DE AUTOMAO RESIDENCIAL
BASEADO EM MICROCONTROLADOR





Trabalho de Concluso de Curso submetido
Unidade Acadmica de Engenharia
Eltrica da Universidade Federal de
Campina Grande como parte dos requisitos
necessrios para a obteno do grau de
Bacharel em Cincias no Domnio da
Engenharia Eltrica.

rea de Concentrao: Controle e
Automao

Orientador: Prof. Dr. Pricles Rezende
Barros










Campina Grande, Outubro de 2013
3

LUIZ CLAVER PEREIRA GRILO




DESENVOLVIMENTO DE UM SISTEMA DE AUTOMAO RESIDENCIAL
BASEADO EM MICROCONTROLADOR



Trabalho de Concluso de Curso submetido
Unidade Acadmica de Engenharia
Eltrica da Universidade Federal de
Campina Grande como parte dos requisitos
necessrios para a obteno do grau de
Bacharel em Cincias no Domnio da
Engenharia Eltrica.




Aprovado em / /





_____________________________________________________
Professor
Universidade Federal de Campina Grande




_____________________________________________________
Professor Dr. Pricles Rezende Barros
Universidade Federal de Campina Grande
4

AGRADECIMENTOS

Agradeo aos meus pais: Marcelo Bezerra Grilo e Tnia Maria Augusto Pereira,
por terem me ensinado a viver! Com eles aprendi a gostar de estudar, viajar, apreciar e
fazer msica, respeitar as pessoas, no fazer coisas erradas e a fazer boas festas!
Aos meus irmo: Simone Augusto Pereira e Marcelo Grilo Jr, pela pacincia. Em
particular ao mais novo, por ter me aguentado nos diversos momentos em que estivemos
juntos, na msica no esporte e nos estudos.
Aos meus amigos, os quais no vou citar nomes, caso contrrio posso me
complicar depois. Com vocs aprendi o que so todos aqueles adjetivos bonitos que
usamos nos poemas e nas letras de msicas. Como sei que nem todos vo ler esse
relatrio, ento fao um especial agradecimento aos amigos que conheci na poca da
universidade. Alguns foram apenas colegas de disciplina ou de estudos. Mas fico feliz
por ter conhecido pessoas que tenho a certeza e vontade de manter contato pelo resto da
vida, todos vocs so parcela importante nessa conquista.
Finalmente agradeo a todos os que fizeram e fazem o curso de Engenharia
Eltrica na UFCG. Aos professores, em especial o Prof. Pricles Rezende Barropor ter
incentivado e apoiado a ideia de fazer um trabalho envolvendo automao residencial e
arduino, ao secretariado em especial a Adail e Tchay, que tornam a nossa vida mais fcil
e doce no tratar dos problemas.

Foi bom, foi divertido e que venha muito mais!
Muito obrigado a todos e at a prxima!











5

RESUMO

A automao residencial vem alavancando ndices de 35% de crescimento no mercado
nacional. Isso se deve ao barateamento dos produtos e popularizao de novas
tecnologias que facilitam a implementao do projeto. A automao residencial pode ser
subdivida em trs segmentos: automao da segurana, controle multimdia e controle e
automao de acionamentos de iluminao e outros circuitos. Um projeto completo
contempla as trs variaes, mas uma vantagem desse tipo de sistema a sua
modularidade, possibilitando ao cliente a instalao sucessiva do sistema. Esse trabalho
tem como objetivo desenvolver um sistema de automao residencial, contemplando
automao da segurana, acionando alarmes atravs da leitura de sensores; e o controle
de acionamentos de circuitos de iluminao e irrigao, tudo isso utilizando o
microcontrolador Arduino como unidade de processamento central. Os principais
objetivos so desenvolver um sistema que seja menos invasivo no processo de instalao
na residncia, que possa ser controlado localmente atravs do smartphone com sistema
operacional Android, utilizando comunicao bluetooth, e que tambm possa ser
controlado de forma remota atravs da internet e, finalmente, que seja um sistema de
baixo custo. Um prottipo da instalao eltrica monofsica de uma casa foi desenvolvido
para validar a arquitetura do sistema de automao proposto e servir como fonte de
estudos para desenvolvimento e aperfeioamento em futuros projetos de automao
residencial.

Palavras chave: Automao residencial; controle; bluetooth; android; instalaes
eltricas.










6

LISTA DE FIGURAS

Figura 1 - Diagrama da arquitetura proposta para o sistema de automao residencial. ........... 10
Figura 2 - Instalao eltrica necessria para acionamento das cargas atravs dos interruptores
ou de comandos bluetooth via celular. ........................................................................................ 11
Figura 3 - Placa de desenvolvimento Arduino, com microcontrolador ATMEL de 8 bits. ....... 13
Figura 4 Diagrama de blocos do microcontrolador Atmega328, unidade de processamento do
Arduino Uno R3. ......................................................................................................................... 14
Figura 5 Tela do software utilizado para escrever os sketchs e programar o Arduino. .......... 18
Figura 6 Diversos shields para ser utilizado como mdulo de expanso das funcionalidades
de hardware do Arduino. ............................................................................................................. 19
Figura 7 Shield Ethernet, acoplado ao Arduino agrega a funo de acesso internet via
TCP/IP. ........................................................................................................................................ 20
Figura 8 Troca de informaes entre mestre e escravo atravs de protocolo de comunicao
SPI. .............................................................................................................................................. 21
Figura 9 Pinos utilizados pela comunicao SPI do shield de expanso ethernet................... 22
Figura 10 Topologia de acesso ao servidor do Arduino de forma remota via internet. .......... 23
Figura 11 Pacote de dados em uma comunicao serial assncrona. ...................................... 25
Figura 12 Hardware bluetooth utilizado para comunicao entre Arduino e smatphone. ...... 26
Figura 13 Conexo entre o mdulo bluetooth e o Arduino. .................................................... 27
Figura 14 Mdulo de construo da interface grfica do aplicativo no AppInventor. ............ 28
Figura 15 Mdulo de programao do AppInventor. Programao intuitiva atravs da
utilizao de blocos para construo da lgica. .......................................................................... 28
Figura 16 Sensor de presena infravermelho. ......................................................................... 29
Figura 17 sensor de umidade do solo. ..................................................................................... 30
Figura 18 Sensor detector de chama e sensor detector de gs. ................................................ 31
Figura 19 Interruptor paralelo ou three-way, necessrio para fazer a instalao eltrica com
acionamento em dois pontos distintos de forma simultnea. ...................................................... 31
Figura 20 Circuito de Acionamento de um rel para controle de carga. ................................. 32
Figura 21 Placa com quatro rels acionado por sinal TTL 5 V, com sadas 220 Vca 10A. . 33
Figura 22 Circuito para promover dimerizao com o Arduino e um triac. ........................... 34
Figura 23 fotografia da placa de controle de potncia de cargas. ........................................... 34
Figura 24 Vistas do sistema de prottipo construdo para testar o sistema de automao
residencial proposto. ................................................................................................................... 36
Figura 25 Construo do prottipo e verso final j com as conexes eltricas efetuadas
conjuntamente com o sistema de automao residencial. ........................................................... 37
Figura 26 Diagrama multifilar da instalao eltrica do prottipo, onde RLn so os rels do
mdulo de acionamento de cargas e U1 o circuito de controle de potncia entregue a carga,
apresentado anteriormente........................................................................................................... 38
Figura 27 Tela inicial do aplicativo......................................................................................... 40
Figura 28 Tela de seleo da conexo com hardware bluetooth ou retorno para tela anterior.
..................................................................................................................................................... 40
Figura 29 Tela de controle dos dispositivos de instalao eltrica do prottipo, trs lmpadas
(ao liga / desliga) e uma carga luminosa, (ao aumenta ou diminui intensidade luminosa). . 41
Figura 30 Captura da tela de controle do sistema via internet. ............................................... 41
Figura 31 Algoritmo para processamento dos dados recebidos na comunicao bluetooth e
acionamento das sadas digitais. .................................................................................................. 43
Figura 32 - Cdigo para o sketch do Arduino. ........................................................................... 44
7


SUMRIO

1. INTRODUO ................................................................................................................... 8
2. ARQUITETURA DO SISTEMA ..................................................................................... 10
3. DESCRIO DETALHADA DO SISTEMA ................................................................ 12
3.1 Unidade central de processamento .......................................................................... 12
3.1.1 O Microcontrolador ATMega328 .................................................................... 13
3.2 Descrio do Softwaredo Arduino ........................................................................... 17
3.3 Mdulo de expanso e conectividade com a internet ............................................. 18
3.4 Conexo com a Internet ............................................................................................ 22
3.5 Controle sem fio via comunicao bluetooth ........................................................... 23
3.6 Smartphone Android e AppInventor ...................................................................... 27
3.7 Mdulos de entrada e sada ...................................................................................... 29
4 DESENVOLVIMENTO DO PROTTIPO EXPERIMENTAL .................................. 35
4.1 Construo do prottipo experimental.................................................................... 35
5 TESTES E RESULTADOS .............................................................................................. 39
5.1 Aplicativo Domotic Blue Server ................................................................................ 39
5.2 Mdulos de Controle e Lgica no Arduino ............................................................. 41
5.2.1 Controle dos Rels ............................................................................................. 42
5.2.2 Automatismos atravs dos sensores ................................................................. 42
5.2.3 Pgina Web do Servidor Implementado ......................................................... 44
6 CONCLUSO E TRABALHOS FUTUROS.................................................................. 46
7 BIBLIOGRAFIA ............................................................................................................... 47
8 ANEXOS ............................................................................................................................ 48










8

1. INTRODUO

Ao terminar o expediente no fim do dia, um indivduo, antes de sair do trabalho,
acessa a internet do seu smartphone e verifica atravs de cmeras a situao de sua casa.
Aciona iluminao externa e interna e pode escolher alguns cenrios de recepo, que
incluem som ambiente ou temperatura padronizada. Ao chegar casa, o porto se abre
automaticamente ao reconhecer o veculo e registra a sua entrada. J dentro da casa o
indivduo pode acionar o sistema multimdia e assistir a programao gravada da TV ou
verificar as tarefas realizadas automaticamente ao longo do dia, como por exemplo, a
irrigao do jardim, devido deteco de um baixo nvel de umidade no solo.
O cenrio descrito anteriormente no fictcio e hoje em dia possibilitado
atravs de sistemas de automao residencial. Segundo dados da Associao Brasileira
de Automao Residencial (Aureside), o crescimento do mercado de automao
residencial no Brasil de 35% ao ano. O crescimento se deve a reduo nos custos das
tecnologias e ao aumento do nmero de empresas e servios especializados na rea.
Os servios de automao residencial podem ser divididos em trs segmentos:
automao da segurana, controle multimdia e automao e controle de acionamentos de
iluminao e outros circuitos. Um projeto completo contempla as trs variaes, mas uma
vantagem desse tipo de sistema a sua modularidade, possibilitando ao cliente a
instalao sucessiva do sistema. Por exemplo, possvel fazer um projeto de automao
para controle de iluminao e acionamento de eletrodomsticos; em seguida, pode-se
instalar um mdulo de segurana contendo cmeras e controles de acesso; por fim,
possvel instalar um sistema multimdia para controle da televiso e som ambiente.
O desenvolvimento tecnolgico outro fator que incentiva o uso de automao
residencial. O avano e barateamento dos microprocessadores e, principalmente, o
desenvolvimento de tecnologias de comunicaes, como a internet e os telefones mveis,
possibilitam portabilidade e um controle descentralizado dos sistemas. Alm disso, redes
de comunicao sem fio possibilitam projetos menos invasivos a estrutura de construo
da casa.
Esse projeto apresenta como proposta a implementao de um sistema de
automao residencial de baixo custo, utilizando um microcontrolador Arduino como
fonte central de processamento. O controle do sistema feito atravs de um smartphone
com sistema operacional Android, utilizando comunicao bluetooth e tambm atravs
da internet, utilizando o protocolo TCP/IP. O controle convencional, atravs de
9

interruptores, para acionar circuitos de iluminao, por exemplo, continua coexistindo
com os novos controles de automao, podendo ser necessria apenas a substituio de
interruptores simples por interruptores paralelos, nos casos onde esses interruptores no
estavam previstos.
O projeto visa contemplar a automao da segurana, verificando vrios
parmetros de interesse atravs de sensores: deteco de chamas, vazamento de gs, e
sensor de presena; e o controle e automao de acionamentos, possibilitando ao usurio
o controle de iluminao, irrigao e acionamentos de cargas diversas, como por exemplo,
intensidade luminosa de determinado ambiente.
Para validao e testes do sistema, foi desenvolvido um prottipo de uma
instalao eltrica monofsica de uma residncia. O prottipo contm trs lmpadas,
simulando o circuito de iluminao; uma lmpada dimerizavel, simulando o controle de
intensidade luminosa; uma vlvula eltrica, para simular um sistema de irrigao. Quatro
interruptores simulam os acionamentos convencionais dos circuitos de iluminao e
irrigao, uma tomada ainda disponibilizada, para fornecer a alimentao necessria ao
funcionamento do sistema. Circuitos de acionamento a rel e a chaveamento com TRIAC
foram utilizados para auxiliar no processo de acionamento automtico das cargas.
Sensores, LEDS e buzinas so utilizados para interagir com o meio e fornecer sinalizaes
para o usurio.















10

2. ARQUITETURA DO SISTEMA

O sistema de automao residencial proposto visa automatizar o controle de tarefas
cotidianas e possibilitar ao usurio que controle acionamento de cargas ou acompanhe o
status do sistema atravs do smartphone ou da internet. Tambm importante que o
sistema seja pouco invasivo na instalao em uma residncia e que possua componentes
de baixo custo. A Figura 1 um diagrama geral da arquitetura proposta para
desenvolvimento do sistema.


Figura 1 - Diagrama da arquitetura proposta para o sistema de automao residencial.

O sistema possui uma unidade central de processamento, onde os sinais de entrada
de sensores e interruptores ou atravs de protocolo de comunicao so processados para
gerar as respectivas sadas desejadas. Os sinais de sada so enviados para mdulos de
11

acionamento de carga ou interfaces com o usurio, como LEDs e sonorizadores. A
interface entre o smartphone e o sistema se d atravs de um mdulo de comunicao
bluetooth. O sistema ainda possui hardware dedicado para se conectar internet, de forma
que seja possvel receber e enviar comandos de um usurio remotamente.
O sistema se conecta aos interruptores da rede eltrica residencial existente,
devendo a nica adaptao a ser feita, caso necessrio, seja a substituio dos
interruptores simples por interruptores paralelos. A nica instalao eltrica necessria
para funcionamento do sistema o fio de retorno dos interruptores, que deve ser
conectado em paralelo com a placa de rels utilizada. A Figura 2 apresenta um detalhe da
conexo eltrica entre os dois componentes, de forma que seja possvel acionar as cargas
atravs dos interruptores ou do smartphone de forma independente.


Figura 2 - Instalao eltrica necessria para acionamento das cargas atravs dos interruptores ou de
comandos bluetooth via celular.












12

3. DESCRIO DETALHADA DO SISTEMA

Nesse captulo sero apresentados a descrio de cada parte integrante do sistema
de automao residencial desenvolvido e previamente apresentado na arquitetura geral.
Tambm sero apresentados conceitos tericos referentes a protocolos de comunicao e
dispositivos utilizados no desenvolvimento do projeto.

3.1 Unidade central de processamento
No sistema de automao residencial desenvolvido, a unidade central de
processamento responsvel controle dos sinais de entrada e sada digitais e analgicos,
pelo processamento dos protocolos serial e SPI, pela execuo das funes desenvolvidas
para controle do relgio e das lgicas de acionamento de rels e sensores, e tambm pela
gerao de um servidor que processa as requisies HTTP recebidas via internet. O
hardware escolhido para ser unidade central de processamento foi o sistema
microcontrolador Arduino.
A plataforma Arduino foi desenvolvida no Instituto de Design de Interao Ivrea,
na Itlia, em meados de 2005, pelo professor Massimo Banzi. O objetivo de seu
desenvolvimento era o de construir uma plataforma de hardware e software capaz de
controlar e mensurar o mundo fsico atravs do processamento de entradas e sadas, que
abstrasse ao mximo a parte eletrnica, permitindo que o foco fosse mantido no
desenvolvimento da ideia base do projeto. Denominou-se tal plataforma de Arduino
(Figura 3), nome de origem germnica Hardwin, hard (forte) e win (amigo), e que em
italiano tornou-se Arduino.
A plataforma possui a documentao aberta, disponibilizando todos os
esquemticos de hardware e bibliotecas para as mais diversas aplicaes e uma IDE de
programao em C/C++. Utiliza um microcontrolador de oito bits como unidade de
processamento. Apresenta um design especfico de forma que outros mdulos (Shields)
possam ser facilmente adicionados para agregar funcionalidades. As suas principais
caractersticas so:

13


Figura 3 - Placa de desenvolvimento Arduino, com microcontrolador ATMEL de 8 bits.

Microcontrolador ATmega328;
14 E/S digitais (das quais 6 so PWM);
6 entradas analgicas 10 bits de resoluo;
Comunicao Serial, SPI e I2C on board;
16 MHz de clock;
Reset por software;

3.1.1 O Microcontrolador ATMega328
O microcontrolador ATmega328 a unidade central de processamento da placa
de desenvolvimento Arduino. O seu funcionamento pode ser resumido atravs do
diagrama funcional (Figura 4), que apresenta as estruturas de hardware presentes no
dispositivo.

14


Figura 4 Diagrama de blocos do microcontrolador Atmega328, unidade de processamento do Arduino
Uno R3.
15

O ncleo AVR tem trinta e dois registradores de uso geral, estando todos
conectados Unidade Lgica Aritmtica. O AVR permite que dois registradores
independentes sejam acessados em uma nica instruo, executada em um nico ciclo de
clock. Essa caracterstica operacional resulta em uma arquitetura mais eficiente, alm de
permitir obter taxas de transferncia de dados 10 vezes mais rpidas do que os
microcontroladores CISC
1
convencionais.
Alm dos registradores descritos posteriormente, h ainda trs temporizadores /
contadores com modos de comparao, interrupes interna e externa, serial programvel
USART, uma porta SPI, um Watchdog Timer
2
com oscilador interno, e cinco modos
selecionveis de economia de energia.
No modo de wait-state da CPU, os mdulos: SRAM,Timer/Counters, USART,
porta SPI e a interrupo continuam funcionando. No modo de economia de energia, o
temporizador assncrono continua funcionando, permitindo ao usurio manter um
temporizador de base enquanto o resto do dispositivo encontra-se hibernando.
O modo ADC de reduo de rudo interrompe a CPU e todos os mdulos E/S,
exceto, o temporizador assncrono ADC, para minimizar o rudo de comutao durante
as converses ADC.
No modo de wait-state, o oscilador est em funcionamento enquanto o resto do
dispositivo hiberna, o que permite um start-up rpido e com baixo consumo de energia.
A AVR ATmega328 suportada por um pacote completo de programas e
ferramentas de desenvolvimento de sistemas, incluindo compiladores C, Macro
Assemblers e depurador/simulador de programa. A plataforma Arduino consiste em um
arcabouo de hardware e software auxiliares ao AVR para facilitar o desenvolvimento
de solues que utilizem este microchip da fabricante ATMEL.
A grande diferena entre os vrios modelos de Arduino disponveis no mercado
reside na memria do microcontrolador, sendo essa uma caracterstica determinante em
seu desempenho. No microcontrolador ATMega328 h trs tipos de memria: Flash,
SRAM, EEPROM. A memria Flash utilizada para o armazenamento do programa que

1
CISC(Complex Instruction Set Computer) uma linha de arquitetura de processadores capaz de executar
centenas de instrues complexas diferentes. Sendo assim, extremamente verstil. Os processadores
baseados em um conjunto de instrues complexas contm microprogramao, ou seja, um conjunto de
cdigos de instrues, que so gravadas no processador, permitindo-lhe receber as instrues dos
programas e execut-las, utilizando as instrues contidas na sua microprogramao.

2
Wacthdog Timer um dispositivo eletrnico temporizador que dispara um reset ao sistema, se o programa
principal devido a alguma condio de erro deixar de fazer reset no Watchdog timer.
16

carregado no microcontrolador para ser executado, bem como para o armazenamento
do bootloader. O bootloader responsvel pelo gerenciamento da inicializao do
microchip, e desempenha algumas tarefas programadas, como determinar quando
reprogramar ou passar para a aplicao principal.
A memria SRAM (Static Random Access Memory) a memria utilizada para
armazenamento das variveis de processamento. Quando o Arduino desenergizado, as
informaes armazenadas nesta memria so perdidas. Diferentemente de EEPROM
(Electrically Erasable Programmable Read-Only Memory), que responsvel pelo
armazenamento de constantes ou dados de configurao, e apresenta longos ciclos de
gravao e rpida leitura de dados.
O modelo Arduino Uno Verso 3 tem 32 kB de memria Flash, dos quais 0,5 kB
so destinados ao bootloader, 2 kB de SRAM e uma EEPROM de 1 kB.
O ATMega328, assim como outros microcontroladores, oferece ainda um
conversor A/D. Na converso de um sinal analgico em digital, fazem-se amostragens, e
representa-se a leitura realizada atravs de um valor equivalente binrio, de acordo com
a resoluo do conversor A/D. A preciso do conversor determinada pelo nmero de
bits que o mesmo gera para representar as grandezas analgicas. O conversor A/D do
ATmega de 10 bits, representando 2
10
nveis de tenso distintos. Assim, a resoluo do
conversor pode ser expressa por:

=



em que

a tenso de referncia [V]; e n a nmero de bits.


Desse modo, sendo a opo default da tenso de referncia

= 5 V, para o
Arduino, tm-se uma resoluo de:

=
5
2
10
= 4,88

Diz-se, portanto, que o Arduino pode detectar variaes de 5 mV. H, porm, a
possibilidade de alterar-se o

, atravs do pino de entrada

. Desse modo, com a


possibilidade de diminuio da resoluo de referncia, tm-se tambm uma diminuio
17

dos valores de tenso detectveis e uma consequente diminuio do nvel mximo de
medio de tenso permitido, o que pode no ser desejvel em determinadas aplicaes.
O ATmega328 um microcontrolador com elevada capacidade de processamento
e um conjunto de perifricos diversificado, conferindo, dessa forma, uma soluo
altamente eficaz para muitas aplicaes de controle embarcado. Quando utilizado na
placa de desenvolvimento Arduino, se torna uma soluo perfeita para ser a unidade
central de processamento do nosso sistema de automao, visto que porttil, apresenta
conjunto de entradas e sadas necessrias e possui documentao aberta disponvel para
ser acessada e utilizada sem custos adicionais.

3.2 Descrio do Softwaredo Arduino
A plataforma de software do Arduino, modelada na linguagem de programao
Processing
3
, denominada IDE (Integrated Devolopment Environment), trata-se de um
programa executado em um computador, que permite a codificao de programas em
linguagem especfica, sketches, a serem carregados na plataforma de hardware.
Uma vez requerido o upload do sketch na placa Arduino, o cdigo escrito em
linguagem especfica traduzido na Linguagem C. Na sequncia, o mesmo compilado
pelo AVR- GCC, responsvel pela traduo final para a linguagem entendida e conhecida
pelo microcontrolador, simplificando, dessa forma, a programao de
microcontroladores.
Desse modo, o ciclo de programao de um Arduino pode ser resumido como:
1. Escreve-se o Sketch;
2. Compila-se o Sketch;
3. Liga-se a placa a uma porta USB do computador;
4. Envia-se o Sketch para a placa, atravs da USB;
5. A placa executa o programa;
O IDE pode ser executado em qualquer sistema operacional. dividido em trs
partes: o Toolbar no topo, Sketch Windows no centro e a janela de mensagens na base
(Figura 05).

3
Processing uma linguagem de programao de cdigo aberto e ambiente de desenvolvimento integrado
desenvolvido em 2001 pelo MIT (Massachusetts Institut of Tecnology), construdo para comunidades de
projetos visuais com o objetivo de ensinar noes bsicas de programao de computador em um contexto
visual.
18


Figura 5 Tela do software utilizado para escrever os sketchs e programar o Arduino.

3.3 Mdulo de expanso e conectividade com a internet
Como explicado, uma das vantagens do Arduino a possibilidade de expanso
das suas funcionalidades atravs de mdulos adicionais, tambm conhecidos como
Shields. Os Shields so placas de circuitos impresso que so encaixadas sobre a placa do
Arduino e agregam recursos de hardware ao microcontrolador, portanto, apresenta como
principal caracterstica ter o mesmo design da placa do Arduino UNO. Exemplos de
Shields desenvolvidos para o Arduino so (Figura 6):
Arduino GSM Shield agrega conexo atravs de rede GPRS.
Arduino Bluetooth Shield Agrega conectividade bluetooth ao microcontrolador.
Arduino WiFi Shield agrega conectividade internet sem fio.
Arduino Motor Shield circuito para controle de cargas indutivas, como motores.
19

Arduino Sensor Shield placa desenvolvida para ler sinais de diversos sensores
analgicos.
Arduino Ethernet Shield Conecta o microcontrolador a internet atravs de rede
ethernet.


Figura 6 Diversos shields para ser utilizado como mdulo de expanso das funcionalidades de
hardware do Arduino.

Para o projeto do sistema de automao residencial, foi escolhido o Shield
Ethernet com o intuito de promover a conexo do sistema com a internet, utilizando
protocolo de comunicao TCP/IP. A escolha do Shield Ethernet se justifica pois a
maioria dos projetos de automao residencial prov acesso internet, de forma que seja
possvel o usurio verificar o status do sistema ou enviar comandos de forma remota. Ele
possui menor custo que os demais, apresenta conexo cabeada ethernet com conector
padro RJ45, o que implica em maior robustez ao sistema, e disponibilidade em estoque
para aquisio imediata. As principais caractersticas desse shield so listadas a seguir:
Controlador de ethernet: Wiznet W5100.
Velocidade da conexo: 10/100 Mb.
Conector padro RJ45.
Conexo com o Arduino via protocolo SPI.
Conector micro-SD, para criar um servidor de arquivos atravs de carto de
memria.

20


Figura 7 Shield Ethernet, acoplado ao Arduino agrega a funo de acesso internet via TCP/IP.

Como explicado, o shield ethernet se comunica com a placa do Arduino atravs
de protocolo de comunicao SPI (Serial Peripheral Interface). O SPI um protocolo de
dados serial sncrono, utilizado por microcontroladores para comunicao rpida com um
ou mais dispositivos perifricos em curtas distncias. Tambm pode ser usado para
comunicao entre dois microcontroladores.
Em uma comunicao SPI, sempre h um mestre e um ou mais escravos, que se
comunicam entre si atravs de uma conexo full-duplex. Os seguintes fios constituem a
conexo SPI:
MOSI (Master Out Slave In): Canal responsvel pelo envio de dados do mestre
para o escravo;
MISO (Master In Slave Out): Canal responsvel pelo envio de dados do escravo
para o mestre;
SCK (Serial Clock): Canal para envio do sinal de clock;
SS (Slave Select): Canal utilizado pelo mestre para habilitar ou desabilitar a
conexo com o escravo. Se na conexo existir mais de um escravo, todos
compartilham os canais citados anteriormente, com exceo deste. Cada escravo
possui seu SS. E quando este pino estiver em nvel baixo, h conexo com o
mestre e quando estiver em nvel alto, o escravo ignora as informaes do
barramento.
Na comunicao SPI so utilizados dois registradores de deslocamento para a
troca de informaes, um pertencente ao mestre e o outro ao escravo. Os bits so
deslocados e enviados um por vez, entre os registradores. medida que um bit
21

transmitido pelo canal MOSI, outro recebido pelo canal MISO, e aps todos serem
enviados, os registradores do mestre e do escravo estaro com os dados trocados. A Figura
8 ilustra a troca de informaes neste tipo de comunicao.


Figura 8 Troca de informaes entre mestre e escravo atravs de protocolo de comunicao SPI.


Para utilizar o shield ethernet com o Arduino Uno R3, necessrio adicionar duas
bibliotecas de software disponibilizadas gratuitamente no site do Arduino, e que so
instaladas junto com a IDE de programao dos sketchs. As bibliotecas Ethernet.h e
SPI.h. tem ligao direta com as conexes apresentadas na Figura 9 e possuem funes
predefinidas para definir IP, escrever pelo canal ethernet, definir um cliente, definir um
servidor, ler e escrever comandos SPI, definir parmetros de configuraes do protocolo.

22


Figura 9 Pinos utilizados pela comunicao SPI do shield de expanso ethernet.

3.4 Conexo com a Internet
Como descrito, uma das funcionalidades do projeto promover conexo com a
internet, de forma que seja possvel o usurio verificar o status do sistema ou atuar de
forma remota, para tomar algumas aes de controle. O meio que o Arduino se conecta a
internet atravs do shield ethernet apresentado anteriormente, contudo algumas
adaptaes so necessrias para correto funcionamento da conectividade com a internet.
No Arduino, com auxlio das funes da biblioteca ethernet.h, disponvel na IDE
instalada no PC, possvel criar um pequeno servidor HTTP com uma pgina contendo
as informaes que deseja-se apresentar ao usurio. Contudo, para correta configurao
do servidor, necessrio que a rede possua IP fixo, e que o roteador da residncia onde o
sistema for instalado, seja configurado para liberar o acesso de forma remota ao servidor
criado no Arduino. Tambm no roteador local que espera-se que sejam implementadas
verificaes de login para segurana do acesso, visto que as limitaes de memria do
Arduino no permitem que sejam programados muitos recursos.
A Figura 10 apresenta uma arquitetura da conexo com a internet do sistema de
automao residencial proposto.
23


Figura 10 Topologia de acesso ao servidor do Arduino de forma remota via internet.

3.5 Controle sem fio via comunicao bluetooth
Outro recurso presente no projeto a possibilidade de controlar os circuitos de
acionamentos, atravs de um telefone celular, do tipo smartphone, utilizando
comunicao sem fio. Esse recurso est presente em praticamente todos os sistemas de
automao residencial encontrados no mercado, portanto uma funcionalidade essencial
a ser implementada. Para o sistema de automao residencial desenvolvido foi escolhido
um smartphone com sistema operacional Android com suporte comunicao bluetooth.
Por ser uma tecnologia que permite uma comunicao sem fios entre dispositivos,
o bluetooth utiliza a faixa de frequncia de 2.4GHz. Seu padro definido por um grupo
de empresas (SIG), as quais possuem interesse no dispositivo, que tambm supervisiona
o desenvolvimento das especificaes, bem como promove e protege a marca.
24

O bluetooth tem por objetivo prover um meio de baixo custo, baixo consumo de
energia e baixa complexidade de configurao para interligar dispositivos eletrnicos
diversos, tais como telefones celulares, notebooks, desktops, cmeras digitais,
impressoras e perifricos em geral. Por esta capacidade de interligao com dispositivos
diversos, o Bluetooth foi selecionado como meio de comunicao para o envio dos dados
deste projeto. Um segundo tipo de comunicao sem fio, diversas vezes utilizado em
projetos de automao residencial a ZigBee. No foi utilizado ZigBee pois no possvel
comunicao com smartphones ou computadores de forma simplificada e direta, como
no caso do bluetooth.
Os dispositivos que possuem a tecnologia Bluetooth so divididos em trs classes,
de acordo com a potncia do sinal que podem produzir. As classes so especificadas na
tabela abaixo.

Tabela 1- Classes de dispositivos Bluetooth
Classe Pot Max (mW) Pot Max (Dbm) Cobertura (m)
1 100 20 100
2 2.5 4 10
3 1 0 1


Dependendo do tipo, os dispositivos bluetooth podem fornecer determinados
servios para as aplicaes, tais como envio e recebimento de arquivos, conexo a uma
rede remota atravs do celular, entre outros. O servio de interesse deste trabalho o SPP
(Serial Port Profile), que permite que um dispositivo estabelea conexo com outro a
partir da criao de uma porta serial virtual, possibilitando que ambos se comuniquem
atravs de uma conexo serial sem fio. Tal servio utiliza um protocolo de emular portas
seriais denominado de RFCOMM.
A comunicao serial corresponde transmisso e recepo de um bit de dados
por vez. Existem dois tipos de comunicao serial, a sncrona e a assncrona. Na
comunicao sncrona, deve haver o envio do sinal de clock entre os dispositivos, j na
comunicao serial assncrona, no h necessidade de envio do sinal de clock, portanto
as informaes s necessitam dos canais de dados para serem trafegados. Na comunicao
serial assncrona, utilizada no servio SPP dos dispositivos bluetooth, os dados so
enviados em pacotes de bits, resultando em 8 bits de informao (um byte) mais os bits
de controle. Os bits de controle so os seguintes:
25

Start Bit: atua como indicador de incio da transmisso, ativando um temporizador
interno do receptor para gerar o mesmo clock que o transmissor;
Stop Bit: sinaliza a parada, o trmino do envio do pacote de dado. Pode ser 1 ou
2 bits;
Bit de Paridade: responsvel pela conferncia da paridade na informao. Este bit
opcional e verifica a ocorrncia de erros no envio da informao.
Para haver uma comunicao consistente, a comunicao serial assncrona
necessita de configuraes prvias. Ambos os dispositivos precisam preestabelecer
igualmente a taxa de envio (Baud Rate) dos bits, ou seja, quantos bits por segundos sero
enviados na conexo, se h o bit de paridade, quantos Stop Bits sero utilizados e se h
controle de fluxo da informao. A Figura 11 ilustra um tpico pacote de dados enviado
em uma conexo serial.


Figura 11 Pacote de dados em uma comunicao serial assncrona.

O hardware escolhido para implementar a comunicao bluetooth no Arduino foi
o conversor bluetooth para serial desenvolvido pela empresa Sure Electronics, que
apresenta as seguinte caractersticas:
Frequncia de operao: 2,4 GHz a 2,48 GHz;
Protocolo bluetooth V2.0+EDR;
Sada de potncia classe 2;
Hardware de suporte implementado;
Tenso de operao: sinais TTL (5 V).

26


Figura 12 Hardware bluetooth utilizado para comunicao entre Arduino e smatphone.

Esse dispositivo possui apenas dois sinais de sada, um pino para transmisso de
dados serial, e outro para recepo de dados serial. Alm disso, necessrio fornecer
alimentao de 5 Vdc e um terra. Ele vem preconfigurado para operar a taxa de
transmisso e recepo de 9600 bps, portanto configuraes adicionais no so
necessrias.
Para enviar e receber sinais no Arduino, basta que seja conectado o sinal TX do
chip bluetooth a porta RX do Arduino (pino 0) e o sinal RX do chip bluetooth a porta TX
do Arduino (pino 1), conforme Figura 12. No necessrio incluir nenhuma biblioteca
extra no sketch a ser compilado, bastando apenas configurar a porta serial do Arduino
para operar em 9600 bps e utilizar as funes de envio e recepo via porta serial, de
acordo com a lgica do programa.
27


Figura 13 Conexo entre o mdulo bluetooth e o Arduino.

3.6 Smartphone Android e AppInventor
No segundo trimestre de 2013 foram vendidos 8 milhes de smartphones no
Brasil, nmero 110% superior em relao ao mesmo perodo do ano anterior. Os dados
foram divulgados pela consultoria IDC. De acordo com o estudo, pela primeira vez no
pas, a venda de smartphones superou a de aparelhos convencionais, dominando 54% do
mercado local. Do total de smartphones comercializados, 90% esto equipados com o
sistema operacional da Google, o Android.
Essa uma das principais justificativas para a escolha do Android como sistema
operacional adotado para desenvolvimento do aplicativo de controle do sistema. Outra
importante informao que o Android um sistema aberto, programvel em JAVA e
que possui vasta documentao para elaborao de aplicativos, o que elimina custos
associados com aquisio de softwares ou hardware especficos para programao dos
aparelhos.
A ferramenta utilizada para desenvolver o aplicativo foi o AppInventor, um applet
JAVA que roda direto do browser, desenvolvido pelo MIT (Massachusetts Institute of
Technology). No applet possvel construir a interface grfica do aplicativo, inserindo
28

botes, textos, figuras ou elementos de hardware (conectividade a internet, conexo
bluetooth, etc) e, em seguida, constri-se a lgica por trs de cada elemento, em uma
programao fcil e intuitiva atravs do uso de blocos de funes. As Figura 14 e Figura
15 apresentam capturas de tela do mdulo de construo de interface do AppInventor e
do mdulo de programao, respectivamente.


Figura 14 Mdulo de construo da interface grfica do aplicativo no AppInventor.


Figura 15 Mdulo de programao do AppInventor. Programao intuitiva atravs da utilizao de
blocos para construo da lgica.
29

3.7 Mdulos de entrada e sada
Em um sistema de controle e automao residencial vrios parmetros so de
interesse para serem monitorados. A temperatura ambiente, a umidade do solo para
controle da irrigao, a presena de luminosidade para acionamento da iluminao
externa, a deteco de presena para acionamento de circuitos de segurana. Para avaliar
todos esses parmetros so necessrios diversos tipos de sensores.
No projeto do sistema de automao desenvolvido, foram contemplados trs tipos
de sensores. Sensor de presena infravermelho. bastante utilizado em projetos de
segurana e alarmes residenciais para identificar a presena de pessoas em ambientes. Ele
emite um sinal infravermelho que espalhado pela redoma convexa montada na parte
superior. O sinal bate em um objeto e refletido de volta a redoma que agrupa os feixes
em um detector infravermelho. Existem ajustes de temporizao e de sensibilidade, de
forma que o sensor no capte qualquer variao de movimento instantnea. O sinal de
sada do sensor um sinal digital, 1 para deteco e 0 para no deteco de presena.



Figura 16 Sensor de presena infravermelho.

Como descrito anteriormente, um sensor de umidade do solo til para
automatizao do processo de irrigao em uma casa. O sensor contm duas barras
condutoras, separadas por um espaamento. Quando a umidade do solo muito baixa,
no existe contato entre as duas barras condutoras e o circuito no fechado. Caso a
umidade do solo aumente, passa a existir condutividade entre as duas barras e o sinal de
sada aumenta, a medida que a condutividade aumenta. Portanto, a sada desse sensor
30

um sinal analgico que varia de 0 V a 5 V e linearmente proporcional quantidade de
umidade do solo: quanto maior a umidade no solo, maior a tenso medida.
Para ler o valor do sensor no Arduino existem duas possibilidades. A primeira
consiste em conectar o sensor a uma entrada analgica e medir o valor atual de tenso e
decidir qual ao tomar a medida que o valor aumenta ou diminui. A segunda maneira
escolher um valor limite, a partir do qual seria necessrio, por exemplo, ligar a vlvula de
irrigao, e construir um circuito de acionamento externo que enviasse um sinal para o
Arduino indicando que o limite foi atingido.


Figura 17 sensor de umidade do solo.

O terceiro tipo de sensor utilizado tambm tem relao direta com a segurana da
residncia. um conjunto de sensor para detectar a presena de gs e chamas. A deteco
de gs de suma importncia em uma residncia para verificar o vazamento de gs de
cozinha e prevenir problemas maiores como um incndio. Tambm pode ser utilizado em
conjunto com um sensor detector de chamas para constatar a presena de fogo e fumaa
e acionar alarmes de incndio.
A sada de ambos os sensores um valor analgico variando de 0 V a 5 V,
proporcional a intensidade de chama ou de gs no ambiente. Ambos os sensores tambm
possibilitam que se use uma sada digital quando um determinado valor for medido, ou
seja, atravs dos trimpots configura-se um limiar para que a partir daquele valor, seja
enviado um sinal ativo da deteco de chama ou de gs no ambiente.

31


Figura 18 Sensor detector de chama e sensor detector de gs.

Alm dos sensores como elementos de entrada, so essenciais a existncia de
interruptores para acionamento de circuitos de iluminao ou irrigao, por exemplo. No
sistema de automao residencial proposto, pretende-se utilizar interruptores paralelos,
que permitem a utilizao do esquema three-way, para conexo de dois circuitos para
acionar uma carga de forma simultnea.


Figura 19 Interruptor paralelo ou three-way, necessrio para fazer a instalao eltrica com
acionamento em dois pontos distintos de forma simultnea.

Uma das formas mais simples de automao residencial o controle automtico,
ou diferenciado, de cargas do tipo liga / desliga. A principal carga que se encaixa nesse
perfil a carga de iluminao. Outros tipos de cargas que podem ser automatizadas
atravs de controles ON / OFF so eletrodomsticos ou motores de portes de garagem.
32

O principal elemento de circuito para o controle de uma carga, como descrito
acima, o rel. Esse componente recebe um sinal de controle a nvel TTL e aciona seus
contatos eletromecnicos, podendo acionar uma carga de corrente alternada na tenso de
220 V e at 10 A, mantendo isolado de forma magntica o circuito de acionamento em
tenso CC, do circuito da carga em tenso CA.
O circuito de acionamento de um rel tal como apresentado na Figura 20. Para
cada carga que se deseja controlar o acionamento, necessrio um novo circuito. O
circuito U3 uma proteo redundante para desacoplar opticamente o circuito de
acionamento e o circuito da carga.


Figura 20 Circuito de Acionamento de um rel para controle de carga.

Apesar de ser um circuito simples de montar e testar, existem placas que podem
ser compradas prontas e j apresentam montagem industrial e foram previamente testadas.
O preo dessas placas, quando compradas em sites de importao de eletrnicos sai mais
em conta do que comprar os componentes e confeccionar uma placa de circuito impresso
no Brasil. Uma placa comprada em um desses sites pode ser vista na Figura 21.

33


Figura 21 Placa com quatro rels acionado por sinal TTL 5 V, com sadas 220 Vca 10A.

Outro mdulo que est presente em sistemas de automao comercial so os
dimerizadores. Em alguns sistemas esse circuito se apresenta como pulsadores. um
circuito que diminui a quantidade de potncia entregue a carga, basicamente com o
objetivo de diminuir o consumo de energia. Em alguns tipos de circuitos utilizado um
triac para liberar mais ou menos tenso para carga, de acordo com o acionamento. Em
outros so utilizados sistemas pulsados, controlados por microcontroladores, mais
comuns em lmpadas fluorescentes que no permitem dimerizao.
No sistema desenvolvido foi utilizado um circuito com triac, conforme a Figura
22. O acionamento da potncia entregue a carga feito em uma interface no aplicativo
no smartphone. O objetivo desse circuito controlar a iluminao ambiente e
consequentemente, a potncia entregue a uma lmpada halgena, que tem a possibilidade
de ser dimerizvel.

34


Figura 22 Circuito para promover dimerizao com o Arduino e um triac.

Para o caso do circuito de controle de potncia, foi necessrio projetar e montar
uma placa externa, pois no foi encontrado no mercado um circuito que pudesse ser
adquirido pronto. O circuito montado foi o apresentado na Figura 22. Na Figura 23, pode
ser vista uma fotografia da placa aps a montagem e testes de funcionalidade.


Figura 23 fotografia da placa de controle de potncia de cargas.





35

4 DESENVOLVIMENTO DO PROTTIPO EXPERIMENTAL

Com o intuito de validar o sistema de automao residencial proposto, foi pensada,
projetada e construda uma plataforma experimental de testes. Essa plataforma visa
simular uma instalao monofsica de uma residncia com seus circuitos de instalao
eltrica e algumas cargas, no caso do prottipo construdo, apenas cargas de iluminao.
Os sistemas de hardware descritos anteriormente foram instalados no prottipo de forma
que seja possvel programar o Arduino medida que modificaes fossem necessrias.
Nesse captulo so apresentados os diagramas eltricos e aspectos construtivos do
prottipo desenvolvido para simular a instalao eltrica de um residncia e testar o
sistema de automao residencial.

4.1 Construo do prottipo experimental
A construo de um prottipo para testar o correto funcionamento do sistema de
automao residencial proposto tem como objetivo verificar a funcionalidade do sistema
percebendo os automatismos atuando conforme programado no Arduino e o usurio
atuando nos sistemas de controle para obter as sadas esperadas.
O prottipo portanto deveria ter como caractersticas:
Portabilidade: no ser muito grande, podendo ser transportado para ser utilizado
em apresentaes.
Baixo Custo: como no o meio fim, os custos com o prottipo deveria ser o
menor possvel, devendo ser utilizado material reaproveitado de outras
montagens.
Simplicidade: com o objetivo de observar o correto funcionamento do sistema de
automao, o prottipo deve ser simples o bastante para fornecer entradas e sadas,
no sendo fonte de trabalho extra ou fonte de possveis erros de projeto.
Baseado nos requisitos mnimos de funcionamento, o prottipo contm trs
lmpadas fluorescentes para simular o circuito de iluminao de uma residncia. Contm
uma lmpada halgena que pode ser dimerizvel, para testar o controle de potncia
entregue as cargas. Contm ainda quatro interruptores eltricos, para ligar e desligar as
cargas da forma convencional e uma tomada, para alimentar o circuito DC do Arduino e
dos componentes do sistema de automao. A Figura 24 apresenta um esquemtico
proposto para a construo do prottipo. Na vista superior pode ser visto o espao
reservado para as lmpadas e tambm para a instalao do sistema de automao.
36



Figura 24 Vistas do sistema de prottipo construdo para testar o sistema de automao residencial
proposto.

Aps o levantamento dos componentes necessrio para a montagem, foi feita a
compra e em seguida a montagem do prottipo. Foram usadas duas chapas de madeira
para fazer a base horizontal e vertical. Foi utilizado fio de 1 mm para as conexes eltricas
e foram fincados com pregos as placas de circuitos do sistema de automao residencial.
As fotografias vistas na Figura 25 exemplificam a evoluo da montagem do projeto e o
resultado final. Na Figura 26 apresentado o diagrama multifilar da instalao eltrica
do projeto.

37



Figura 25 Construo do prottipo e verso final j com as conexes eltricas efetuadas conjuntamente
com o sistema de automao residencial.

38


Figura 26 Diagrama multifilar da instalao eltrica do prottipo, onde RLn so os rels do mdulo de
acionamento de cargas e U1 o circuito de controle de potncia entregue a carga, apresentado
anteriormente.

39

5 TESTES E RESULTADOS

Nesse captulo apresentado a concepo e teste de cada parte do sistema de
forma modular. Sero apresentados algoritmos utilizados para o implementao de cada
mdulo de controle do sistema e em anexo os cdigos em linguagem proprietria do
Arduino para executar as funes propostas.

5.1 Aplicativo Domotic Blue Server
Como explicado anteriormente foi desenvolvido um aplicativo para o sistema
operacional Android, de forma que fosse possvel controlar o sistema atravs da conexo
bluetooth ou internet. Foi utilizado o applet AppInventor, do MIT, que utiliza
programao em blocos e roda atravs de um web browser, para realizar a programao
do aplicativo. O programa contm basicamente cinco telas:
Tela Inicial Assim que o usurio acessa o programa a tela inicial apresentada
e duas opes de ao so permitidas, a escolha de controlar o sistema atravs do
bluetooth ou da internet. A seleo feita clicando-se no boto com a opo
desejada, conforme Figura 27.
Tela Bluetooth Selecionada a opo de controle via bluetooth, o usurio
redirecionado para outra tela, onde deve escolher a qual dispositivo bluetooth
deseja se conectar. Nesse instante, caso o hardware bluetooth do telefone no
esteja ativado, requisitado que ele seja ligado. A Figura 28 apresenta uma
captura dessa tela. Nesse momento o elemento voltar introduzido em formato
de seta, de forma que possvel que o usurio retorne a tela anterior ao clicar
nesse objeto.
Tela de Controle Bluetooth Aps conectado corretamente ao dispositivo
bluetooth as opes de controle do sistema so apresentadas. Basicamente as
opes se resumem a ligar o desligar uma das trs lmpadas fluorescentes do
prottipo de testes ou aumentar e diminuir a potncia entregue a lmpada
halgena. Novamente o objeto voltar apresentado, dessa vez, caso clique sobre
o objeto o usurio levado para tela inicial (Figura 29).
Tela Controle Internet Ao clicar na opo internet na tela inicial, o usurio
redirecionado para a pgina do servidor que roda no Arduino, conectado a rede
40

local em sua residncia. Essa pgina apresentada em formato web utilizando um
dos elementos disponveis no AppInventor, conforme Figura 30.
O Aplicativo compilado diretamente no browser de acesso a internet, e pode ser
baixado para o computador e instalado em qualquer dispositivo Android que seja de
verso 2.3 ou superior. Tambm pode ser instalado em tablets Android, contudo a
formatao de tela pode variar.


Figura 27 Tela inicial do aplicativo.


Figura 28 Tela de seleo da conexo com hardware bluetooth ou retorno para tela anterior.
41


Figura 29 Tela de controle dos dispositivos de instalao eltrica do prottipo, trs lmpadas (ao liga
/ desliga) e uma carga luminosa, (ao aumenta ou diminui intensidade luminosa).


Figura 30 Captura da tela de controle do sistema via internet.


5.2 Mdulos de Controle e Lgica no Arduino
Como explicado anteriormente, o Arduino funciona como uma placa de
desenvolvimentos que contm toda a lgica de necessria para processar as entradas
digitais, analgicas e protocolos de comunicao e acionar os sinais de sada da forma
42

esperada pelo usurio. Alguns controles so feitos atravs da interao com o usurio,
utilizando meios como smartphone ou internet, e outros controles so feitos de forma
automtica, utilizando leituras provenientes de sensores. Essa seo visa explicar a
programao de cada mdulo de controle no Arduino.

5.2.1 Controle dos Rels
Um dos principais controles possveis no sistema ligar ou desligar cargas atravs
do smartphone, utilizando comunicao bluetooth, ou atravs da internet. Os comandos
recebidos pelo Arduino, seja por um ou pelo outro meio de comunicao, so processados
e acionam ou no as sadas digitais da placa, que por sua vez comutam os contatos de um
rel especfico na placa de rels utilizada. O algoritmo para o controle via comunicao
bluetooth apresentado na Figura 31 e a traduo em cdigo para o sketch Arduino
apresentada nos anexos.

5.2.2 Automatismos atravs dos sensores
Como explicado anteriormente, o sistema possui alguns sensores para monitorar
parmetros de interesse. Os sensores tem sua sada em formato analgico, portanto as
portas do conversor analgico para digital do Arduino foram utilizadas para ler os dados
e converter em um nmero que pudesse ser utilizado em uma lgica de automatismo.
Como exemplo podemos citar o sensor de medio da umidade do solo. Esse
sensor apresente um sinal de sada que varia de 0 V a 5 V, de forma que, quanto maior a
umidade, maior a tenso medida. Acontece que a sada desse tipo de sensor varia bastante,
devido a diversos fatores, como por exemplo flutuao na tenso de referncia do
microcontrolador. Portanto no cdigo do processamento da leitura analgica utilizado
um filtro por software para ter um valor mdio da medida no tempo e enfim acionar a
sada digital necessria, no caso um dos rels para acionar uma vlvula. A Figura 32
apresenta o cdigo utilizado no Arduino.
43


Figura 31 Algoritmo para processamento dos dados recebidos na comunicao bluetooth e
acionamento das sadas digitais.

44


5.2.3 Pgina Web do Servidor Implementado
A pgina web do servidor implementado no Arduino tem a restrio bsica de
ocupar a menor quantidade de memria possvel. Isso tem implicao direta na
quantidade de comandos client.println(""); utilizados. Portanto um estudo detalhado de
somente o que foi necessrio foi colocado na pgina. O cdigo HTTP da pgina
apresentado nos anexos, e a Figura 30, apresentada anteriormente apresenta uma captura
de tela da pgina.
O servidor implementado no Arduino faz uso da biblioteca disponibilizada de
forma gratuita na instalao da IDE. Essa biblioteca possui as seguintes funes que
foram utilizadas:
Ethernet.begin(mac, ip, gateway, subnet): configura uma conexo ethernet com
os respectivos valores de IP, gateway e subnet salvos nas variveis.
EthernetClient client = server.available(): duas funes utilizadas em conjunto.
Uma para criar um objeto cliente e outra para verificar se o cliente est disponvel
para se conectar ao servidor.
client.connected() e client.available(): funes que retornam 1 ou 0, se o cliente
est conectado e se ele est disponvel para escrita ou leitura, respectivamente.
/*
FUNO: SensorJardim()
PARMETROS: Nenhum
RETORNO: Nenhum
DESCRIO: Primeiramente a funo calcula uma mdia de 50 valores medidos pelo sensor
de forma que a medio analgica fique mais suave, uma espcie de filtro por software
Aps isso verifica se o valor mdio medido na porta analgica A2 menor que um valor base
se for menor, aciona um contato de rel ligado a uma vlvula que por sua vez
aciona o sistema de irrigao da casa.
O valor medido na porta analgica a umidade do solo.
Quando um valor alto significa que o solo est umido, caso contrrio seco.
*/
void SensorJardim(void) {

if(samplesJardim <= 50){ //verifica se ja atingiu o numero mnimo de amostragens do sinal
accJardim = analogRead(sensorIn3) + accJardim;//vai acumulando o valor amostrado pra depois calcular a mdia
samplesJardim = samplesJardim + 1; //vai atualizando o nmero de amostras medidas
}
else{ //quando medir 50 amostras,
mediaJardim = accJardim/samplesJardim; //calcula a mdia dos valores amostrados
samplesJardim = 0; //reseta o contador de amostras
accJardim = 0; //reseta o acumulador de amostras

if(mediaJardim < 100) estadoRele4 = true; //IMPLICA EM UMIDADE MUITO BAIXA, ENTO ATIVA O REL PRA ACIONAR
A VLVULA DE IRRIGAO
else estadoRele4 = false; //CASO CONTRRIO A UMIDADE EST SUFICIENTE, ENTO DESLIGA A
IRRIGAO.

digitalWrite(releJardim, estadoRele4);
}
}
Figura 32 - Cdigo para o sketch do Arduino.
45

char c = client.read(): Ler dados do cliente. Essa funo l apenas um byte, por
isso precisa ser executada em loop para ler a quantidade de bytes necessrio para
conter uma mensagem de requisio.
client.println(" "): funo utilizada para escrever dados para o cliente conectado.
Aqui so enviados, por exemplo, as linhas de cdigo da pgina do servidor.





























46

6 CONCLUSO E TRABALHOS FUTUROS

Foi realizado um projeto de um sistema para automao residencial utilizando
microcontrolador como unidade central de processamento. Sistemas de automao
residencial so sistemas modulares, hoje em dia so em sua maioria construdos
utilizando-se tecnologia dos modernos processadores ou dos robustos CLPs, buscou-se
realizar uma montagem intermediaria fazendo proveito dos benefcios da portabilidade
dos microcontroladores para obter um sistema intermedirio entre a performance dos
processadores e a robustez dos CLP.
Foi desenvolvido um prottipo para testar e validar o sistema de automao
desenvolvido. O prottipo teve como objetivo simular a instalao eltrica simplificada
de uma residncia e permitir que os sinais bsicos de entrada e sada fossem aplicados ao
sistema desenvolvido no microcontrolador a fim de verificar o correto controle e
funcionamento das funes pensadas e programadas no Arduino.
A programao e montagem do sistema ocorreu de forma positiva e o objetivo
esperado foi alcanado. Um sistema completo para auxiliar no estudo e desenvolvimento
de tecnologias para automao residencial foi desenvolvido e pode ser usado como
modelo para estudos mais avanados. Espera-se que recursos presentes em projetos de
automao residencial similares, possam ser acrescentados ao projeto com auxlio da
estrutura desenvolvida em futuros trabalhos. Controle de equipamentos via sinais
infravermelho, incluso de um sistema em tempo real para insero de um log de eventos
ou programao de aes baseadas no tempo, sejam frutos de trabalhos futuros.
O presente trabalho aborda vrios aspectos de um projeto de engenharia eltrica,
ao se debater sobre temas como eletrnica e microeletrnica, instalaes eltricas
prediais, arquitetura de sistemas e programao de processadores e construo de
softwares especficos. Tambm contempla a montagem experimental, resultando no
desenvolvimento de um produto que pode ser usado como modelo para desenvolvimento
de outros produtos e tecnologias e no levantamento para construo de prottipos e
atividades experimentais, to importantes no desenvolvimento e formao de um
profissional de engenharia eltrica.




47

7 BIBLIOGRAFIA

COSTA, E. M. M.; LIMA, A. M. N. Sistemas dinmicos a eventos discretos:
fundamentos bsicos para a moderna automao industrial. Salvador: EDUFBA, 2005.
GRILO, L. C. P.; GRILO, M. B.; PEREIRA, E. G. Desenvolvimento de um sistema para
medio de temperatura e umidade com comunicao sem fio num secador solar.
Congresso Nacional de Engenharia Mecnica (CONEM). So Luis - MA, 2012.
JOBSTRAIBIZER, F. Criao de aplicativos para celulares com Google Android. So
Paulo: Digerati Books, 2009.
McROBERTS, M. Arduino bsico. Trad. Rafael Zanolli. So Paulo: Novatec, 2011.
PRUDENTE, F. Automao predial e residencial: uma introduo. 1. ed. So Paulo:
LTC, 2011.
Revista VEJA. Um lar que obedece ao dono. Edio 2299, 12 de dezembro de 2012, p.
176-178.
SURE ELECTRONICS. Bluetooth serial converter UART interface 9600bps users
guide. P.R.Chine, Sure Electronics Co. Ltd, 2008.
THOMAZINI. D.; ALBUQUERQUE, P. U. B. Sensores Industriais: fundamentos e
aplicaes. 7. Ed. rev. e atual. So Paulo: rica, 2010.
http://arduino.cc/en/Main/ArduinoBoardUno - Acessado em 10/2013
http://arduino.cc/en/Main/ArduinoEthernetShield - Acessado em 10/2013














48

8 ANEXOS

/**********************************************
PROGRAMA FINAL DO TCC - DomoticGrilo *
LUIZ CLAVER PEREIRA GRILO *
clavergrilo@gmail.com *
**********************************************/
#include <DS1302.h>
#include <SPI.h>
#include <Ethernet.h>

//*****************DEFINIO DOS PINOS DO ARDUINO *************************************
#define sensorIn1 A0 //A0 - ENTRADA ANALGICA 1 (SENSOR DE CHAMAS) <- INPUT
#define sensorIn2 A1 //A1 - ENTRADA ANALGICA 2 (SENSOR DE GS) <- INPUT
#define sensorIn3 A2 //A2 - ENTRADA ANALGICA 3 (SENSOR DE UMIDADE) <- INPUT
//0 - TX BLUETOOTH <- INPUT
//1 - RX BLUETOOTH -> OUTPUT
#define releLamp1 2 //2 - REL 1 - LMPADA 1 -> OUTPUT
#define releLamp2 3 //3 - REL 2 - LMPADA 2 -> OUTPUT
//4 - ETHERNNET SHIELD (definir como OUTPUT) -> INPUT
#define releLamp3 5 //5 - REL 3 - LMPADA 3 -> OUTPUT
#define releJardim 6 //6 - REL 4 - VLVULA DE IRRIGAO -> OUTPUT
#define alarme 7 //7 - ALARME - LED + BUZZER -> OUTPUT
#define triacIn 8 //8 - TRIAC - INTERRUPT IN <- INPUT
#define triacOut 9 //9 - TRIAC - PWM OUTPUT -> OUTPUT PWM
//10- ETHERNNET SHIELD -> INPUT
//11- ETHERNNET SHIELD -> INPUT
//12- ETHERNNET SHIELD -> INPUT
//13- ETHERNNET SHIELD -> INPUT
//DEFINIES DAS AES
#define action_none 0
#define action_mypin_ON 1
#define action_mypin_OFF 2

//************** DEFINIO DAS VARIVEIS GLOBAIS UTILIZADAS NO PROGRAMA ************

char inByte; //ARMAZENA O BYTE CHEGANDO NA SERIAL
boolean estadoRele1 = false; //ARMAZENA O ESTADO DO REL 1
boolean estadoRele2 = false; //ARMAZENA O ESTADO DO REL 1
boolean estadoRele3 = false; //ARMAZENA O ESTADO DO REL 1
boolean estadoRele4 = false; //ARMAZENA O ESTADO DO REL 1
boolean estadoSensorIn2 = false;
boolean estadoSensorIn1 = false;
long accJardim, accGas, accIn1;
int samplesJardim, samplesGas, samplesIn1;
int mediaJardim, mediaGas, mediaIn1;

//DEFINIES DA REDE
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE }; //ENDEREO DO MAC DEFINIDO PELO
USURIO
byte ip[] = { 192, 168, 0, 177 }; //ENDEREO DE IP, DEFINIDO PELO
USURIO
byte gateway[] = { 192, 168, 0, 1 }; //internet access via router
(opcional)
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask (opcional)
EthernetServer server(3333); //PORTA DO SERVIDOR. NECESSRIA.
String readString = String(30); //string para receber as aes de
ligar/desligar os pinos

//PINOS DE SADA QUE ESTO SENDO USADOS E PARA O QUE ESTO SENDO USADOS
int pinOutRelay = 7;
int inByte = 0; //BYTE RECEBIDO PELO BLUETOOTH PARA FAZER A COMPARAO E ATUAR
NAS SADAS.

//COMANDOS DE CHEGADA DO CLIENT / QUANDO CLICA NOS BOTES NA PGINA ENVIA ESSES COMANDOS
PARA O ARDUINO INTERPRETAR
String pinOutRelay_OFF = "GET /?out=5&status=0 HTTP/1.1";
String pinOutRelay_ON = "GET /?out=5&status=1 HTTP/1.1";

//VARIVEL PARA GUARDAR A AO ATUAL, PARA INFORMAR AO USURIO O ESTGIO DO(S) PINO(S)
EM CONTROLE
int current_action;
//***********************CONFIGURAES DE SETUP INICIAL******************************
void setup()
{
//INICIA A PORTA ETHERNET COM AS CONFIGURAES ESCOLHIDAS
Ethernet.begin(mac, ip, gateway, subnet);
current_action = 0;

// INICIA A PORTA SERIAL A 9600 bps
Serial.begin(9600);

//DEFINE TODOS OS PINOS ONDE ESTO LIGADOS OS RELS, COMO SADA
pinMode(releLamp1, OUTPUT); digitalWrite(releLamp1, LOW);
pinMode(releLamp2, OUTPUT); digitalWrite(releLamp2, LOW);
49

pinMode(releLamp3, OUTPUT); digitalWrite(releLamp3, LOW);
pinMode(releJardim, OUTPUT); digitalWrite(releJardim, LOW);
//DEFINE TODOS OS PINOS ONDE ESTO LIGADOS OS INTERRUPTORES COMO ENTRADA
}

//********************** PROGRAMA QUE FICA SE REPETINDO *******************************
void loop()
{
EstadoReles(); //chama a funo de acionamento dos rels por bluetooth serial

SensorJardim(); //chama a funo de leitura do sensor de umidade do solo e
acionamento de vlvula de irrigao

SensorGas(); //chama a funo da leitura do sensor de gs

SensorIn1(); //chama a funo da leitura do estado de um terceiro sensor

AtivaAlarme(); //chama a funo pra ativar o alarme, se o sinal dos sensores
atingir determinado nvel

internet(); //chama a funo relgio

delay(100);
} //LooP

//************************ FUNES **********************************************
/*
FUNO: EstadoReles()
PARMETROS: Nenhum
RETORNO: Nenhum
DESCRIO: Verifica se o canal de comunicao serial est disponvel. Caso esteja
recebe um byte pelo canal
Faz 6 (seis) comparaes para atualizar o estado dos rels, LIGADO ou
DESLIGADO
Salva nas variveis de estado (BOOLEAN) o estado atual do rel, para futura
conferncia.
*/
void EstadoReles (void) {

if (Serial.available() > 0) { //SE A PORTA SERIAL ESTIVER DISPONVEL
inByte = Serial.read(); //L O BYTE DISPONVEL NO CANAL DE
COMUNICAO DE ENTRADA

if(inByte == 'A'){ //SE RECEBEU O BYTE 'A' LIGA O REL DA SADA
1
estadoRele1 = true;
inByte = 0; }

if(inByte == 'a'){
estadoRele1 = false; //SE RECEBEU O BYTE 'a' DESLIGA O REL DA SADA 1
inByte = 0; }

if(inByte == 'B'){
estadoRele2 = true; //SE RECEBEU O BYTE 'B' LIGA O REL DA SADA 2
inByte = 0; }

if(inByte == 'b'){
estadoRele2 = false; //SE RECEBEU O BYTE 'b' DESLIGA O REL DA SADA 2
inByte = 0; }

if(inByte == 'C'){
estadoRele3 = true; //SE RECEBEU O BYTE 'C' LIGA O REL DA SADA 3
inByte = 0; }

if(inByte == 'c'){
estadoRele3 = false; //SE RECEBEU O BYTE 'c' DESLIGA O REL DA SADA 3
inByte = 0; }
} // =Serial Available

digitalWrite(releLamp1, estadoRele1);
digitalWrite(releLamp2, estadoRele2);
digitalWrite(releLamp3, estadoRele3);
}
//*************************************************************************************
/*
FUNO: SensorJardim()
PARMETROS: Nenhum
RETORNO: Nenhum
DESCRIO: Primeiramente a funo calcula uma mdia de 50 valores medidos pelo sensor
de forma que a medio analgica fique mais suave, uma espcie de filtro
por software
Aps isso verifica se o valor mdio medido na porta analgica A2 menor
que um valor base
se for menor, aciona um contato de rel ligado a uma vlvula que por sua
vez
aciona o sistema de irrigao da casa.
O valor medido na porta analgica a umidade do solo.
50

Quando um valor alto significa que o solo est umido, caso contrrio
seco.
*/
void SensorJardim(void) {

if(samplesJardim <= 50){ //verifica se ja atingiu o numero
mnimo de amostragens do sinal
accJardim = analogRead(sensorIn3) + accJardim; //vai acumulando o valor amostrado
pra depois calcular a mdia
samplesJardim = samplesJardim + 1; //vai atualizando o nmero de
amostras medidas
}
else{ //quando medir 50 amostras,
mediaJardim = accJardim/samplesJardim; //calcula a mdia dos valores
amostrados
samplesJardim = 0; //reseta o contador de amostras
accJardim = 0; //reseta o acumulador de amostras

if(mediaJardim < 100) estadoRele4 = true; //IMPLICA EM UMIDADE MUITO BAIXA,
ENTO ATIVA O REL PRA ACIONAR A VLVULA DE IRRIGAO
else estadoRele4 = false; //CASO CONTRRIO A UMIDADE EST
SUFICIENTE, ENTO DESLIGA A IRRIGAO.

digitalWrite(releJardim, estadoRele4);
}
}
//************************************************************************************
/*
FUNO: SensorGas()
PARMETROS: Nenhum
RETORNO: Nenhum
DESCRIO:
*/
void SensorGas(void) {

if(samplesGas <= 50){ //verifica se ja atingiu o numero mnimo de
amostragens do sinal
accGas = analogRead(sensorIn2) + accGas; //vai acumulando o valor amostrado pra
depois calcular a mdia
samplesGas = samplesGas + 1; //vai atualizando o nmero de amostras
medidas
}
else{ //quando medir 50 amostras,
mediaGas = accGas/samplesGas; //calcula a mdia dos valores
amostrados
samplesGas = 0; //reseta o contador de amostras
accGas = 0; //reseta o acumulador de amostras

if(mediaGas < 100) estadoSensorIn2 = true; //IMPLICA EM UMIDADE MUITO BAIXA,
ENTO ATIVA O REL PRA ACIONAR A VLVULA DE IRRIGAO
else estadoSensorIn2 = false; //CASO CONTRRIO A UMIDADE EST
SUFICIENTE, ENTO DESLIGA A IRRIGAO.
}
}

//************************************************************************************
/*
FUNO: SensorIn1()
PARMETROS: Nenhum
RETORNO: Nenhum
DESCRIO:
*/
void SensorIn1(void) {

if(samplesIn1 <= 50){ //verifica se ja atingiu o numero mnimo de
amostragens do sinal
accIn1 = analogRead(sensorIn1) + accIn1; //vai acumulando o valor amostrado pra
depois calcular a mdia
samplesIn1 = samplesIn1 + 1; //vai atualizando o nmero de amostras
medidas
}
else{ //quando medir 50 amostras,
mediaIn1 = accIn1/samplesIn1; //calcula a mdia dos valores
amostrados
samplesIn1 = 0; //reseta o contador de amostras
accIn1 = 0; //reseta o acumulador de amostras

if(mediaGas < 100) estadoSensorIn1 = true; //IMPLICA EM UMIDADE MUITO BAIXA,
ENTO ATIVA O REL PRA ACIONAR A VLVULA DE IRRIGAO
else estadoSensorIn2 = false; //CASO CONTRRIO A UMIDADE EST
SUFICIENTE, ENTO DESLIGA A IRRIGAO.

}
}
//*************************************************************************************
/*
FUNO: AtivaAlarme()
51

PARMETROS: Nenhum
RETORNO: Nenhum
DESCRIO:
*/
void AtivaAlarme(void) {

if(estadoSensorIn1 && estadoSensorIn2)
digitalWrite(alarme, HIGH);
else
digitalWrite(alarme, LOW);
}
//*************************************************************************************
/*
FUNO: Internet()
PARMETROS: Nenhum
RETORNO: Nenhum
DESCRIO: Ativa o servidor com o cliente e envia a pgina WEB e recebe as requisies
ativando as aes esperadas.
*/
void Internet(void){
current_action = 0;
// CRIA UMA CONEXO COM O CLIENT
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//LER CHAR POR CHAR DA REQUISIO HTTP E ARMAZENA OS CHARS EM UMA STRING
if (readString.length() < 30) {
readString = readString + c;
}
//SE A REQUISIO HTTP DO CLIENT TERMINOU, RECEBE ESSA INFORMAO
if (c == '\n') {

//Serial.print(readString);
// COMPARA A STRING RECEBIDA DA REQUISIO HTTP, PARA VERIFICAR O QUE O USURIO
DESEJA FAZER
// GUARDA A INFORMAO DO QUE VAI SER FEITO EM current_action DE FORMA QUE
POSSVEL SABER O ESTADO DO PINO
if(readString.startsWith(pinOutRelay_ON))
current_action = action_mypin_ON;

else if(readString.startsWith(pinOutRelay_OFF))
current_action = action_mypin_OFF;

else
current_action = action_none;

//
****************************************************************************************
// CRIA A PGINA HTTP COM CABEALHO PADRO QUE O USURIO VAI VER
// E ENVIA PARA ESSA PGINA AS INFORMAES ATUAIS DE ACORDO COM AS REQUISIES
DELE.
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html\n");
client.println("<html><head>");
client.println("<title>LuizClaver Server</title></head>");
client.println("<body>");
client.println("<h1>LuizClaver Server</h1>");

//CRIAO DOS BOTES EM HTML. AS LINHAS DO MEIO MOSTRAM A MONTAGEM DA MENSAGEM
DE CONTROLE
//QUE INDICA out=5&value=1 para ligado e value=0 para desligado.
client.println();
client.println("<form METHOD=get action=\"http://189.71.116.227:3333/\">");
//OBSERVAR QUE ESSE O IP_FIXO DO ROTEADOR
client.println("<input type=hidden name=\"out\" value=\"5\">");
//SE NO TIVER PLANO DE IP_FIXO, TEM QUE MUDAR TODA VEZ
client.println("<input type=hidden name=\"status\" value=\"1\">");
//QUE O ROTEADOR REINICIAR, OU QUE A INTERNET REINICIAR
client.println("<input type=submit value=\"LIGAR\">");

client.println("<form METHOD=get action=\"http://189.71.116.227:3333/\">");
//DE FORMA SIMILAR AQUI O COMANDO DEPENDE DO IP
client.println("<input type=hidden name=\"out\" value=\"5\">");
//COMO FUTURA SOLUO PODE-SE IMPLEMENTAR ALGO COM
client.println("<input type=hidden name=\"status\" value=\"0\">");
//DHCP AUTOMTICO, QUE PEGA O IP DIRETO DA REDE.
client.println("<input type=submit value=\"DESLIGAR\">");
client.println("</form>");
client.println();

switch(current_action)
{
case action_mypin_OFF:
digitalWrite(pinOutRelay, LOW);
client.println("O PINO: ");
52

client.print(pinOutRelay);
client.print(" ESTA DESLIGADO");
client.println("<br/><br/><a href='http://189.71.116.227:8081'>CAMERA</a>");
//NOVAMENTE A QUESTO DO IP E AGORA ACESSANDO UMA PORTA EXTRA
client.println("</html>");
//CONFIGURADA TAMBM NO ROTEADOR PARA DAR ACESSO A CMERA IP
break;

case action_mypin_ON:
digitalWrite(pinOutRelay, HIGH);
client.println("O PINO: ");
client.print(pinOutRelay);
client.print(" ESTA LIGADO");
client.println("<br/><br/><a href='http://189.71.116.227:8081'>CAMERA</a>");
//MAIS UMA VEZ O IP AQUI DEVE SER CONHECIDO PREVIAMENTE DO ROTEADOR
client.println("</html>");
break;

case action_none:
client.println("<br/><a href='http://189.71.116.227:8081'>CAMERA</a>");
//AQUI TAMBM
client.println("</html>");
break;
}
//
***************************************************************************************

//LIMPA A STRING DE COMPARAO, PARA A PRXIMA REQUISIO HTTP DO CLIENT
readString="";
//FINALIZA A CONEXO COM O CLIENT
client.stop();
}
}
}
}
delay(1);
}

You might also like