Escolar Documentos
Profissional Documentos
Cultura Documentos
Brasília
2016
2
Brasília
2016
3
BANCA EXAMINADORA
_______________________________________________
Prof. Dr. Abiézer Amarília Fernandes
Coordenador do Curso
_______________________________________________
Prof. MSc. Luciano Henrique Duque
Orientador
_______________________________________________
Prof. MSc. Luís Cláudio Lopes de Araujo
UniCeub
_______________________________________________
Prof. MSc. Ivandro Ribeiro
UniCeub
Brasília
2016
4
AGRADECIMENTOS
Agradeço principalmente a minha querida e amada filha Ana Maria, que com menos
de um ano de idade teve que fazer um grande sacrifício, pois em muitos momentos não
recebeu a atenção e carinho devido durante o desenvolvimento deste trabalho. Não menos
importante agradeço a minha família pela compreensão e paciência que tiveram ao longo de
toda a graduação. Em especial agradeço imensamente os meus pais e irmãos, por estarem
sempre ao meu lado dando apoio, ajuda e incentivo em todos os momentos da minha vida.
Agradeço à minha esposa Fabiana, pela compreensão e paciência, abrindo mão de momentos
importantes para que fosse possível atingir meus objetivos.
Aos meus amigos Eder Peixoto e Edilson Leal pela amizade e por toda ajuda oferecida
durantes os momentos difíceis na construção deste trabalho. Por último, porém não menos
importante aos professores que me ajudaram durante toda minha jornada, compartilhando
seus conhecimentos adquiridos. Em especial ao meu orientador Professor Luciano Henrique
Duque, por todos os conselhos e empenho durante o decorrer deste trabalho.
5
CITAÇÃO
Albert Einstein. ”
.
6
RESUMO
ABSTRACT
With the technology advance, people have been looking for ways to improve daily
tasks in order to provide greater autonomy and independence in the execution of these tasks,
whether in a residence or even in the workplace, driven by arguments such as convenience,
comfort and even sustainability. In this context, this project proposes the development of a
system for the monitoring and activation of electric charges, which allows the user to
remotely and transparently perform the activation of the lighting system, radio frequency
access control for things such as opening a gate, as well as the monitoring of current, voltage
and power used in the system. This project is developed using the Arduino Mega
microcontroller together with relays for the realization of drives, as well as current, voltage
and light intensity sensors.
LISTA DE FIGURAS
LISTA DE QUADROS
Quadro 1 - Potência Aparelhos. Fonte Adaptador de: Noberto Nery Instalações Elétricas..................26
Quadro 2 - Levantamento de cargas. Fonte: Autor..............................................................................26
Quadro 3 - Cálculo potência ativa total. Fonte: Autor..........................................................................27
Quadro 4 - Versões Wifi e especificações. Fonte: Autor.......................................................................39
Quadro 5 - Comparativo Arduino. Fonte: http://blog.filipeflop.com/arduino/tipos-de-arduino-qual-
comprar.html.......................................................................................................................................40
Quadro 6 - Característica de operação HT6P20D. Fonte: Datasheet...................................................54
Quadro 8 - Dados de Operação Motor KDZ Price. Fonte: Autor...........................................................68
Quadro 9 - Resultado dos testes sistema de iluminação. Fonte: Autor................................................85
Quadro 10 - Teste acionamento sistema iluminação. Fonte: Autor.....................................................86
Quadro 11 – Probabilidade ocorrência de sucesso/falhas de acionamento. Fonte: Autor...................89
Quadro 12 - Resultados do acionamento portão automatizado..........................................................92
Quadro 13 - Resultado teste do sensor de tensão. Fonte: Autor.........................................................95
Quadro 14 - Resultados dos testes de medição de corrente. Fonte: Autor..........................................99
Quadro 15 - Comparativo potência sistema e calculada com valores medidos no multímetro. Fonte:
Autor..................................................................................................................................................101
11
LISTAS DE SIGLAS
AC Alternating Current
DC Direct Current
GHz Giga-Hertz
GND Ground
HD Hard Disk
MHz Mega-Hertz
SUMÁRIO
CAPÍTULO 1 INTRODUÇÃO.........................................................................................14
1.3. Motivação.............................................................................................................................19
2.5. microcontolador...................................................................................................................39
4.2. TESTE DE acionamento dos sistemas de iluminação e portão com retorno de status..........82
5.1. conclusões..........................................................................................................................103
REFERÊNCIAS BIBLIOGRÁFICAS................................................................................105
APÊNDICE 107
14
1. INTRODUÇÃO
O crescimento tecnológico tem sido uma constante na vida do homem desde a sua
existência, a medida que vão surgindo as necessidades, surgem também formas de serem
supridas, através de invenções e novas descobertas.
Um marco importante para esse avanço, foi o domínio do fogo, sendo a primeira
forma de energia dominada, permitindo assim, o progresso do ser humano, pois, influenciou a
maneira do homem comer, permitindo que os alimentos fossem cozidos ao invés de serem
consumidos de forma crua, também se proteger dos perigos, e principalmente no meio desse
homem pensar e agir. Assim o domínio do fogo trouxe ao homem primitivo, um aumento da
espectativa de vida associada ao aumento da qualidade de vida. (BORBA, DA CRUZ e
DINIZ DE ABREU, 2010)
Um grande salto tecnológico ocorreu durante os anos de 1840 a 1870 com a revolução
industrial impulsionada a partir da criação de máquinas a vapor que foram aplicadas nas
industrias para que substituíssem o trabalho pesado realizado pelas pessoas, também no
desenvolvimento dos trens e navios, tudo voltado para a produção em massa na medida que as
necessidades das pessoas aumentavam. No segundo momento, essa revolução passou por uma
nova transformação, a partir de novas descobertas de fontes de energia como petróleo e
energia elétrica, a invenção do motor elétrico por exemplo, possibilitou a introdução de
maquinas automáticas nas indústrias e novos meios de transporte, transformando de vez o
modo de vida das pessoas, traduzindo-se em benefícios para a humanidade. (FILHO, 2007).
Apesar da computação ter nascido com o objetivo de auxiliar o ser humano, foi
introduzida primeiramente em grandes corporações, pois, tinha alto custo e ocupava grandes
espaços físicos, mas à medida que a tecnologia foi avançando, o custo de produção desses
equipamentos foi se tornando mais acessível ao mesmo tempo que iam se tornando melhores,
assim a tecnologia foi disseminada ao ponto de estar ao alcance de todos, sendo aplicada nas
mais diversas áreas, seja, na indústria, comercio até mesmo dentro das residências.
A internet tem uma grande importância nesse meio, e apesar de ter sido criada
inicialmente para fins militares, foi a partir dela que o avanço tecnológico aconteceu de forma
exponencial a partir dos anos 1990, permitindo acesso globalmente distribuído a informações
diversas, além de permitir comunicação entre as pessoas em tempo real. (Tait, Tania F.C.
2007).
Como observado as pessoas tem buscado, cada vez mais, praticidade, comodidade e
segurança, através das tecnologias que lhe são apresentadas. Nesse sentido surgiu em meados
dos anos 1980, o termo Domótica junção da palavra latina Domus (casa) e robótica. Esse
termo está relacionado a instalação de tecnologia em residências com o objetivo de melhorar a
qualidade de vida, aumentar a segurança e viabilizar o uso racional dos recursos para seus
habitantes (ASSOCIAÇÃO ESPLANHOLA DE DOMÓTICA. 2015).
Para tanto, é utilizado o Arduino Mega como base do projeto. Esse microcontrolador é
uma plataforma embarcada de código fonte livre, baseada no ATmega256, possui pinos de
entradas e saídas digitais e analógicas, assim como pinos de controle por PWM
16
(MCROBERTS, 2011). Esse micro controlador é utilizado pela facilidade de uso e por conter
recursos importantes que permite ser utilizado em uma ampla faixa de opções.
Por fim, o Arduino Mega interage com o ambiente externo e interno, através de
sensores (corrente, tensão, luminosidade e Rádio Frequência) e atuadores (motor,
interruptores, reles): os sensores obtém informações relacionadas ao ambiente e informam ao
micro controlador, que irá processá-las e acionar os atuadores para realizar as tarefas pré-
determinadas solicitadas pelo usuário por meio da interface WEB, através de qualquer
dispositivo móvel ou fixo que tenha acesso a internet.
1.2. METODOLOGIA
Sexta fase, integrar todos os circuitos ao Arduino Mega e Ethernet Shild, com a
finalidade de realizar o teste de funcionamento, de cada sensor e atuador deste, visando a
detecção de uma possível falha, aplicando as correções necessárias.
Sétima fase, realizar teste de funcionamento do sistema com todos módulos unidos, e
para tal será utilizando os equipamentos, conforme abaixo descrito:
Oitava fase, construir maquete física com todo o sistema montado, simulando um
ambiente residencial, que demonstre o funcionamento deste projeto, conforme a seguir.
1.3. MOTIVAÇÃO
Com avanço tecnológico e preços mais acessíveis a automação tem se tornado cada
vez mais popular, hoje grande parte das residências e empresas já possuem sistemas
automatizados, tais como, portão automático e centrais de alarme, esses sistemas na grande
maioria exercem suas funções de forma independente sem a intervenção de um sistema
centralizado, como exemplo de uma central de alarme que ao detectar movimento dispara um
sinal sonoro, mas só pode desativada ou ativada novamente pelo usuário de forma presencial.
20
Assim a motivação para desenvolver este projeto acadêmico, foi criar um sistema que
o usuário possa monitorar e acionar cargas elétricas de um ambiente de forma remota e que
esse sistema possa ser integrado aos sistemas já existes, neste caso o sistema de um motor que
automatiza portão, trazendo assim, maior praticidade e conforto para o usuário.
fator importante se refere ao controle da iluminação que retornará ao usuário além do status
de ligado ou desligado, informações de defeito caso o acionamento não ocorra por defeito do
circuito de iluminação.
1.– Visão geral do trabalho, seu objetivo, assim como, motivação para o desenvolvimento e a
metodologia utilizada para atingir o objetivo geral.
2.– Fundamentos básicos necessários para o entendimento deste trabalho, ou seja, referencial
teórico do micro controlador Arduino Mega, placa de comunicação Ethernet Shield W5100,
sensores e reles.
3.– Estrutura do projeto, onde serão apresentados a descrição detalhada do sistema e seu
funcionamento.
2. REFERENCIAL TEÓRICO
De fato, a eletricidade é muito importante na vida do ser humano, ela está presente
dentro dos lares, permitindo o funcionamento de aparelhos domésticos e eletrônicos, no
sistema de iluminação, dentre outras funcionalidades providas pela energia elétrica. Por outro
lado, a eletricidade quando mal-empregada, traz perigos diversos, como incêndios causados
por curto circuitos e até mesmo acidentes fatais.
Para que se possa entender a estrutura da parte elétrica, dever ser elaborado um projeto
de forma que mostre uma instalação executada corretamente, que privilegiem durabilidade,
bom funcionamento, conforto e segurança, terem todas as tomadas no lugar apropriado,
interruptores suficientes e um disjuntor bem dimensionado que não desarme fora das
situações de risco, estes são os requisitos mínimos para o bom funcionamento da instalação
elétrica. Segundo Nery, para que uma instalação elétrica seja considerada satisfatória, deve
apresentar características que satisfaçam exigências funcionais necessárias ao ambiente,
possuir uma vida útil compatível com a edificação, além de ter um custo de instalação,
manutenção e consumo de energia tal que seja economicamente viável, atendendo as
condições necessárias de segurança e conforto (NERY, 2011).
Desta forma potência elétrica é definida como sendo o trabalho realizado por uma
corrente na unidade de tempo. Para um sistema puramente resistivo a potência elétrica é
obtida a partir do produto da tensão U pela intensidade da corrente I e tem como unidade de
medida o watt (W) (NISKIER, 2000). Segue abaixo equação da potência elétrica, onde P
significa potência elétrica, U tensão e I corrente.
P=U x I (1)
Essa potência também pode ser obtida a partir da lei de Ohm, pois, a tensão U é obtida
a partir do produto da resistência R pela intensidade da corrente I. conforme equação a seguir.
U=RxI (2)
P = R x I2 (3)
Circuito elétrico de baixa tensão é definido pela Norma Brasileira conforme (NBR
5410:2008), Seção 4 “ Princípios fundamentais e determinação das características gerais”
temos a definição de circuitos conforme mostrado a seguir.
(...)
Tomada de uso geral é aquela destinada para alimentação de aparelhos diversos que
utilizam uma corrente inferior a 10 A e potência correspondente a tensão utilizada (127/220
V), em contrapartida as tomadas de uso especifico são aquelas destinadas a aparelhos que
necessitam de corrente superior a 10A, tais como chuveiros, fornos e torneiras elétricas.
Iluminação.
Cômodos onde a área for igual ou inferior a 6m2 no mínimo uma tomada
ficando a cargo do projetista a instalação de mais de um ponto.
Em áreas superiores a 6m2, uma tomada a cada 5m ou fração do perímetro
espaçadas de forma igualitária sempre que possível.
Dependências como cozinhas, copas e copas-cozinhas uma tomada a cada
3,5m espaçadas de forma uniforme independente da área.
Banheiros mínimo de uma tomada junto ao lavatório com distância mínima
do 60 cm do limite do box.
Quadro 1 - Potência Aparelhos. Fonte Adaptador de: Noberto Nery Instalações Elétricas
Aparelho Carga em VA
Chuveiro 4400 a 6500
Torneira elétrica 3500 a 5500
Condicionador de Ar 1200 a 3500VA
Forno de micro-ondas 1000 a 1500
Secadora de roupas residencial 2500 a 4500
Para melhor entendimento dos critérios adotados pela NBR5410 conforme acima
especificados, segue quadro 2 com o levantamento de cargas de um ambiente residencial
reunindo todos os dados de cargas de iluminação, TUG,s e TUES.
(...)
(...)
28
(...)
De acordo com o quadro 3 com potência ativa total de 10,94 KW, é atendido com o
tipo de alimentação M2, monofásica 220 volts com dois condutores sendo 01 fase, 01 neutro.
Além dos critérios mencionados, deve-se evitar que circuitos de iluminação e TUG se
tornem muito carregados, pois os fios apropriados para as ligações resultam numa bitola
muito grande, o que pode além de dificultar a instalação em eletrodutos e ligações terminais
dos disjuntores e tomadas, encarecem o custo de instalação. Uma prática adotada para que
esse problema não ocorra é estabelecer que a corrente dos circuitos de iluminação e TUGs não
ultrapasse 10A.
29
A seguir é apresentado nas figuras 2.3 e 2.4, exemplos de ligação dos circuitos de
iluminação e tomadas.
Na figura 2.3, tem-se o exemplo de uma ligação simples para o circuito de iluminação,
onde o fio neutro N1 sai do quadro de distribuição e vai até a lâmpada, seguindo do fio da
fase, que vai até o interruptor, sai do interruptor o fio de retorno que vai até a lâmpada. O
interruptor é responsável por comutar a fase desse circuito com o retorno da lâmpada, fazendo
com que esta acenda.
frequência. Para que essa comunicação seja realizada são necessários o elemento transmissor,
o meio de transmissão e o receptor.
Partindo da tensão zero, a onda aumenta atingindo a amplitude, descresse, então se anula,
chega na amplitude negativa e volta a aumentar se anulando novamente. Essa sequência
compõe um ciclo. (FAGUNDES, 2016).
Para utilização da rádio frequência os projetos devem ser muito bem planejados para
que a qualidade de recepção dos dados não seja comprometida com atenuações que deformam
o sinal além de interferências de outros sinais que modificam o sinal original.
37
Seguindo esta linha o projeto proposto utiliza um kit transmissor emissor de rádio
frequência que opera na faixa de 433Mhz, o modulo emissor é ligado ao circuito controlador
junto ao encoder HT6P20D que será abordado mais à frente, sendo este circuito responsável
por acionar o circuito de um portão automatizado.
Transmissor:
Receptor:
Tensão de operação – 5V
38
A rede sem fio é uma tecnologia baseada na transmissão por rádio frequência, ou seja,
os dados são transmitidos através de um sinal eletromagnético e propagados pelo ar,
promovendo interconexão e grande flexibilidade na localização de estações, permitindo a
rápida visualização dos dados pelo usuário independentemente da localização em que se
encontra. Outra característica importante deste tipo de rede é que não necessita de uma grande
mudança na infraestrutura física no local onde for instalada.
WPAN (Wireless Personal Area Network), é o tipo rede pessoal desenvolvida para
pequeno alcance, com alcance geográfico entre 10 a 100 metros, ou seja, muito limitadas.
Essas redes são desenvolvidas pelo Grupo 15 do IEEE e destacam-se o Bluetooth (IEEE
802.15.1), (SEMPREBOM, 2010).
39
WLAN (Wireless Local Area Network) rede local, com alcance entre 100 a 300m. A
principal tecnologia é o Wi-Fi (Wireless Fidelity) designado pelo IEEE 802.11b, opera na
faixa de 2,4GHz e 5,0GHz, com taxas de transmissão conforme tabela 4 a seguir.
As LANS sem fio caracterizadas pelo padrão 802.11 (wifi) se tornaram muito
populares, sendo o padrão utilizado em edifícios de escritórios, locais públicos como
aeroportos e dentro das residências, sendo utilizadas para conectar dispositivos moveis como
smartphones, laptops e outros a internet, além de permitir que dispositivos vizinhos sem
acesso à internet possam se comunicar (TANENBAUM e WETHERALL, 2011).
Neste contexto o presente trabalho, utiliza o padrão wifi para conectividade, provida
por um roteador que fornece conectividade ao microcontrolador Arduino e placa Ethernet
Shield, utilizando os protocolos de comunicação necessários para que o usuário possa
remotamente monitorar e acionar as cargas ligadas ao sistema.
40
2.5. MICROCONTOLADOR
Para desenvolvimento do projeto o Arduino é uma boa escolha mas existe no mercado
muitos modelos disponíveis, sendo que cada modelo pode ser definido de acordo com a
característica do projeto a ser desenvolvido. Nesse contexto segue abaixo tabela 5
comparativa entre os diversos modelos de Arduino disponíveis.
Dentre os modelos apresentados na imagem acima, o Arduino Uno costuma ser o mais
utilizado, pois possui, processador Atmega 328 com clock de 16Mhz, memória de 32k, 14
portas digitais sendo que 06 podem ser usadas como saídas PWM, 06 portas analógicas, além
de possuir compatibilidade com a maioria das Shields disponíveis no mercado.
A pesar do modelo Arduino Uno ser o mais utilizado e possuir memória, portas
digitais e analógicas disponíveis e suficientes para aplicação do projeto proposto, será
utilizado o Arduino Mega baseado no chip Atmega2560, pois é o dispositivo que já estava
disponível, não sendo necessário a aquisição de outro modelo, além de ser totalmente
compatível com a placa de Ethernet Shield utilizada no projeto, ou fator se refere a questão de
ser superior em memória e pinos de saídas analógicas/digitais, o que pode permitir que as
funcionalidades do projeto seja ampliado futuramente.
Pinos utilizados para receber e transmitir serial de dados: RX(0, 15, 17, 19)
e TX(1, 14, 16, 18).
Pinos para interrupções externas (2, 3, 18, 19, 21 e 21), configurados para
disparar uma interrupção por um sinal na borda de subida ou descida, ou
mudança de valor
Pinos de 0 a 13 podem ser utilizados como PWM
43
Um fator importante do Arduino MEGA é que ele é compatível com a maiorias das
Shields projetadas para o Arduino Uno ou Duemilanove, pois os pinos digitais de 0 a 13,
AREF, GND, as entradas analógicas de 0 a 5 e os pinos de conexão ICSP, estão todos em
locais equivalentes.
A programação para o Arduino Mega pode ser realizada a partir de sua IDE que é um
software de uso livre, implementado em Java, sendo o código fonte desenvolvido na
linguagem C e C++.
45
Por fim, esse microcontrolador utilizará para seu funcionamento uma fonte externa de
12V, e o projeto em si fará uso das portas de entradas/saídas digitais e analógicas do Arduino,
para conectar os diversos sensores (corrente, tensão, magnético), os pinos do modulo rele, a
placa de Ethernet Shield que será comentado no próximo tópico, assim como o pino de
alimentação 5V e GND, para ligar alguns dos componentes citados.
Shield é uma placa de expansão de hardware que pode ser conectada em cima da placa
Arduino, tem a função de adicionar funções que a placa principal não possui, estendendo os
demais pinos para que sejam usados normalmente para outras funções (ARDUINO, 2016).
Suporte TCP / IP Protocolos: TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE,
Ethernet
10BaseT / 100BaseTX Ethernet PHY incorporado
Suporte Auto Negociação (duplex Full-duplex e meio)
Suporte Auto MDI / MDIX
Ligação de suporte ADSL (com suporte PPPoE Protocolo com autenticação
PAP / CHAP)
Suporta 4 soquetes independentes simultaneamente
Memória interna 16Kbytes de Tx / Rx Buffers
Tecnologia de 0,18 mm CMOS
Operação 3.3V com tolerância sinal de 5V I / O
Suporte Serial Peripheral Interface (SPI modo 0)
Multi-função de saídas de LED (TX, RX, Full / Half duplex, Colisão, Link,
Speed
O Arduino Mega se comunica com o W5100 através dos pinos digitais 50, 51 e 52,
sendo o pino 10 utilizado para selecionar o W5100 e o pino 4 para utilização do cartão de
memória (SD Card), logo esses pinos não podem ser utilizados como entradas/saídas para
qualquer outra aplicação e o pino 53 apesar de não ser utilizado na aplicação do Ethernet
Shield, deve ser mantido como uma saída para que a interface SPI possa funcionar
(ARDUINO, 2016).
Figura 2.19 -
Shield Ethernet W5100. Fonte: Adaptado de Arduino.CC
47
Conforme mostrado na figura 2.18, a placa Ethernet possui uma série de Leds
informativos conforme mostrado a seguir.
Para tanto o sistema, é composto de uma interface gráfica, visualizada a partir de uma
página HTML desenvolvida na própria IDE do Arduino, utilizando o W5100 como servidor
WEB que se comunicará com o roteador através de sockets, transmitindo os dados para o
Arduino que utilizara os componentes já mencionados para realizar o monitoramento e os
acionamento solicitados, que por sua vez irá encaminhar de volta as informações para o
Ethernet Shield sendo apresentados ao usuário através da página WEB.
contato, possibilitando o acionamento de uma carga elétrica ligada a ele, seja, um motor ou
lâmpada.
Ao se utilizar o rele
comandado através de um circuito com microcontrolador deve-se tomar algumas precauções,
pois, quando o rele é desligado é gerada em sua bobina, por indução magnética uma corrente
contraria àquela que aciona o circuito, podendo causar algum dano ou até mesmo queimar o
circuito controlador. Outro fator que deve ser levado em consideração quando de sua
utilização é o consumo de corrente necessário para sua ativação que para os reles mais
comuns são cerca de 25mA.
O esquema elétrico representado pela figura 2.21 a seguir mostra o circuito elétrico do
modulo rele.
Uma das aplicações deste projeto é retornar para o usuário status da carga acionada,
por exemplo uma lâmpada, e como o circuito para controle dessa lâmpada utilizara o conceito
de Three Way, sendo acionada tanto pelo Arduino a partir do modulo rele mencionado acima,
como pelo interruptor paralelo comum instalado na residência, é necessário a utilização de
outros componentes, ou seja, um que seja capaz de informar ao sistema se há tensão chegando
a essa carga, independentemente se o acionamento ocorreu pelo interruptor ou módulo rele, e
outro que verifique se essa lâmpada foi realmente acesa.
50
A figura 2.23 a seguir apresenta o diagrama elétrico do acoplador modelo 4N25 e suas
especificações.
Atualmente, grande parte das residências e empresas possuem algum tipo de sistema
automatizado, dentre os mais populares estão os sistemas de portões de garagem, que
geralmente funcionam de forma independente sem a intervenção de um sistema centralizado.
Esses equipamentos são desenvolvidos com funções especificas e com hardware exclusivo
para sua aplicação o que os tornam relativamente baratos se comparado a uma central de
automação (DAL BÓ e MURATORI, 2014).
Os sistemas de portão automático, utilizam transmissão sem fio por rádio frequência,
por meio de controle remoto que tem a função de acionar o motor automatizador para que o
portão possa abrir ou fechar. Desse modo, este projeto visa a construção de um controle
remoto embarcado ao sistema de central, que seja capaz de se comunicar com o sistema do
motor aumentando suas funcionalidades, para que seja possível, além de ser controlado por
seus respectivos controles remotos, seja, acionado pelo sistema central de forma remota.
acionamento será realizado por meio de atuadores que controlam a iluminação e a abertura de
um portão automatizado, retornando por meio de sensores instalados o status dessas cargas,
além do retorno informações como medidas de corrente, por meio de dados obtidos a partir
dos sensores de corrente e tensão.
Comunicação
Medições
A figura 3.2 a seguir apresenta, um breve trecho do código responsável por criar a
conexão da placa Ethernet Shield com o Arduino e este com a rede.
58
Para que o acesso remoto ao projeto seja possível, a placa W5100 deve estar conectada
ao roteador. Essa conexão é realizada atribuindo um endereçamento que permita o dispositivo
ser identificado na rede, sendo este realizado através do cadastramento dos valores de rede
como endereço IP, gateway e máscara de sub-rede, implementadas no código conforme
apresentado na figura 3.2 através das variáveis do tipo byte “ip”, “gateway” e “subnet”.
A variável “byte mac” declarada no código, define o valor MAC da placa W5100, que
é o endereço físico deste dispositivo de rede, sendo formado por 12 dígitos hexadecimais
agrupados de 2 a 2. Esse endereço é associado com a porta de comunicação defina com
Ethernet.server(8090) e os demais endereços mencionados acima, de forma a garantir que
todos os dados destinados as funcionalidades do projeto, solicitados pelo cliente a partir de
um computador, smartphone ou qualquer outro dispositivo com acesso a rede com ou sem fio,
e que trafeguem pela porta 8090, sejam endereçados apenas para o Arduino.
Para que o projeto hora proposto se comunique pela rede, pode ser utilizado qualquer
roteador wireless dentre os diversos modelos disponíveis no mercado, sendo que o
equipamento escolhido tenha compatibilidades com os protocolos de comunicação TCP/UDP
e seja capaz de realizar um roteamento estático de forma que assegure que o Arduino Mega
sempre assuma o mesmo endereço de IP assim que se conectar à rede. Desse modo, o
dispositivo utilizado para a comunicação neste projeto é um roteador wireless modelo TL-
WR741ND, fabricado pela empresa TP-LINK.
Servidores WEB são responsáveis por armazenar e trocar informações com outras
máquinas, sendo que nesse processo estão envolvidos dois participantes, de um lado o cliente
que solicita as informações que neste projeto é solicitado a partir de uma página HTML,
acessada a partir de qualquer dispositivo que se conecte a internet e utilize um browser, como
exemplo dos navegadores Firefox e Google Chrome e do outro lado o servidor que tem a
função de atender as solicitações.
Neste projeto o servidor WEB disponibiliza uma página HTML, a qual o cliente se
conecta e envia as solicitações que são demandadas ao microcontrolador. Desta forma são
realizados os acionamentos desejados e o retorno do status atual daquele dispositivo, sendo
essas informações indicadas pelo servidor WEB através das informações capturadas no
Arduino Mega.
-----------------------------------------------------------------------------------------------------------------
EthernetServer server(8090) //
String readString = String(30); // string para armazenar as solicitações do cliente
62
void setup() {
void loop() {
}
}
}
}
}
--------------------------------------------------------------------------------------------------------------------------------------
Por fim temos a função “client.stop(); ” responsável por encerrar a conexão, liberando
recursos do servidor. Essa função é necessária pois as conexões TCP criam uma conexão
direta entre cliente e servidor que tende a ser manter ativa. Apesar do protocolo TCP possuir
mecanismos para detectar uma conexão inativa a chamada desta função é ideal para garantir o
encerramento da conexão no momento desejado.
O modulo rele
utilizado neste projeto será
comandado por uma das
portas digitais do Arduino
Mega, através do envio de um
sinal de tensão de 5V em seu circuito de ativação, dessa forma irá comutar seus contatos
normalmente aberto e normalmente fechado, realizando o acionamento de uma lâmpada 220V
e 70W, conforme esquema elétrico de acionamento apresentado pela figura 3.6 a seguir.
65
De posse da informação acima, foi implementada uma função que retorne o valor 1 ou
0, indicando se tem ou não tensão passando no circuito. Dessa forma segue abaixo a função
criada que é chamada dentro do cabeçalho HTML.
-----------------------------------------------------------------------------------------------------------------
boolean tensao(){
-----------------------------------------------------------------------------------------------------------------
//Função que retorna o status dentro do corpo html que será apresentado para o usuário
String statusLDR(){ //Retorna uma string com o status da lampada
--------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
Para o retorno dos status temos a chamada da função String statusLDR(), responsável
pela leitura do sensor LDR que tem a função de verificar a intensidade luminosa emitida pela
lâmpada, retornando o status de ligado ou desligado para o sistema, além do status de defeito,
obtido a partir da associação da leitura do sensor de tensão com a leitura do LDR, que
basicamente verifica se há tensão chegando ao circuito da lâmpada e se o sensor LDR está
retornando o valor 1 e caso esse retorno seja 0, o status de defeito e apresentado na interface
WEB para o usuário.
O componente J1 se trata dos pinos de sinal que são ligados aos pinos digital e ground
do Arduino Mega, sua função é enviar um sinal de 5V para os componentes U1 e U2 que
correspondem ao acoplador óptico modelo 4N25 conforme funcionamento apresentado no
referencial teórico.
O acoplador nesse circuito tem duas funções a primeira é funcionar como uma chave
ou botão de contato rápido, ou seja, o microcontrolador ao enviar um sinal de 5V no pino 1 do
4N25, alimenta o LED interno desse componente que fecha o circuito nos pinos 5 e 4 do
fototransistor enviando 12 volts para o Pino D1 ou D2 do CI HT6P20D de acordo com o
acoplador acionado, dessa forma o encoder emite internamente um código de 29 bits referente
ao pino acionado, enviando esse código para a saída DOUT do CI, que por sua vez é ligada
ao pino data do transmissor RF433, responsável pela transmissão dessa sequência de bits na
frequência informada. A segunda função desse acoplador é isolar o sinal 12V que vem da
fonte externa, do sinal emitido pelo arduino, pois o HT6P20D de acordo com suas
características de funcionamento necessita de 12V para ser acionado, logo os 5V enviados
pelo Arduino Mega não é suficiente para esse procedimento. O componente Regulador
Tensão é como o próprio nome diz, é responsável por regular a tensão de 12V que vem da
fonte de alimentação para 5V, suficientes para o funcionamento do componente RF433MHz.
Por fim, o equipamento que o circuito do controle remoto é responsável por acionar, se
trata de um motor automatizador de portões modelo KDZ price, fabricado pela empresa
GAREM. A tabela 8 abaixo apresentado os dados técnicos de operação desse equipamento.
DESCRIÇÃO TÉCNICA
Alimentação 127v/220v
Consumo 0,5808Kw/h
Corrente máxima do motor 127v 3,50 A
Corrente máxima do motor 220v 2,64ª
Frequência (Hz) 50Hz/60Hz
Potencia (HP) 1/5HP
Torque N.m 20N.m
Peso máximo do portão 300kg
Peso do equipamento 4Kg
Rotação 1740RPM
70
Para que o portão possa ser aberto de forma remota de acordo com o proposto por esse
projeto é necessário realizar o cadastramento do código emitido pelo controle do sistema,
junto a placa controladora do portão, esse procedimento é realizado uma única vez e de forma
simples, ou seja, o pinos PROG devem ser colocados em curto habilitando a função
programação, o próximo passo é realizar o acionamento do controle remoto do sistema a
partir da aplicação WEB, nesse momento um led interno da placa pisca sinalizando que o
código foi recebido, em seguida é pressionado o BOT que grava o código recebido. Dessa
forma a placa central do portão está preparada para realizar a abertura e fechamento do portão
a partir do acionamento solicitado de forma remota pelo usuário a partir da aplicação WEB.
Portanto, para que o Arduino Mega possa emitir o sinal para o acionamento do
controle remoto, ele recebe a solicitação a partir do cabeçalho HTML de forma semelhante ao
72
-----------------------------------------------------------------------------------------------------------------
if (readString.indexOf("abrePortao") >= 0) {
if(bPortaoAberto == 1){
digitalWrite(portao,, HIGH);
delay(500);
digitalWrite(portao, LOW);
if (readString.indexOf("fechaPortao") >= 0) {
if(bPortaoAberto == 0){
digitalWrite(portao,, HIGH);
delay(500);
digitalWrite(portao, LOW);
bPortaoAberto = digitalRead(SensorMag);
statusPortao = "Fechado" ;
else{
statusPortao = "Aberto";
Este tópico trata sobre a construção e configuração da parte do sistema responsável por
realizar medição de corrente que associado a medição de tensão, possibilita realizar o cálculo
de potência de acordo com o especificado neste projeto. Para tanto é utilizando dois sensores
que medem corrente e tensão alternada conforme especificado no capítulo 3 tópico 3.3, sendo
que a associação desses dois sensores, junto com o algoritmo desenvolvido na IDE do
Arduino, informa ao usuário os valores de corrente, tensão e potência aparente, assim que
solicitado por este a partir da interface WEB.
Baixa interferência;
Alta velocidade da resposta, 5µs;
Erro de 1,5% a temperatura de 25°C;
1,2 mΩ de resistência interna do condutor;
2,1 kVRMS de isolação de tensão entre os pinos 1-4 para os pinos 5-8;
Sensibilidade da saída de 66 a 185 mV/A de acordo com o modelo
escolhido.
74
Para realizar a medição o sensor ACS712 utiliza o conceito de efeito hall que consiste
em uma diferença de potencial num condutor elétrico, transversal ao fluxo de corrente e
também um campo elétrico perpendicular a essa corrente (SILVA, SANTIAGO e
MACHADO, 2014).
Nos circuitos, o ACS712 é ligado em série com a carga para realizar a medição de
corrente. Desta forma os pinos 1 e 2 que estão eletricamente conectados, assim como os
pinos 3 e 4, são ligados a carga fechando o circuito. Na figura 3.11 a seguir, as setas azuis
representam a corrente que percorre os pinos de 1 a 4, gerando um campo magnético
representado pelo desenho vermelho, aplicado na pastilha de efeito hall cor verde na figura.
Desta forma uma diferença de potencial é gerada nas extremidades da pastilha que é
amplificada dentro do CI, fornecendo ao pino 7 (saída analógica) a tensão proporcional a
corrente que é medida pelo Arduino Mega e traduzida em uma indicação de corrente.
75
No projeto está sendo utilizado o módulo ACS712 30A, capaz de medir corrente de
até 30A, sendo que uma de suas características funcionais é ser bidirecional, ou seja, é capaz
medir corrente de -30A a +30A, dessa forma sua saída analógica medida pode variar de 0 a
5V que é representado no Arduino com a leitura no conversor A/D no intervalor de 0 a 1023,
de acordo com o sentido e amplitude do sinal, sendo que o valor de 2,5v (VCC/2) ou o valor
512, indica que o sensor está sem carga.
--------------------------------------------------------------------------------------------------------------------------------------
O protótipo final desse projeto foi elaborado de forma que todos os dispositivos e
equipamentos utilizados, fossem acomodados dentro de uma maquete simulando um ambiente
residencial, tanto no que se refere a instalação elétrica convencional atendendo a NBR5410,
quanto a automatizada, de maneira que possa ser implementada em uma residência,
facilitando o acesso e a manutenção dos equipamentos.
Com relação aos circuitos destinados aos acionamentos e controle, foi construído uma
placa de circuito central, composta dos sensores magnético, tensão e luminosidade e também
o circuito do controle remoto, com exceção do sensor de corrente e modulo rele que são
utilizados produtos comerciais. Essa placa foi produzida com a intenção de melhor acomodar
e organizar esses componentes dentro do quadro automação.
Após o diagrama finalizado no Isis, este foi exportado para o ARES Protheus versão
7.7, onde foi montado o layout da placa central conforme figura 3.14, assim como sua versão
3D para visualizar como ficaria a placa fisicamente, de acordo com a figura 3.15.
A maquete elaborada para compor o protótipo final do projeto proposto, tem a medida
de 1,20 m de altura por 1,0 de largura e 0,40 m de profundidade, sua estrutura foi
confeccionada em madeira MDF, onde foram instalados o quadro elétrico, o quadro
automatizado e os demais dispositivos que se deseja controlar e monitorar, conforme
apresentado na figura 3.16 a seguir e suas especificações.
o quarto disjuntor é para o circuito de tomada de uso especifico, onde vai ser ligado o motor
do portão automatizado.
4. TESTES E RESULTADOS
Para melhor dimensionar os testes, estes são divididos nos seguintes cenários:
Um dos objetivos deste projeto é permitir que os acionamentos possam ser realizados
de forma remota, este processo é possível graças ao servidor e interface WEB instanciados no
conjunto Arduino e Ethernet Shield, configurados conforme especificado no capítulo anterior
no tópico 3.2.3. Desta forma neste primeiro cenário é realizado teste que verifica a
comunicação entre cliente e servidor, seguindo a lógica abordada no fluxograma apresentado
na figura 4.1 a seguir.
82
Para que a validação dessa comunicação possa ser realizada é utilizado a interface
serial da IDE do Arduino que será responsável por apresentar todas mensagens de retorno que
demonstram que o servidor foi requisitado e que a comunicação ocorreu com sucesso. Essas
mensagens são disponibilizadas a partir do comando “Serial.println(“variavel ou texto”)”,
inseridas em trechos do código que demonstra que a conexão cliente servidor foi bem
sucedida.
-------------------------------------------------------------------------------------------------------------------------------------
o servidor fecha a conexão com este, deixando as portas de conexão livre para novas
solicitações.
Visto que a comunicação cliente e servidor ocorreu com sucesso, será apresentado no
próximo tópico o teste do bloco de acionamento dos sistemas de iluminação e abertura do
portão e dos componentes responsáveis pelo retorno dos status.
A primeira bateria de testes nesta seção, foi realizada para o acionamento do sistema
de iluminação de forma remota a partir da interface WEB pressionando os botões de ligar e
desligar, verificando se estas ações eram executadas conforme programado.
A primeira
ação realizada na página HTML, foi a de pressionar o botão ligar para acender a lâmpada,
visto que no protótipo se encontrava desligada. Essa ação ocorreu com sucesso pois o rele foi
acionado ligando a lâmpada em seguida, comparando esse resultado com a informação
87
No segundo momento foi pressionado o botão desligar, desta forma foi verificado no
protótipo que a lâmpada desligou conforme desejado. Comparando a validação visual com as
mensagens de retorno apresentadas na figura 4.5, é possível verificar a ação que foi solicitada
a partir da mensagem desligaLampada?, que representa a string lida pelo sistema ao ser
pressionado o botão desligar, mas foi verificado que o status retornado foi o de Ligado, o que
não está de acordo pois o sistema desligou a lâmpada corretamente. Em seguida foi
pressionado novamente o botão desligar e foi verificado que a lâmpada permaneceu desligada
e o status atualizado para desligado, ou seja, o retorno do status foi validado com sucesso.
Com o intuito de verificar se a falha ocorrida persistia no sistema, foi realizado vários
testes, acionando e desativando o sistema a partir da página HTML, verificando qual o status
era apresentado tanto na interface serial do Arduino quanto na página HTML, comparando
com a verificação visual no protótipo.
Com a solução implementada no código fonte, foi realizado novos testes para
validação completa do sistema de iluminação que foram realizados em conjunto com os testes
de acionamento do portão, mas para facilitar a compreensão dos dados, foram separados em
tabelas diferentes. Esses testes se deram em dois dias num período médio de 34 horas, com
intervalo de aproximadamente 1 hora entre as amostras, conforme dados apresentados no
quadro 10 a seguir.
Lâmpada
6 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
7 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
8 Ligar Ligada acionaLampada Ligada Sim
ligada
Página HTML Interface IDE Protótipo
Amostr Validação
Acionamento Status Requisição Status Sucesso
a Visual
Lâmpada
9 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
10 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
11 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
12 Desligar Ligada acionaLampada Ligada Não
ligada
Lâmpada
13 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
14 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
15 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
16 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
17 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
18 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
19 Ligar Defeito acionaLâmpada Defeito Sim
desligada
Lâmpada
20 Ligar Defeito acionaLâmpada Defeito Sim
desligada
Lâmpada
21 Ligar Defeito acionaLâmpada Defeito Sim
desligada
Lâmpada
22 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
23 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
24 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
25 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
26 Ligar Ligada acionaLampada Ligada Sim
ligada
Lâmpada
27 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
28 Ligar Ligada acionaLampada Ligada Sim
ligada
90
Lâmpada
29 Desligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
30 Ligar Defeito acionaLampada Defeito Sim
ligada
Lâmpada
31 Desligar Desligada desligaLampada Desligada Sim
desligada
Página HTML Interface IDE Protótipo
Amostr Validação
Acionamento Status Requisição Status Sucesso
a Visual
Lâmpada
32 Ligar Defeito acionaLampada Defeito Sim
ligada
Lâmpada
33 Ligar Desligada desligaLampada Desligada Sim
desligada
Lâmpada
34 Ligar Ligada acionaLampada Ligada Sim
ligada
Nos testes realizados foi encontrado apenas um erro na décima segunda amostra,
conforme destacado em vermelho no quadro 10. Esse erro ocorreu devido a desconexão do
dispositivo móvel utilizado da rede wifi no momento da requisição do acionamento. Com
todos esses dados disponibilizados foi calculado o percentual de sucesso alcançado pelo
sistema nos acionamentos, a partir da equação 4 apresentada abaixo.
(
Sucesso= 1−
Quantidade de falhas
Quantidade de amostras
x 100 ) (4)
Sucesso= 1− ( 1
34 )
x 100
Sucesso≅ 97 %
n! x n− x (5)
P ( x) = ( P ( 1−P ) )
x ! ( n−x ) !
91
100.00%
80.00%
60.00%
40.00%
20.00%
0.00%
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33
página HTML naquele momento, mas quando este acessar a página esta será atualizada para o
status correto.
Conforme apresentado na figura 4.7 abaixo quando os botões Abrir e Fechar são
pressionados na página HTML, acessada pelo browser a partir de um smartphone ou outro
dispositivo, os parâmetros abrePortao e fechaPortao são passados como parametro para o
sistema e tem a função de realizar o acionamento do motor abrindo ou fechando o portão
conforme a opção pressionada no momento. Na interface serial do Arduino são apresentadas
as mensagens sobre qual acionamento foi requisitado no momento, seguido da informação de
status que também é apresentada como retorno na página HTML apresentada para o usuário,
por fim estas informações são comparadas as visualizações realizadas na maquete verificando
o portão abrindo e fechando de acordo com a opção selecionada no acionamento.
aberto
Portão
17 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
18 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
19 Fecha Fechado fechaPortão Fechado Sim
fechado
Página HTML Interface IDE Protótipo Protótipo
Amostr Validação
Acionamento Status Requisição Status Sucesso
a Visual
Portão
20 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
21 Fecha Fechado fechaPortão Fechado Sim
fechado
Portão
22 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
23 Fecha Fechado fechaPortão Fechado Sim
fechado
Portão
24 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
25 Fecha Fechado fechaPortão Fechado Sim
fechado
Portão
26 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
27 Fecha Fechado fechaPortão Fechado Sim
fechado
Portão
28 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
29 Fecha Fechado fechaPortão Fechado Sim
fechado
Portão
30 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
31 Fecha Fechado fechaPortão Fechado Sim
fechado
Portão
32 Abrir Aberto abrePortão Aberto Sim
aberto
Portão
33 Fecha Fechado fechaPortão Fechado Sim
fechado
Portão
34 Abrir Aberto abrePortão Aberto Sim
aberto
Para testar a funcionalidade do sensor de tensão, este foi instalado em paralelo com o
disjuntor geral para medir a tensão do sistema. Portanto foi acessado a página HTML e
selecionado o botão Tensão que passa como parâmetro para o sistema a string verTensao, que
retorna tanto na interface WEB, quanto na interface serial do Arduino o valor de tensão
medido naquele momento, o que pode ser validado a partir das mensagens apresentadas na
interface IDE conforme mostrado na figura 4.9 a seguir.
Conforme mostrado acima no quadro 13, todos os testes realizados foram comparados
com o multímetro, onde foi possível perceber que as medidas realizadas por este se
mantiveram estáveis, enquanto as realizadas pelo sensor de tensão apresentaram variações.
Dessa forma, se fez necessário saber quão dispersos esses dados estão do valor médio
calculado. Por tanto é realizado o cálculo de desvio padrão.
Para medir o desvio padrão, que apresenta o quanto de variação existe em relação à
média de tensão é necessário calcular o valor da variância que é realizado por meio da soma
99
dos quadrados da diferença entre cada valor e a média aritmética dividida pela quantidade de
elementos menos um. A seguir é apresentado a equação 6 para o cálculo da variância amostral
seguida do cálculo para as amostras apresentadas no quadro 13.
n
(6)
∑ ( Xi−X )2
2 i=1
Sn−1 =
X−1
Sn−12=1,43
√
n (7)
∑ ( Xi−X )2
i =1
dp=
X −1
d p=√ 1,43=1,20
Conforme o cálculo o valor do desvio padrão é baixo, uma vez que, o resultado
representa a variação de tensão de 1,2 volts, para mais ou para menos em relação à média de
tensão calculada, ou seja, 210.4 volts, dessa forma fica indicado que os dados apresentados
pela medida do sensor de tensão tendem a estar próximos a média, indicando a conformidade
nas medidas do sensor de tensão desenvolvido.
Comparando o valor médio de tensão alcançado pelo sensor com o valor medido pelo
multímetro temos uma diferença percentual de 0,66% aproximadamente, concluindo que os
valores obtidos por este sensor são confiáveis atendendo aos requisitos para qual foi
desenvolvido.
Para que essa comparação seja possível o multímetro foi instalado em serie com o
disjuntor geral e sensor de corrente dando início aos testes de medição de corrente acionando
as cargas de iluminação e motor, para que fosse possível medir a variação de corrente.
A figura 4.10 a seguir, representa a medição de corrente realizada pelo sistema sendo
apresentada na interface IDE e contrastada com a medição realizada pelo multímetro, sendo
possível verificar que a diferença percentual entre as medidas foi de aproximadamente 1,3%
O quadro 14 a seguir apresenta todos os testes realizados para medir corrente, sendo
este realizado com o sistema de iluminação e motor acionado ou não, conforme teste realizado
101
na figura 4,9 acima, todos os testes apresentados na interface IDE do Arduino e apresentados
na tabela, foram comparados com o multímetro.
1.5
0.5
0
1 2 3 4 5 6 7 8 9 10
Comparativo Potência
500
450
400
350
300
250
200
150
100
50
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5. CONCLUSÃO
5.1. CONCLUSÕES
A motivação para desenvolver este projeto acadêmico, foi criar um sistema para
acionar cargas elétricas dentro de um ambiente residencial de forma remota e que esse sistema
fosse integrado aos sistemas já existes, trazendo assim, maior praticidade e conforto para o
usuário.
Dentro da ideia proposta para este projeto os objetivos pretendidos para este foram
sendo atingidos ao longo do desenvolvimento obtendo resultados promissores. Apesar dos
testes de comunicação apresentarem um erro relacionado ao retorno de status do sistema de
iluminação, este pode ser identificado de forma rápida e ser resolvido com uma solução
simples.
Por fim, o objetivo geral deste projeto foi atingido uma vez que o sistema WEB
possibilita ao usuário escolher o que lhe for mais conveniente entre celulares, tablets ou
qualquer dispositivo que possua conexão com a internet para realizar as tarefas programadas
para o sistema implementado que realizou de forma satisfatória os acionamentos do sistema
de iluminação e portão automatizado retornando os status dessas cargas, além de adicionar
novas funcionalidades para os sistemas já automatizados como o caso do portão automático.
REFERÊNCIAS BIBLIOGRÁFICAS
NERY, N. Instalações Elétricas Principios e Aplicações. 1ª. ed. São Paulo: Érica
Ltda, v. I, 2011.
APÊNDICE
#include <SPI.h>
#include <String.h>
#include <Ethernet.h>
EthernetServer server(8090);
int rele = 5;
int botao1 = 6;
int portao = 7;
int sensorLDR = A2;
int SensorMag = 8;
int tensaoLampada = A1;
bool bPortaoAberto = 0;
#define SENSOR_CORRENTE_PIN A3
#define SENSOR_TENSAO_PIN A0
#define QTD_CHAMADAS_CORRENTE_MEDIA 20
#define QTD_CHAMADAS_TENSAO_MEDIA 8
#define QTD_CHAMADAS_POTENCIA_MEDIA 8
#define VALOR_MINIMO_CONSIDERADO_ZERO 0
#define VALOR_MAXIMO_CONSIDERADO_ZERO 3
void setup() {
pinMode(rele, OUTPUT);
pinMode(botao1, OUTPUT);
pinMode(portao, OUTPUT);
pinMode(SensorMag, INPUT_PULLUP);
pinMode(A0, INPUT);
pinMode(sensorLDR, INPUT);
Serial.begin(9600)
void loop() {
111
bPortaoAberto = digitalRead(SensorMag);
//Trecho que mostras as mensagens de validação de conexão com o servidor na interface IDE
if (readString.indexOf("desligaLampada") >= 0) {
if (readString.indexOf("abrePortao") >= 0) {
if(bPortaoAberto == 0){
digitalWrite(portao, HIGH);
delay(500);
digitalWrite(portao, LOW);
bPortaoAberto = 1;
}
if (readString.indexOf("fechaPortao") >= 0) {
if(bPortaoAberto == 1){
digitalWrite(portao, HIGH);
delay(500);
digitalWrite(portao, LOW);
bPortaoAberto = 0;
}
Serial.println( "verCorrente..." );
isVerInformacao = true;
isVerCorrente = true;
unidadeMedida = 'A';
Serial.println( informacao );
Serial.println( "verTensao..." );
isVerInformacao = true;
isVerTensao = true;
unidadeMedida = 'V';
Serial.println( informacao );
Serial.println( "verPotencia..." );
isVerInformacao = true;
isVerPotencia = true;
unidadeMedida = 'W';
Serial.println( informacao );
if (bPortaoAberto) { //digitalRead(SensorMag)
statusPortao = "Aberto" ;
else{
statusPortao = "Fechado";
client.println("Content-Type: text/html");
client.println( F( "<html>" ) );
client.println( F( "<head>" ) );
client.println( F( "<title>Projeto</title>" ) );
client.println( F( "</head>" ) );
client.println( F("<tr>") );
client.println( "<tr>");
client.println( "</tr>");
client.println( "<tr>");
client.println( "</tr>");
client.println( "<tr>");
client.println( "<td></td>");
client.println( F("</div></td>"));
client.println( "<td></td>");
client.println( "<td></td>");
client.println( statusPortao );
client.println( "</div></td>" );
116
client.println( "<td></td>");
client.println( "<tr>");
client.println( "<td></td>");
if( isVerCorrente ){
client.print( "style='background:#0CD8F1'" );
if( isVerTensao ){
client.print( "style='background:#0CD8F1'" );
if( isVerPotencia ){
client.print( "style='background:#0CD8F1'" );
if( isVerInformacao ){
client.println( informacao );
client.println( " " );
117
client.println( unidadeMedida );
isVerInformacao = false;
else{
client.println( "-" );
client.println( F("</div></td>"));
client.println( "<td></td>");
client.println( "</tr>");
client.println( "</table>" );
client.println( F("</td>") );
client.println( F("</tr>") );
client.println(F("</table>"));
client.println("</body>");
client.println("</html>");
Serial.println("Conexao encerrada.");
118
Serial.println("---------------------------------------");
Serial.println("");
boolean tensao() { // Faz ate 100 leituras procurando valor acima de 300
return 1;
return 0;
float maiorCorrente = 0;
float maiorCorrenteRms = 0;
Serial.println( index );
Serial.println( valorCorrenteRms );
somatorioCorrenteRms += valorCorrenteRms;
maiorCorrenteRms = valorCorrenteRms;
menorCorrenteRms = valorCorrenteRms;
float maior = 0;
float maiorRms = 0;
120
somatorioRms += valorRms;
maiorRms = valorRms;
menorRms = valorRms;
/**
* isMeiaOnda: informe TRUE caso o sinal seja uma maia onda; FALSE caso seja onda completa.
*/
float lerRms( int qtdLeituras, int pino, boolean isMeiaOnda, float voltsPorUnidade, float
sensibilidade ) {
//Serial.println( "lerRMS..." );
long soma = 0;
int qtdValoresProximosZero = 0;
int valorMaximo = 0;
if( isMeiaOnda ){
valorMinimo = valorLido;
valorMaximo = valorLido;
//Serial.println( valorLido );
else{
soma += valorLido;
else{
soma += valorLido;
leituras[ i ] = valorLido;
delayMicroseconds( 5 );
if( isMeiaOnda ){
qtdValoresProximosZero++;
}
122
int valorMedio = 0;
if( isMeiaOnda ){
#ifdef DEBUG
Serial.println( qtdValoresProximosZero );
Serial.print( valorMinimo );
Serial.print( "/" );
Serial.print( valorMaximo );
#endif
valorMedio = 0;
else{
if( isMeiaOnda ){
#ifdef DEBUG
Serial.print( "/" );
Serial.println( valorMedio );
#endif
int sensorValue_aux = 0;
float valorSensor = 0;
else{
valorSensor += potencia;
if( isMeiaOnda ){
#ifdef DEBUG
Serial.println( valorSemFator );
#endif
else{
return valor;
124
delayMicroseconds(1);
void entraLoop() {
while (true);
return "Ligado";
}else if (tensao() && (analogRead(sensorLDR) > 100)) { //se o sensor de tensão e o LDR > 100
return "Defeito";
}else{
return "Desligado";