Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho de conclusão de
curso para obtenção do título
de graduação em Engenharia
de Automação e Controle
apresentado à Universidade
Paulista - UNIP.
Trabalho de conclusão de
curso para obtenção do título
de graduação em Engenharia
de Automação e Controle
apresentado à Universidade
Paulista - UNIP.
Aprovado em:
BANCA EXAMINADORA
_______________________/__/___
Prof. Orientador Me. André Luiz Alexandre de Paula
Universidade Paulista – UNIP
_______________________/__/___
Prof. Me. Fernando Henrique Carrera
Universidade Paulista - UNIP
_______________________/__/___
Eng. Guilherme Molina Santana
Universidade Paulista - UNIP
RESUMO
1- INTRODUÇÃO ......................................................................................... 09
2- EMBASAMENTO TEÓRICO .................................................................... 12
2.1 - ARDUINO ............................................................................................... 13
2.2 – ETHERNET SHIELD.............................................................................. 14
2.3 – INTERFACE DE PROGRAMAÇÃO ....................................................... 16
2.4 – APP INVENTOR .................................................................................... 17
2.5 – COMUNICAÇÃO SPI ............................................................................ 19
2.6 – ACESSO EXTERNO AO ARDUINO ...................................................... 20
2.6.1 – WEB SERVER .................................................................................... 20
2.6.2 – PILHA DE PROTOCOLOS TCP/IP ..................................................... 21
2.6.3 – INTRANET E INTERNET .................................................................... 21
2.6.4 – IP FIXO E IP DINÂMICO ..................................................................... 22
2.7 – DIMMER SHIELD .................................................................................. 23
2.8 – CONTROLE REMOTO DE APARELHOS TELEVISORES ................... 24
2.9 – SENSOR PIR ......................................................................................... 24
2.10 – CÂMERA IP ......................................................................................... 25
2.11 – REDUÇÃO DOS CUSTOS................................................................... 25
3 – METODOLOGIA ....................................................................................... 27
3.1 – CONFIGURAÇÃO DO ACESSO DO ARDUINO A REDE ..................... 27
3.2 – ELABORAÇÃO DE CENAS PRÉ-PROGRAMADAS ............................ 28
3.3 – ALARME RESIDENCIAL ...................................................................... 28
3.4 – CONTROLE DE APARELHOS TELEVISORES .................................... 29
3.5 – MONITORAMENTO E ABERTURA DO PORTÃO SOCIAL .................. 30
3.6 – DESENVOLVIMENTO DO APLICATIVO ANDROID ............................. 31
3.7 – DESENVOLVIMENTO DO PROTÓTIPO ............................................... 33
3.8 – CUSTO DO PROTÓTIPO ...................................................................... 34
4 – RESULTADOS ......................................................................................... 35
4.1 – COMPARATIVO DE PREÇOS .............................................................. 37
5 - CONCLUSÃO............................................................................................ 39
6 - TRABALHOS FUTUROS .......................................................................... 40
REFERÊNCIAS BIBLIOGRÁFICAS .............................................................. 41
APÊNDICE A - CÓDIGO ARDUINO .............................................................. 45
APÊNDICE B – CÓDIGO ARDUINO “SINAL TV” .......................................... 51
APÊNDICE C – DIAGRAMA DE BLOCOS APP INVENTOR ......................... 53
APÊNDICE D – ESQUEMA ELÉTRICO DO PROTÓTIPO ............................. 58
9
1. INTRODUÇÃO
Uma das grandes vantagens, segundo Beghini (2013, p.17), desse sistema
que integra diferentes periféricos com a central de automação é o valor agregado
devido à boa relação custo-benefício, visto que, é possível centralizar as operações
lógicas em uma única plataforma (controlador) reduzindo os custos, e acrescentar
inúmeras outras aplicações, aprimorando assim às funções do controlador.
Com isso, o sistema se torna cada vez mais útil ao usuário devido ao
fato de o mesmo atender de maneira mais eficiente as suas necessidades. A
domótica abrange diversos setores e equipamentos residenciais como ilustra a
Figura 1 abaixo:
A área está em crescente evolução nos últimos anos, amparada pelo avanço
tecnológico ocorridos com a inserção de produtos da Apple e Google. (Aureside).
Além disso, em pesquisa realizada pela Parks Associate (2014) os varejistas estão
11
2. EMBASAMENTO TEÓRICO
2.1. Arduino
Ainda segundo McRoberts (2011, p.22) “O Arduino pode ser utilizado para
desenvolver objetos interativos independentes, ou pode ser conectado a um
computador, a uma rede, ou até mesmo à Internet para recuperar e enviar dados do
Arduino e atuar sobre eles”.
Portanto, o Arduino tem função primordial para a consolidação do projeto, e
atua como principal agente do mesmo. Seu papel é como central de automação,
realizando as operações lógicas emitidas pelo usuário através do IDE.
A placa do Arduino é composta de um microprocessador Atmel AVR, um
cristal ou oscilador (relógio simples que envia pulsos de tempo em uma frequência
especificada para permitir sua operação na velocidade correta) e um regulador linear
de cinco volts (MCROBERTS, 2011, p.23). A Figura 3 abaixo ilustra a plataforma
embarcada Arduino Mega.
-Microcontrolador: ATmega2560
-Tensão de operação: 5V
-Tensão de entrada (recomendada): 7-12V
-Tensão de entrada (limites): 6-20V
-Pinos de entrada/saída digitais: 54 (15 podem fornecer saída PWM )
-Pinos de entradas analógicas: 16
-Corrente DC por pino de E/S: 20 mA
-Corrente DC por pino de 3.3V: 50mA
-Memória Flash: 256 KB
-SRAM: 8 KB
-EEPROM: 4 KB
-Frequência de clock: 16 MHz
LED INDICAÇÃO
TX TRANSMISSÃO
RX RECEPÇÃO
COLL COLISÃO
FULLD MODELO DE CONEXÃO FULL DUPLEX
100M CONEXÃO 100 MBITES
LINK CONEXÃO ESTABELECIDA
PWR MÓDULO LIGADO
Fonte: Multilogica, 2015.
Abaixo segue uma simples explicação dos itens citados na tabela acima:
via USB (BEGHINI, 2013). A interface disponível pode ser verificada na Figura 6, do
mesmo modo como alguns comandos:
2.10. Câmera IP
3. METODOLOGIA
Vale ressaltar que a página pode ser acessada por qualquer navegador de
internet apenas inserindo o endereço citado anteriormente.
Web e, o Arduino, ao ler esse texto, aciona o relê responsável por acionar a
fechadura. A Figura 15 abaixo ilustra o esquema de ligação.
1. Tela Screen 1: Tela inicial onde o usuário deve cadastrar um nome de usuário
e uma senha. E munido destes dados, o mesmo deve realizar o login para ter
o acesso ao aplicativo. Na primeira vez que o usuário utilizar o aplicativo ele
deverá cadastrar um nome de usuário e uma senha. Esses dados serão
salvos no banco de dados do aplicativo onde, desta forma, todas as vezes
que o usuário acessar o aplicativo ele deverá digitar o nome de usuário e a
senha salvas.
2. Tela Menu: Nesta tela encontram-se os botões correspondentes aos
comandos e os botões que vão abrir outras telas do aplicativo. Na tela menu
o usuário tem acesso à tela do controle da televisão, da iluminação, poderá
abrir o portão através do botão “Abrir portão”, poderá acessar as imagens da
câmera pelo botão “Câmera” e poderá ativar ou desativar alarme;
3. Tela Iluminação: Tela para controle do dimmer. Foram confeccionados os
botões “Leitura”, “Filme”, “Sono” e “Festa”;
4. Tela Televisão: Tela que exibe os botões para o controle do aparelho
Televisor. Foram desenvolvidos o Botão “Power”, “Mais Volume”, “Menos
Volume”, Mais Canal”, “Menos Canal”, “Record”, “Band”, “SBT” e “Globo”.
Cada botão, ao ser pressionado, enviará através do emissor infravermelho o
código correspondente que foi captado anteriormente pelo receptor
infravermelho.
Para a fixação das placas e dos outros componentes foi utilizado uma base
de madeira com 50 cm de comprimento por 20 cm de largura e 1 cm de espessura.
Inicialmente, foram feitos os furos na madeira para que os fios não ficassem visíveis,
fazendo a conexão dos fios sem poluição visual do protótipo.
Após a furação, foram fixados os componentes no suporte de madeira
utilizando espaçadores para placas e um trilho para o relé de interface. O diagrama
representativo dos comandos do Arduino produzido no software Proteus se encontra
no Apêndice D dessa monografia. A Figura 17 abaixo mostra o protótipo sendo
confeccionado.
(Loja virtual)
Observa-se que, alguns dos itens citados na Tabela 1 acima já são de acervo
próprio do grupo. Deste modo, fica claro a vantagem deste modelo de Automação
Residencial quanto ao custo.
38
4. RESULTADOS E DISCUSSÕES
O acesso ao Arduino pelo aplicativo através da rede local foi realizado com
sucesso. Para facilitar os testes relativos a cada um dos processos automatizados,
estes foram montados separadamente com o Arduino e os Shields. Todos os
processos funcionaram de acordo com as expectativas.
Entretanto, na realização dos testes com a junção de todos os processos,
percebeu-se que houve uma perda considerável na velocidade e estabilidade do
sistema. Observa-se também que, ao receber muitas requisições HTTP em um curto
espaço de tempo o sistema também se mostra instável podendo derrubar a conexão
entre o servidor e o cliente. A solução proposta para esse problema é a utilização de
um servidor web em uma máquina com mais capacidade de processamento, o que
reduziria a possibilidade de ocorrer uma falha de conexão entre o cliente e o
servidor. Contudo, isto exigiria um conhecimento aprofundado em programação de
websites, desenvolvimento de servidores e banco de dados.
Velocidade da CPU 16 5
(Milhões de Instruções por
Segundo))
Com base nos dados obtidos nos datasheets dos produtos - para o CasaWeb
(MICROCHIP, 2015) e Arduino (ATMEL, 2015) – observa-se que o Arduino Mega
possui maior capacidade de processamento e de memória.
43
5. CONCLUSÃO
6. TRABALHOS FUTUROS
REFERÊNCIAS BIBLIOGRAFICAS
MULLER, Nicolas. Oficina da Net. 2014. Intranet, Internet e Extranet: o que são e
quais as diferenças. Disponivel em: <http://www.oficinadanet.com.br/artigo/1276
47
PRADELLA, Arthur. Automação residencial que cabe no bolso. Home Theater &
Casa Digital, ano 12, ed. 199, maio 2013. Disponível em:
<http://revistahometheater.uol.com.br/site/tec_artigos_02.php?id_lista_txt=8367>
Acesso em: 23/08/2015.
WOLBER et al. App Inventor- Create Your Own Android App. Published by
O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. First
Edition, 2011.
49
#include <IRremote.h>
#include <IRremoteInt.h>
// controle da TV
// DIMMER
void setup ()
// CONTROLE TV
//ALARME
pinMode (11,INPUT);
pinMode (5,OUTPUT);
digitalWrite (2,LOW);
//PORTÃO
//DIMMER
50
pinMode(AC_LOAD, OUTPUT);
attachInterrupt(0, zero_crosss_int, RISING);
pinMode(7,OUTPUT);
// Inicia o Ethernet
Ethernet.begin(mac, ip);
}
void loop()
{
if (client) {
while (client.connected())
{
if (client.available())
{
char c = client.read();
// ler caractere por caractere vindo do HTTP
if (readString.length() < 100)
{
// armazena os caracteres para string
readString += (c);
}
// TELEVISÃO
if (readString.indexOf("Power") >=0)
{
51
}
}
if (readString.indexOf("MaisCanal") >=0)
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DF00FF, 32);// código que sera enviado a tv para aumentar
o volume
}
}
if (readString.indexOf("MenosCanal") >=0)
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DF807F, 32);// código que sera enviado a tv para aumentar
o volume
}
}
if (readString.indexOf("MaisVolume") >=0)
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DF40BF , 32);// código que sera enviado a tv para aumentar
o volume
}
}
if (readString.indexOf("MenosVolume") >=0)
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DFC03F, 32);// código que sera enviado a tv para aumentar
o volume
}
}
if (readString.indexOf("Globo") >=0)
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DF48B7, 32);// código que sera enviado a tv para aumentar
o volume
}
}
if (readString.indexOf("Record") >=0)
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DFE817, 32);// código que sera enviado a tv para aumentar
o volume
}
}
if (readString.indexOf("SBT") >=0)
52
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DF9867, 32);// código que sera enviado a tv para aumentar
o volume
}
}
if (readString.indexOf("Band") >=0)
{
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x20DFA857 , 32);// código que sera enviado a tv para aumentar
o volume
}
}
// CINEMA
if (readString.indexOf("Filme")>=0)
{
dimming = 90;
digitalWrite (7,LOW);
}
// FESTA
if (readString.indexOf("Festa")>=0)
{
dimming = 120;
digitalWrite(7,HIGH);
delay(100);
}
// SONO
if (readString.indexOf("Sono")>=0)
{
dimming = 120;
digitalWrite(7,LOW);
// LEITURA
if (readString.indexOf("Leitura")>=0)
{
dimming = 15;
digitalWrite(7,LOW);
53
// ALARME
if(readString.indexOf("AtivarAlarme")>=0)
{
// O alarme vai ser ligado
digitalWrite(5, HIGH);
}
// Se a string possui o texto Desativar alarme
if(readString.indexOf("DesativarAlarme")>=0)
{
// O alarme vai ser desligado
digitalWrite(5, LOW);
//ALARME
int sensorpir = digitalRead(11);
if (sensorpir == HIGH){
Serial.println ("alarmedisparado");
}
// PORTÂO
if(readString.indexOf("AbrirPortão")>=0)
{
// O Portão vai ser aberto
digitalWrite(22, HIGH);
// Alarme
client.print("<font size='20'>");
if (sensorpir==HIGH) {
client.print("AlarmeDisparado");
} else {
54
client.print("Normal");
}
// parar cliente
client.stop();
}
}
}
}
}
55
#include <IRremote.h>
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
Serial.print(count, DEC);
Serial.print("): ");
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
dump(&results);
irrecv.resume(); // Receive the next value
}
}
57
Controle da televisão
60
Menu Principal
61
Iluminação
62