Você está na página 1de 77

CENTRO PAULA SOUZA

FACULDADE DE TECNOLOGIA DE FRANCA


“Dr. THOMAZ NOVELINO”

CAIO CESAR CORREIA REGATIERI

SISTEMA DE MONITORAMENTO VEICULAR COM ENVIO DE SMS

FRANCA/SP
2015
CAIO CESAR CORREIA REGATIERI

SISTEMA DE MONITORAMENTO VEICULAR COM ENVIO DE SMS

Trabalho de Graduação apresentado à


Faculdade de Tecnologia de Franca - “Dr.
Thomaz Novelino”, como parte dos
requisitos obrigatórios para obtenção do
título de Tecnólogo em Análise e
Desenvolvimento de Sistemas.

Orientador: Prof. Me. Carlos Eduardo de


França Roland.

FRANCA/SP
2015
CAIO CESAR CORREIA REGATIERI

SISTEMA DE MONITORAMENTO VEICULAR COM ENVIO DE SMS

Trabalho de Graduação apresentado à


Faculdade de Tecnologia de Franca - “Dr.
Thomaz Novelino”, como parte dos
requisitos obrigatórios para obtenção do
título de Tecnólogo em Análise e
Desenvolvimento de Sistemas.

Trabalho avaliado e aprovado pela seguinte Banca Examinadora:

Orientador: _____________________________________________________
Nome:
Instituição:

Examinador: ____________________________________________________
Nome:
Instituição:

Examinador: ____________________________________________________
Nome:
Instituição:

Franca, 18 de junho de 2015.


Dedico este trabalho a Deus, que nos criou
e foi criativo nesta tarefa. Seu fôlego de
vida em mim me foi sustento е me deu
coragem para questionar realidades е
propor sempre um novo mundo de
possibilidades.
AGRADECIMENTOS

A Deus por ter me dado saúde e força para superar as dificuldades.


A esta faculdade, seu corpo docente, direção e administração que
oportunizaram a janela pela qual hoje vislumbro um horizonte superior, contaminado
pela apurada confiança no mérito e ética aqui presentes.
A meu orientador Professor Mestre Carlos Eduardo de França Roland,
pelo suporte e pelas correções e incentivos.
Aos meus pais, pelo amor, incentivo e apoio incondicional.
E a todos que direta ou indiretamente fizeram parte da minha
formação, o meu muito obrigado.
.
“O insucesso é apenas uma oportunidade
para recomeçar de novo com mais
inteligência”.
Henry Ford
RESUMO
Visto que o número de roubos de veículos nos últimos anos vem aumentando, as
tecnologias empregadas nos dispositivos de segurança devem ser aperfeiçoadas.
Neste trabalho, foi estudado como funcionam os atuais alarmes automotivos, a rede
de telefonia móvel e o desenvolvimento de dispositivos eletrônicos com base na
plataforma Arduino. Após a revisão bibliográfica dos três conceitos acima, foi realizado
um estudo a fim de criar um produto que integrasse essas três tecnologias, com a
finalidade de melhorar o sistema de notificação dos atuais alarmes. O resultado do
estudo foi um alarme automotivo com o sistema de notificação melhorado fazendo o
uso de envio de SMS para o proprietário do veículo.

Palavras-chave: Segurança Automotiva. Alarme. Arduino. SMS. GSM.


ABSTRACT

Considering that the number of vehicle thefts in recent years has increased, the
technologies employed in safety devices must be improved. In this work, studying how
the current automotive alarms works, the mobile telephone network and the
development of electronic devices based on Arduino plataform. After the literature
review of the three concepts above, a study was conducted in order to create a product
that integrates these three technologies with the aim to improve the notification system
of current alarms. The study resulted a car alarm with improved notification system,
using SMS sent to the owner of the vehicle.

Keywords: Automotive Safety. Alarm. Arduino. SMS. GSM.


LISTA DE FIGURAS

Figura 1. Componentes de um alarme automotivo. ................................................. 19


Figura 2. Alarme automotivo Pósitron. ..................................................................... 21
Figura 3. Componentes do Arduino Uno. ................................................................. 24
Figura 4. IDE Arduino. .............................................................................................. 25
Figura 5. Monitor Serial. ........................................................................................... 26
Figura 6. Exemplo de Código. .................................................................................. 27
Figura 7. Modem Interno. ......................................................................................... 28
Figura 8. Modem ADSL. ........................................................................................... 29
Figura 9. Modem a cabo. .......................................................................................... 29
Figura 10. Modem 3G da VIVO. ............................................................................... 30
Figura 11. A estrutura do GSM. ................................................................................ 32
Figura 12. Distribuição urbana do GSM. .................................................................. 32
Figura 13. A evolução dos sistemas de telefonia móvel. .......................................... 35
Figura 14. Comparação de tamanho dos cartões SIM. ............................................ 39
Figura 15. GSM/GPRS Shield. ................................................................................. 41
Figura 16. Identificação de resistores. ...................................................................... 42
Figura 17. Identificação de resistores. ...................................................................... 43
Figura 18. Esquema Simbólico de um Díodo. .......................................................... 44
Figura 19. Exemplos de polarização de um diodo. ................................................... 44
Figura 20. Optoacoplador 4N25. .............................................................................. 45
Figura 21. Diagrama da lógica de funcionamento do dispositivo.............................. 46
Figura 22. Diagrama eletrônico do sistema. ............................................................. 51
Figura 23. Componentes do sensor criado. .............................................................. 51
Figura 24. Visão lateral do dispositivo em testes de bancada. ................................. 52
Figura 25. Visão aérea do dispositivo em testes de bancada................................... 52
Figura 26. Ligação do sensor de corrente no Arduino. ............................................. 53
Figura 27. Detalhe do circuito. .................................................................................. 53
Figura 28. Visão frontal do dispositivo em testes de bancada. ................................. 54
Figura 29. Detalhe da parte inferior do GPRS shield................................................ 54
Figura 30. Dispositivo de detecção com fenolite. ..................................................... 55
Figura 31. Detalhe na ligação dos LEDs. ................................................................. 55
Figura 32. Sistema de alimentação do dispositivo. ................................................... 56
Figura 33. Caixa que abrigou o protótipo em testes no veículo. ............................... 56
Figura 34. Trecho do código utilizado pelo dispositivo. ............................................ 57
LISTA DE TABELAS

Tabela 1. Número de roubos e furto de veículos entre os anos 2012 e 2014 no


estado de São Paulo. ................................................................................................ 18
Tabela 2. Características do Arduino UNO. .............................................................. 22
Tabela 3. Exemplo de pacotes na transmissão de dados assíncrona. ..................... 28
Tabela 4. Cartões SIM e seus formatos. ................................................................... 38
Tabela 5. Estimativa de custos do dispositivo........................................................... 65
LISTA DE SIGLAS

3G - Terceira geração de padrões e tecnologias de telefonia móvel


3GPP - 3rd Generation Partnership Project
ADC - Analog-to-digital converter
ADSL - Asymmetric Digital Subscriber Line
AREF - Analog Reference
ASIC Application Specific Integrated Circuits
AT - Attention
BSC - Base Station Controller
BTS - Base Transceiver Station
DSL - Domain Specifc Language
DTMF - Dual-Tone Multi-Frequency
ETSI - European Telecommunications Standards Institute
GPIO - General Purpose Input/Output
GPRS - General Packet Radio Services
GPS - Global Position System
GSM - Global System for Mobile
ICCID - Internationally Identified by its Integrated Circuit Card Identifier
ICSP - In-circuit serial programming
IDE - Integrated Development Environment
IIN - Issuer Identification Number
IMSI - International Mobile Subscriber Identity
IMSI - International Mobile Subscriber Identity
IP - Internet Protocol
ISDN - International Dalit Solidarity Network
LAI - Local Área Identity
LED - Light Emitting Diode
MCC - Mobile Country Code
MNC - Mobile Network Code
MODEM - Modulator-Demodulator
MOSI - Master Out Slave In
MSC - Mobile Service Switching Center
MSIN - Mobile Subscription Identification Number
PAN - Pósitron Área Network
PIN - Personal Identification Number
PSTN - Public switched telephone network
PUK - Personal Unlocking Code
PVC - Polyvinyl Chloride
PWM - Pulse Width Modulation
PWM - Pulse-Width Modulation
SIM - Subscriber Identity Module
SMS - Short Message Service
SPI - Serial Peripheral Interface
SS - Slave Select
SS7 - Signalling System No. 7
SSP/SP - Secretária de Segurança Pública do Estado de São Paulo.
TCP - Transmission Control Protocol
TWI - Two Wire Interface
UDP - User Datagram Protocol
UICC - Universal Integrated Circuit Card
USB - Universal Serial Bus
SUMÁRIO

INTRODUÇÃO .......................................................................................................... 15
1.1 Objetivos do Trabalho ................................................................................... 15
1.2 Justificativa e Importância do Trabalho ...................................................... 16
1.3 Escopo do Trabalho ...................................................................................... 16
1.4 Resultados Esperados .................................................................................. 16
2 REFERÊNCIAL TEÓRICO ............................................................................. 17
2.1 Furto de veículos ........................................................................................... 17
2.2 Alarme automotivo ........................................................................................ 18
2.3 Alarme Automotivo Pósitron Exact 330 ...................................................... 19
2.4 Arduino ........................................................................................................... 21
2.4.1 Arduino UNO ................................................................................................ 22
2.4.1.1 Portas de Entradas e Saídas ....................................................................... 23
2.4.1.2 Comunicação ............................................................................................... 24
2.5 Integrated Development ................................................................................ 24
2.6 Modulator-Demodulator (MODEM) ............................................................... 27
2.7 Global System for Mobile (GSM) .................................................................. 30
2.8 General Packet Radio Services (GPRS) ...................................................... 33
2.9 Short Message Service (SMS) ...................................................................... 35
2.10 Cartão SIM ...................................................................................................... 36
2.11 Global Position System ou Sistema Global de Posição (GPS).................. 39
2.12 Arduino Shields ............................................................................................. 40
2.12.1 GPRS Shield ................................................................................................ 41
2.13 Resistor .......................................................................................................... 42
2.14 Diodo .............................................................................................................. 43
2.15 Optoacoplador ............................................................................................... 44
3 APRESENTAÇÃO DO PROJETO ..................................................................... 46
4 IMPLEMENTAÇÃO DO PROJETO .................................................................... 49
4.1 Hardware ........................................................................................................ 49
4.2 Software ......................................................................................................... 57
RESULTADOS .......................................................................................................... 64
REFERÊNCIAS ......................................................................................................... 67
APÊNDICE 1 ............................................................................................................. 71
15

INTRODUÇÃO

A segurança é cada vez mais uma preocupação de todos. Quando se fala


de bens materiais, aqueles de maior valor devem receber maior atenção e cuidado.
Os veículos estão entre os que possuem alto valor e como em muitos casos, além do
seu próprio valor, podem possuir em seu interior outros objetos valiosos, os quais
precisam de uma maior atenção para garantir adequada segurança.
O índice de furto de veículos vem aumentando a cada ano como mostra a
pesquisa realizada pela Secretaria de Segurança Pública do Estado de São Paulo, e
disponível no em seu site (SSP/SP, 2015).
O aumento no número de roubos de veículos tem feito com que as pessoas
busquem por equipamentos que aumentem a proteção do bem, e consequentemente
as empresas procuram criar novas soluções para evitar ou pelo menos diminuir esse
índice.
Os atuais alarmes possuem diversos sensores para acionamento como,
por exemplo o sensor de intrusão de vidros, sensores ultrassônicos, sensores
infravermelhos e até mesmo sensores de pressão. Esses sensores quando detectam
algo anormal fazem com que uma sirene seja acionada. Muitas vezes os proprietários
dos veículos não estão perto o suficiente para que possam escutar o som da sirene,
o que atrapalha a eficiência do alerta.
Levando em consideração estes dados, questiona-se o que pode ser feito
para melhorar o sistema de segurança dos veículos?

1.1 Objetivos do Trabalho

Objetivo Geral: aperfeiçoar o sistema de alerta dos atuais alarmes


automotivos, por meio um dispositivo que utilizará o micro controlador Arduino para
enviar mensagem de texto para o celular do proprietário avisando-o sobre alguma
anormalidade no veículo.
16

Objetivos Específicos:

 Desenvolver um circuito eletrônico para detecção de corrente elétrica no


circuito de disparo do alarme automotivo comercial;
 Desenvolver um software, para ser executado na plataforma Arduino,
para análise e monitoramento do alarme automotivo e, quando adequado,
enviar mensagem de texto para celular.

1.2 Justificativa e Importância do Trabalho

O número de furto de veículos vem aumentando a cada ano, o que mostra


como os atuais sistemas de proteção veicular já não são tão eficazes. Isso porque os
bandidos já conhecem maneiras de burlar os atuais alarmes automotivos.
Com o avanço da rede móvel de telefonia, novas possibilidades para
segurança estão surgindo, e este projeto tem como objetivo a melhoria dos atuais
alarmes automotivos fazendo uso da rede móvel de telefonia, de forma que os
proprietários de veículos tenham acesso a meios mais eficazes de segurança.

1.3 Escopo do Trabalho

Neste projeto, será utilizada a plataforma Arduino, em conjunto com um


dispositivo com capacidade de envio de mensagem de texto para celular.
O protótipo implementado será testado em um veículo que possua alarme,
de forma que quando o alarme for acionado, o dispositivo enviará uma mensagem de
texto ao proprietário do veículo informando do fato.

1.4 Resultados Esperados

O dispositivo deverá informar ao proprietário do veículo, via mensagem de


texto para telefone celular, sempre que o alarme for acionado. Dessa forma o
proprietário mesmo a uma distância onde não seja possível ouvir o som da sirene,
será alertado da ocorrência.
17

2 REFERÊNCIAL TEÓRICO

Nesta seção são apresentados os principais conceitos envolvidos na


contextualização do tema, da questão problema e da hipótese de solução
desenvolvida.

2.1 Furto de veículos

Segundo o dicionário Michaelis (2015), furtar significa apoderar-se de algo


que pertença a outro, contra sua vontade ou conhecimento, sem o uso de violência.
JusBrasil (2015) discute o crime de furto, definido no artigo 155 do Código
Penal - Decreto Lei nº 2.848 de 07 de dezembro de 1940, e o define como toda
conduta que consiste em subtrair ou apropriar-se de coisa alheia móvel, ou de forma
geral, de algo que não lhe pertence, destacando que esse crime só atinge bens
móveis.
O crime de furto ainda é enquadrado nos crimes materiais. Crimes
materiais são aqueles que dependem da ocorrência do resultado naturalístico para a
consumação (DIREITO SIMPLIFICADO, 2015). A pena para este tipo de crime é
reclusão de 1 (um) a 4 (quatro) anos, e multa (PLANALTO, 2015).
O número de veículos furtados de 2012 a 2014 cresceu significativamente,
segundo relatório da Secretaria de Segurança Pública do Estado de São Paulo como
mostrado na Tabela 1.
18

Tabela 1. Número de roubos e furto de veículos entre os anos 2012 e


2014 no estado de São Paulo.

Fonte: SSP/SP (2015).

2.2 Alarme automotivo

O alarme automotivo é um aparelho eletrônico instalado em veículos a fim de


evitar o furto dos mesmos ou de algo em seu interior. Os alarmes automotivos quando
acionados, desencadeiam várias formas de notificação como emissão de um som alto
pela sirene ou buzina e piscar de luzes (WIKIPEDIA, 2014b).
Um prisioneiro americano de Denver, CO, criou em 1913 um dispositivo para
tentar evitar o furto de veículos. Este dispositivo disparava uma sirene quando alguém
tentava dar partida no motor do veículo (WINDSOR, 1913). Alguns anos depois, em
1916, foi criada uma nova versão de alarme automotivo que possuía um transmissor
e um receptor sem fio. O proprietário ativava o transmissor sem fio e saia com o
receptor no bolso, e o mesmo tocava caso o sistema de ignição fosse acionado.
Os atuais alarmes automotivos, em geral são equipados com um conjunto de
dispositivos como sensores de presença, sirene, receptor de rádio e controle remoto
como mostrado na Figura 1.
A seguir será apresentado o modelo de alarme automotivo utilizado no projeto.
19

Figura 1. Componentes de um alarme automotivo.


Fonte: HOWSTUFFWORKS, 2015.

2.3 Alarme Automotivo Pósitron Exact 330

De acordo com Pósitron (2015), o modelo Exact 330 é o que possui melhor
custo benefício da linha do fabricante. Além das funções de disparo sonoro e visual,
e sensores por ultrassom, este modelo de alarme possui circuito de proteção
Application Specific Integrated Circuits (ASIC) tornando-o mais resistente a
interferências. Conta com a tecnologia Pósitron Area Network (PAN) que auxilia na
comunicação com outros produtos Pósitron facilitando a sua instalação; com controle
remoto de longo alcance com tecnologia anti clonagem NEW FLEX-CODE; oferece
trava autolock que faz o travamento automático das portas 5 segundos após a ignição
do veículo e as destrava quando a ignição é desligada; temporizador de setas; beeps
personalizados com seis opções; acionamento de portões eletrônicos pelo controle do
alarme; modo assalto que é acionado quando se clica no botão de ligar do controle
remoto quando o veículo está em funcionamento, ativando o bloqueio do veículo após
um intervalo de tempo (PÓSITRON VÍDEOS , 2015).
A seguir são apresentadas as especificações técnicas deste alarme:
20

 Acompanha 2 controles PXN 48 com LED vermelho


 Saída auxiliar para interligação com outros itens
 Compatível com módulo RD100: serviço de bloqueio via central
 Função pânico/localização
 Monitoramento interno através de sensores ultrassom
 Monitoramento de portas, capô e ignição
 Reativação automática: em caso de desativação e não abertura de
nenhuma porta o mesmo é reativado automaticamente
 Permite a gravação de até 4 controles remotos
 Modo assalto: neste modo o mesmo é ativado de forma silenciosa
entrando em funcionamento após decorrência de tempo para afastamento
do veículo
 Trava automática: 5 segundos após o acionamento da ignição, caso
nenhuma porta seja aberta o alarme realizará o travamento das portas
 Destrava automática: ao desligar a ignição as portas são destravadas
automaticamente

A embalagem do produto contém, como mostrado na Figura 2:

 2 Controles
 2 Sensores
 1 Módulo
 1 Sirene
 1 Chicote
21

as

Figura 2. Alarme automotivo Pósitron.


Fonte: Ferrotto Peças, 2015.

2.4 Arduino

O Arduino surgiu na Itália, no Ivrea Instituto de Design de Interação por


volta de 2005, por professores que queriam uma plataforma mais fácil e barata para
seus alunos do que a que já existia (BASIC Stamp) e que custava cerca de US$ 100,
o que era um valor alto para os estudantes (OPENCULTURE, 2015).
O Arduino é uma plataforma eletrônica de código aberto baseado em
hardware e software de fácil utilização. É destinado a qualquer pessoa que deseja
fazer projetos interativos. Ele é composto por um micro controlador Atmel 8-bit AVR,
com componentes complementares para facilitar a programação e incorporação em
outros circuitos (MCROBERTS, 2011).
Um aspecto importante sobre o Arduino é a maneira padrão como os
conectores são expostos, permitindo a conexão de uma variedade de módulos
conhecidos como Shields. Shields são placas de expansão que se conectam ao
Arduino por meio das portas de comunicação disponíveis. Os Shields podem fornecer
22

diversas funcionalidades como localização por satélite, comunicação em rede,


displays, dentre outros (MCROBERTS, 2011).
Existem hoje no mercado vários modelos desse micro controlador, dentre
os mais populares estão o Arduino UNO, MEGA e Leonardo.

2.4.1 Arduino UNO

A palavra uno em Italiano significa um, e nesse modelo o nome representa


que o dispositivo é a versão 1.0, de uma série de dispositivos. Esse é o modelo de
referência da plataforma Arduino (ARDUINO, 2015a).
Este dispositivo tem como caraterísticas um micro controlador baseado no
ATmega328, dispõe de 14 portas digitais de entrada e saída, entre estas, 6 podem
ser utilizadas como saídas Pulse Width Modulation (PWM). Ele também possui 6
entradas analógicas, um ressonador cerâmico 16 Mhz, uma porta serial Universal
Serial Bus (USB), uma entrada de energia e uma porta In-Circuit Serial Programming
(ICSP), além do botão de reconfiguração. Na Tabela 2 são apresentadas, de forma
mais completa, as características deste modelo (ARDUINO, 2015a).

Tabela 2. Características do Arduino UNO.


Micro controlador ATmega328
Tensão de funcionamento 5V
Tensão de entrada 7-12V
(recomendado)
Tensão de entrada (limites) 6-20V
Pinos de entrada e saída 14 (dos quais 6 oferecem saída
PWM)
Pinos analógicos 6
Corrente DC para pinos de 40 mA
entrada e saída
Corrente DC 3.3V para os 50 mA
pinos de entrada e saída
Memória Flash 32 KB (ATmega328), dos quais 0,5
KB utilizado pelo bootloader
23

SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Velocidade de clock 16 MHz
Comprimento 68,6 milímetros
Largura 53,4 milímetros
Peso 25 g
Fonte: HECO, 2015

Outra característica interessante desse modelo é que o chip Atmega não


fica soldado à placa, deste modo, caso se queira transformar o protótipo em um
produto mais comercial, pode-se simplesmente retirar o chip da placa e colocá-lo em
seu circuito personalizado (MCROBERTS, 2011).

2.4.1.1 Portas de Entradas e Saídas

Todos os 14 pinos digitais do dispositivo podem ser usados com portas de


entrada ou saída. Eles operam em 5 volts e cada pino pode fornecer ou receber no
máximo uma corrente elétrica de 40 mA. Os pinos possuem um resistor interno de 20-
50 k e alguns deles possuem também funções específicas, tais como:

 Transmissão Serial: pino 0 (RX) e pino 1 (TX).


 Interrupções: pinos 2 e 3.
 PWM: pinos 3,5,6,9,10 e 11.
 Comunicação Serial Peripheral Interface (SPI): pinos 10 - Slave Select
(SS), 11 - Master Out Slave In (MOSI), 12 - Master In Slave Out (MISO) e
13 - Serial Clock (SCK).
 LED: pino 13, que quando o valor deste pino está alto faz o LED acender,
e quando baixo o deixa deligado.

Este modelo do Arduino contém ainda 6 entradas analógicas, marcadas


com A0 a A5, cada uma com 10 bits. Todos medem por padrão 5 volts, porém esse
valor pode ser alterado. Esses pinos também têm funções específicas:

 Comunicação Two Wire Interface TWI: pinos A4 (SDA) e A5 (SCL).


24

 Analog Reference (AREF): tensão de referência para as entradas


analógicas.
 Reset: reconfigurar o dispositivo.

2.4.1.2 Comunicação

O dispositivo traz muitas facilidades para se comunicar com outros


dispositivos, sejam eles computador, outro Arduino ou outros controladores por meio
dos seus pinos 0 e 1 ou porta USB (EMBARCADOS, 2015a).
A figura 3 mostra detalhes dos componentes do Arduino UNO.

Figura 3. Componentes do Arduino Uno.


Fonte: Embarcados, 2015.

2.5 Integrated Development Environment (IDE)

O Arduino possui um aplicativo para a programação da placa derivada da


IDE para a linguagem de programação Processing e Wiring, possuindo assim uma
biblioteca de códigos do projeto Wiring, facilitando muitas operações. Esta IDE está
disponível para os sistemas operacionais Windows, Linux e Mac (ARDUINO, 2015b).
25

Arquivos escritos para essa IDE são chamados sketches e são salvos em um arquivo
de extensão “.ino” (MARGOLIS, 2015).
A IDE é composta por uma barra de menus (1), cinco botões de atalho para
as ações verificar, carregar, novo, abrir, salvar e monitor serial (2), uma área de edição
de texto (3), uma área de saída de informações (4) e uma janela chamada Monitor
serial (5), que é aberta quando se clica sobre o botão em forma de lupa, onde é
possível enviar e receber comandos para a porta serial do Arduino, como mostram as
figuras 4 e 5.

Figura 4. IDE Arduino.


Fonte: Autor, 2015.
26

Figura 5. Monitor Serial.


Fonte: Autor, 2015.

A IDE disponibiliza algumas funcionalidades, como destaque de sintaxe,


comunicação com o dispositivo, podendo assim obter informações do mesmo. Além
disso, é capaz de enviar o código criado direto para a memória de programas do micro
controlador em um único clique. A IDE traz ainda vários exemplos de códigos prontos,
fazendo uso dos dispositivos GPS, ethernet, motores, sensores infravermelho,
ultrassônico e sonoros, dentre outros. Os exemplos que a IDE oferece são bons
materiais para estudo (WIKIPEDIA, 2015).
O ambiente de desenvolvimento já foi traduzido para mais de 30 línguas, e
se pode escolher qualquer uma delas em sua tela de configurações. Por padrão a IDE
carrega a língua definida no sistema operacional.
Os códigos para Arduino são escritos em linguagem Domain Specifc
Language (DSL) baseada nas linguagens C ou C++. DSL são linguagens de
programação baseadas em outras linguagens, mas com alguns aprimoramentos,
deixando-as mais específicas para determinado uso. Isso auxilia o desenvolvedor a
escrever menos código e consequentemente diminuir o tempo de desenvolvimento
(RODRIGUES, 2011).
Para criar um programa básico na linguagem de programação da IDE,
precisa-se apenas definir duas funções:
27

 setup() - onde são definidos os códigos a serem executados na


inicialização do programa.
 loop() - uma função que é executada repetidas vezes enquanto a placa
estiver ligada (EMBARCADOS, 2015).

Na figura 6, é apresentado um exemplo de código com as funções citadas.

Figura 6. Exemplo de Código.


Fonte: Autor, 2015.

2.6 Modulator-Demodulator (MODEM)

MODEM é um dispositivo eletrônico que faz a conversão de dados digitais


para sinais analógicos, que poderão ser transmitidas por meio de linha telefônica até
outro dispositivo que irá fazer a operação inversa, ou seja, converter os sinais
analógicos para dados digitais (BUSINESS DICTIONARY, 2015).
O primeiro MODEM foi criado em 1960 pela AT&T, mas tornou-se comum
quando Dennis Hayes e Dale Heatherington lançaram o MODEM 80-103A em 1977
(TECH RADAR, 2015).
Segundo Computer Hope (2015), estes dispositivos fazem uso de
transmissão assíncrona, o que significa que ele transmite pequenos pacotes de dados
de forma intermitente. Após recebidos estes pequenos pacotes são convertidos e
reagrupados de uma forma que seja possível o computador usar.
De acordo com Oficina da Net (2015), transmissão assíncrona de dados se
dá quando é necessário a troca de informação entre transmissor e receptor, porém de
forma não contínua, ou seja, o transmissor emite pedaços da informação de tempos
em tempos, e cabe ao receptor capturar e juntar estes pedaços para ter a informação
completa. Para que isso seja possível cada pedaço da informação deve conter algo
28

que informe onde ela começa e termina, além da posição na sequência de


transmissão.
A tabela 3 mostra a estrutura de dois pacotes para a transmissão de dados
pela rede telefônica usando a transmissão assíncrona.

Tabela 3. Exemplo de pacotes na transmissão de dados assíncrona.


Início Dados Fim Início Dados Fim
1 bit 8 bits 1 bit 1 bit 8 bits 1 bit
Pacote Pacote
10 bits 10 bits
Fonte: Computer Hope, 2015.

Neste exemplo, percebe-se que na comunicação assíncrona é necessário


que antes seja enviado um sinal de início de transmissão contendo 1 bit, e logo após
a transmissão do pacote (8 bits), envia-se também 1 bit sinalizando o fim da
transmissão, totalizando 10 bits cada pacote.
Existem modems para os diversos meios de conexão, como linha discada,
ADSL, rede móvel entre outros.
A seguir são apresentados alguns modelos de modem (Figuras 7, 8, 9 e
10).

 Modem interno: esse modelo fica alocado dentro dos computadores, não
sendo possível sua retirada.

Figura 7. Modem Interno.


Fonte: WIKIPEDIA, 2015.
29

 Modem ADSL: são usados para prover Internet banda larga pela rede
telefônica

Figura 8. Modem ADSL.


Fonte: ModemADSL, 2015.

 Modem a cabo: estes também são usados para banda larga, porém
usando a rede de TV a cabo.

Figura 9. Modem a cabo.


Fonte: Swartz Creek, 2015.

 Modem para redes móveis: estes dispositivos fazem uso da rede de


telefonia móvel para fornecer acesso à internet.
30

Figura 10. Modem 3G da VIVO.


Fonte: Tambotech, 2015.

2.7 Global System for Mobile (GSM)

O GSM é uma tecnologia para comunicação em dispositivos móveis (OFICINA


DA NET, 2015).
Super Trunfo (2015), afirma que o GSM foi desenvolvido no final da década de
80 por um grupo de projetistas com o objetivo de estudar e desenvolver um sistema
móvel de seguisse alguns padrões como:

 Boa qualidade de voz


 Eficiência espectral
 Terminais pequenos e baixos custos
 Suporte para “roaming” internacional
 Capacidade para suportar “handheld” terminais
 Suportar uma larga área de novos serviços e utilidades
 Compatibilidade com International Dalit Solidarity Network (IDSN)

A Oficina da Net (2015) ainda esclarece que o GSM se distingue de outros


protocolos de comunicação por uma série de fatores. Um dos principais é o fato de
que o sinal e os canais de voz no GSM são todos digitais, o que define esse sistema
como de segunda geração. Esta é uma tecnologia aberta, e desenvolvida pela 3rd
Generation Partnership Project (3GPP).
O GSM é constituído por várias entidades e funções específicas. Sua rede
pode ser dividida em três partes (SUPER TRUNFO, 2015):
31

 Estação móvel: são os dispositivos que farão uso da rede. Eles


necessitam de um cartão Subscriber Identity Module (SIM), onde está
contida uma identificação única mundial International Mobile Subscriber
Identity (IMSI). É este cartão SIM que faz o intermédio entre a rede móvel
e o dispositivo (estação móvel) de tal forma que o usuário consiga ter
acesso à rede independentemente do terminal utilizado.

 Estação de subsistema base: este subsistema se encarrega da ligação


entre o centro de comutação móvel Mobile Service Switching Center (MSC)
e a estação móvel. Ele pode ser dividido em duas partes: a estação de
transmissão de sinal de rádio Base Transceiver Station (BTS) e a estação
de base de controle Base Station Controller (BSC). A comunicação entre
estas estações é feita por uma interface básica, como todo resto do
sistema, e a operação entre os dispositivos é feita por diferentes
companhias de telefonia. Para a cobertura do sinal em uma área urbana
são necessários vários BTS, que são gerenciados por uma ou mais BSC.

 Subsistema: seu principal componente é o MSC. Ele tem o objetivo de


fazer a comutação entre estações móveis, ou uma estação móvel e um
terminal fixo, comportando-se como um nó de comutação Public Switched
Telephone Network (PSTN) ou ISDN, e também providenciar
funcionalidades necessárias para o assinante móvel, como registro na
rede, autenticação, atualização de localidades e roaming.

As Figuras 11 e 12 ilustram a estrutura do da rede GSM.


32

Figura 11. A estrutura do GSM.


Fonte: Super trunfo, 2015.

Figura 12. Distribuição urbana do GSM.


Fonte: Oficina da Net, 2015.
33

A estrutura flexível dos canais físicos do GSM, bem como a utilização do


protocolo Signalling System No. 7 (SS7) facilitaram a introdução de serviços como
Short Message Service SMS, FAX e transporte de dados com taxas de 2400 a 9600
bit/s (TELECO, 2015b).
O GSM pode operar em várias frequências, sendo as faixas 900MHz,
1.800MHz e 1.900MHz as mais comuns. No Brasil a ANATEL, que é a agência
responsável por administrar as telecomunicações, regulamentou a frequência de
900MHz para operação do GSM.
O GSM 900 (padrão de frequência adotado pelo Brasil) utiliza dois
conjuntos de frequência para seu funcionamento. A frequência de comunicação do
terminal (telefone celular na maioria das vezes) que varia de 890-915MHz, e outra
para comunicação da rede que varia de 935-960MHz. Para gerir estas frequências o
GSM faz uso de duas tecnologias:

 Frequency Division Multiple Access (FDMA): Faz a divisão dos 25MHz


disponíveis em 124 canais de comunicação de 200kHz, e com 270 Kbps de
capacidade de transmissão.
 Time Division Multiple Access (TDMA): no Brasil o TDMA utilizado é o
por full rate, o qual divide o canal de comunicação em oito slots (intervalos
de tempo alternados). Cada chamada é destinada a dois slots, um para
transmissão e outro para recepção entre o terminal e a base. Com essa
divisão uma chamada não sofre interferência de outra, apesar de usarem o
mesmo canal (INFOWESTER, 2015).

2.8 General Packet Radio Services (GPRS)

Com o crescimento da rede mundial de computadores, os usuários de


telefones móveis também passaram a ter a necessidade de acesso à Internet em seus
aparelhos. Entretanto a telefonia estava preparada para dados digitais, mas não para
acesso a essa rede. Isso porque, para a Internet, os dados devem ser transmitidos
por pacotes, através do protocolo Internet Protocol (IP), o que não estava
implementado nas redes móveis. Foi então que surgiu a tecnologia GPRS, que
possibilita o tráfego de dados por pacotes na rede de telefonia móvel. A integração da
tecnologia GSM e GPRS foi denominada geração 2.5G. O GPRS possibilita
34

transferências de 40 kbps em média, o que foi um avanço importante para a


comunicação (WPLEX, 2015).
No GPRS a comunicação é feita por comutação de pacotes, nos quais a
informação é dividida na origem, transmitida e remontada no destino, e cada pacote
leva o endereço do destinatário e a informação para ser montada no destino. Esses
pacotes são transmitidos pela rede de telefonia móvel, até chegar ao seu destino,
através de caminhos que são estipulados por aparelhos chamados roteadores. Esse
é o mesmo princípio usado na Internet (WPLEX, 2015).
Ainda segundo Wplex (2015), uma vantagem nessa tecnologia é que os
recursos de transmissão são utilizados somente quando os usuários então enviando
ou recebendo dados, isso faz com que seja possível o compartilhamento de canal
entre vários usuários.
Segundo Teleco (2015b) as principais características do GPRS são:

 Taxa de transporte de dados máxima de 26 a 40 kbps, podendo chegar,


em teoria, a 171,2 kbps.
 Conexão de dados sem necessidade de estabelecer um circuito
telefônico, o que permite a cobrança por utilização e não por tempo de
conexão e faz com que o serviço esteja sempre disponível para o usuário.
 Implantação implica em pequenas modificações na infraestrutura
instalada, facilitando a sua adoção pelos operadores de GSM.
 Padronizado para transporte de dados definidos pelos protocolos IP e
X25.

A Figura 13 mostra a evolução dos sistemas de telefonia móvel.


35

Figura 13. A evolução dos sistemas de telefonia móvel.


Fonte: UFRJ (2015)

2.9 Short Message Service (SMS)

O SMS é um serviço disponível em aparelhos de telefonia móvel. O SMS


permite o envio de mensagens curtas (até 160 caracteres) entre dispositivos. O SMS
originalmente foi projetado como parte do GSM, mas agora está disponível em uma
grande quantidade de redes, incluindo o 3G (CELL PHONES, 2015).
Segundo Mobipronto (2015), a tecnologia foi criada pelo engenheiro
finlandês Matti Makkonenh, em meados da década de 80. O primeiro SMS foi enviado
em 3 de dezembro de 1992 pelo engenheiro de software Neil Papworth, para o diretor
da Vodafone, Richard Jarvis. A mensagem dizia simplesmente “Feliz Natal.” (CNN,
2014).
De acordo com a empresa Forrester Research, 6 bilhões de SMS são
enviados todos os dias nos Estados Unidos, e 8,6 trilhões de mensagens de texto são
enviadas a cada ano, de acordo com Portio Research (CNN, 2014).
Uma característica interessante do SMS é a possibilidade de o emitente
obter um recibo de entrega e dessa forma ser alertado quando uma mensagem foi
recebida pelo destinatário (WIRELESS DEVELOPER, 2015).
36

2.10 Cartão SIM

Um cartão SIM é um circuito integrado que tem a finalidade de armazenar


com segurança a International Mobile Subscriber Identity (IMSI) e a relacionada chave
usada para identificar e autenticar assinantes de telefonia móvel (WIKIPEDIA, 2015a).
WiseGeek (2015), afirma que o SIM é um cartão de memória portátil usado
pela maioria dos telefones celulares que operam na rede GSM e que este cartão
contém informações pessoais do titular da conta, incluindo seu número de telefone,
catálogo de endereços, mensagens de texto e dados.
Ainda segundo a mesma referência, o IMSI é um número que identifica o
cartão SIM nas redes das operadoras de forma única. Seu formato é:

 Os três primeiros dígitos representam o código móvel do país Mobile


Country Code (MCC)
 Os próximos dois ou três dígitos representam o código móvel da rede
Mobile Network Code (MNC). Códigos MNC de três dígitos são mais
usados nos Estados Unidos e Canadá.
 Os próximos dígitos representam o número de identificação do assinante
móvel Mobile Subscription Identification Number (MSIN). Normalmente
haverá 10 dígitos, mas seria menos no caso de um MNC de 3 dígitos ou se
os regulamentos nacionais indicarem que o comprimento total do IMSI deve
ser inferior a 15 dígitos.

O cartão SIM faz parte fisicamente do cartão inteligente Universal


Integrated Circuit Card (UICC), que é normalmente feito de Polyvinyl Chloride (PVC)
com contatos e embutidos semicondutores. Os cartões SIM são projetados para
serem transferíveis entre diferentes dispositivos móveis. Os primeiros cartões UICC
eram do tamanho de cartões de crédito. Com o desenvolvimento de dispositivos
móveis mais compactos foi necessário também reduzir os cartões SIM (WIKIPEDIA,
2015a).
Um cartão SIM contém um número serial exclusivo de identificação
internacional mantido no seu Integrated Circuit Card Identifier (ICCID), que é também
impresso no corpo do cartão SIM durante o processo de personalização. O ICCID é
definido com o número de conta principal, composto por um número de no máximo 22
37

dígitos incluindo um dígito de verificação calculado usando o algoritmo de Luhn (ITU-


T, 2015).
O número é composto pelas seguintes partes:

 Issuer Identification Number (IIN) de no máximo 7 dígitos, composto da


seguinte forma:
 2 dígitos para a identificação da indústria: 89 para fins de
telecomunicações
 1 a 3 dígitos para o código do país.
 1 a 4 dígitos para o identificador do emissor.
 Identificador individual de conta:
 É de tamanho variável, mas sempre cada número sob um IIN terá
o mesmo comprimento.
 Dígito verificador
 Um dígito único, calculado a partir dos outros dígitos usando o
Algoritmo Luhn.

O cartão SIM também possui um IMSI, autenticação de segurança e de


codificação de informações, informações temporárias relacionadas a rede local, uma
lista dos serviços que o usuário tem acesso e duas senhas: O Personal Identification
Number (PIN) para uso comum e o Personal Unlocking Code (PUK) para desbloquear
o PIN (WIKIPEDIA, 2015a).
Dentre as informações temporárias da rede local estão armazenadas a
Local Área Identity (LAI). A rede das operadoras móveis é dividida em áreas de
localização contendo um número LAI único. Quando um dispositivo móvel muda de
local ele armazena o novo LAI no SIM e envia para a rede da operadora sua nova
localização. Quando o aparelho é desligado e volta a ser ligado, ele busca no SIM o
endereço da última LAI armazenada para se conectar (WIKIPEDIA, 2015a).
A maioria dos cartões SIM armazenam um número de mensagens e
números de contatos. Os contatos são armazenados na forma de pares simples
(número e nome). O número de mensagem e contatos que podem ser armazenados
em um cartão SIM depende do modelo do SIM. Os primeiros modelos armazenavam
apenas cinco mensagens e 20 contatos, porém, os atuais podem armazenar mais de
250 contatos.
38

O cartão SIM pode possuir diversos formatos, como os apresentados na


tabela 4.

Tabela 4. Cartões SIM e seus formatos.

Cartão Comprimento Largura Espessura


Lançamento
SIM (mm) (mm) (mm)
Full-size
(1FF) 1991 85,6 53,98 0,76
Mini-SIM
(2FF) 1996 25 15 0,76
Micro-
SIM
(3FF) 2003 15 12 0,76
Nano-
SIM
(4FF) 2012 12,3 8,8 0,67
Fonte: WIKIPEDIA 2015c, editada pelo autor.

 Full-size SIM: foi o primeiro a ser fabricado, e tinha o tamanho de um


cartão de crédito.
 Mini-SIM: possui o mesmo arranjo de contatos elétricos do seu
antecessor, porém é fisicamente menor, e vem preso por meio de presilhas
a um suporte do mesmo tamanho do Full-size SIM, permitindo assim o seu
uso nos dispositivos projetados para Full-size SIM. No caso de dispositivos
padrão Mini-SIM era necessário apenas destacá-lo do suporte (WIKIPEDIA,
2015a).
 Micro-SIM: tem as mesmas medidas de espessura e contato elétrico,
porem foram reduzidos seu comprimento e largura. Foi desenvolvido em
conjunto por várias empresas e o European Telecommunications Standards
Institute (ETSI) para ser usado em dispositivos muito pequenos, e que não
era possível o uso do Mini-SIM. Ele foi projetado para ser compatível com
as versões anteriores, e para isso era necessário um adaptador que o
39

envolve tornando-o de mesmo tamanho de seu antecessor Mini-SIM (SIM


ONLY PRO, 2015).
 Nano-SIM: ele foi disponibilizado em 11 de outubro de 2012, suas
medidas foram reduzidas ao tamanho exato dos contatos elétricos tendo
apenas um aro isolante ao seu redor para evitar curto-circuito, e sua
espessura também é menor. Pode ser usado em equipamentos padrão
Mini-SIM e Micro-SIM, fazendo o uso de um adaptador.

A figura 14 compara o tamanho dos cartões SIM.

Figura 14. Comparação de tamanho dos cartões SIM.


Autor: Wikimedia, 2015.

2.11 Global Position System ou Sistema Global de Posição (GPS)

O GPS é um sistema que mostra a sua posição geográfica baseada nas


informações de satélites geoestacionários.
O conceito do GPS foi desenvolvido pelo Departamento de Defesa
americano no final dos anos 60, mas o primeiro satélite do serviço foi lançado em
fevereiro de 1978. Em 1989 a empresa Megellan Corp. desenvolveu o primeiro
receptor de GPS de mão; em 1992 o GPS foi utilizado na operação tempestade no
deserto; e em março de 1996 o então presidente dos Estados Unidos da América
decidiu tornar livre o uso do GPS para civis (CONGRESS, 2015).
O sistema é baseado em 3 componentes:
40

 Espacial: constituído por 28 satélites, cada um em sua órbita, a cerca de


17 600 km de altitude.
 Receptores: consiste nos receptores que podem ser de mão ou
instalados em veículos.
 Central de controle: que consiste em estações terrestres que garantem
que os satélites estejam funcionando corretamente.

Cada satélite possui um computador, um relógio atômico e um transmissor


de rádio. Eles transmitem continuamente sua posição e o tempo, e uma vez por dia
cada satélite faz uma pequena correção de sua posição, com base em estações
terrestres (MUNDO ESTRANHO, 2015).
Na terra os receptores contêm um computador que faz a triangulação da
sua posição e de outros três satélites. O resultado é a posição geográfica no formato
altitude e longitude, com precisão de até 100 metros na maioria dos receptores. Se for
possível o uso de um quarto satélite, então o receptor pode também calcular a altitude.
Em caso de o receptor estar em movimento, pode se ainda ter dados de velocidade e
direção (SEARCHMOBILECOMPUTING, 2015).
Ainda segundo a mesma fonte, atualmente o GPS vem sendo usado na
ciência, e alguns exemplos de seu emprego podem ser vistos na medição das folhas
de gelo no ártico, movimento das placas tectônicas da terra e atividade vulcânica.

2.12 Arduino Shields

Uma das características que faz com que o Arduino tenha tanta
popularidade e versatilidade são os Shields, que são placas de expansão. Estas
placas adicionam ao dispositivo novas capacidades e podem conter diversos
dispositivos como displays de LCD, sensores, módulos de comunicação ou relês, e
muitos outros. Esta capacidade de expansão possibilita uma infinidade de aplicações
de maneira simples e rápida (MCROBERTS, 2011).
É possível criar um novo Shield, personalizando-o conforme as
necessidades apresentadas no projeto (FAZEDORES, 2015).
41

2.12.1 GPRS Shield

O GPRS Shield é uma placa de expansão baseada no módulo SIM900


Quad-Band GSM/GPRS que adiciona a capacidade de comunicação por rede
telefônica móvel ao Arduino. Com essa placa é possível fazer com que o dispositivo
tenha todas ou a maior parte das funcionalidades de um telefone celular, como SMS,
voz (ligações), dados via Internet e fax (ARDUINO, 2015c).
A Figura 15 exibe este dispositivo.

Figura 15. GSM/GPRS Shield.

Fonte: Tinyos Shop, editada pelo autor, 2015.

Características do GPRS Shield:


 Baseado no módulo SIM900;
 Quad-band 850/900/1800/1900 MHz: funciona em redes GSM em
todos os países do mundo;
 Controle através de comandos AT padrão: GSM 07,07 e 07,05;
 SMS: para que se possa enviar pequenos textos através da rede de
telefonia móvel;
 TCP/UDP incorporado: permite fazer upload de dados para um servidor
web;
 Alto-falante e fones de ouvido-para que você possa enviar sinais DTMF
ou transmitir gravações suporte para SIM card:
42

 Antena onboard presente.


 12 GPIOs, 2 PWMs e um ADC (todos os 2,8 Volts): podendo-se
expandir mais capacidades à plataforma Arduino;
 Baixo consumo de energia: 1.5mA (modo de espera);
 Faixa de temperatura de funcionamento: 40 °C a 85 °C.

2.13 Resistor

Resistor ou também conhecido como resistência, é um componente elétrico


que tem a função de controlar a intensidade da corrente que passa por ele. Seu
funcionamento é baseado na resistência que todo material com exceção dos
supercondutores possuem, e dificultam a passagem de corrente elétrica. O resistor
quando percorrido por corrente elétrica, transforma parte da eletricidade em calor,
assim diminuindo a tensão elétrica entre seus terminais. Existem resistores de
diversos tamanhos e capacidades, e eles são identificados por faixas coloridas
impressas em seu corpo. A maioria possui quatro faixas, onde as duas primeiras
informam uma medida de resistência, a terceira informa o fator de multiplicação e a
ultima o valor de tolerância em percentagem (BRASIL ESCOLA, 2015).
A figura 16 exibe uma tabela para identificação de resistores.

Figura 16. Identificação de resistores.


Fonte: Feira de Ciências, 2015.
43

Segundo Dias (2012), o valor de medida de um resistor é o Ohm () e ele


é o fator de relacionamento entre tensão e corrente elétricas presentes em um circuito,
segundo a seguinte fórmula:

Onde, V é a tensão expressa em Volts, I é a corrente que circula através do


circuito expressa em Amperes, e R é a resistência em  (DIAS, 2012).

Ainda segundo a mesma referência a representação gráfica de um resistor


pode ser dada de duas formas, a europeia e a americana também usada no Japão,
como exibidas na figura 17.

Figura 17. Identificação de resistores.


Fonte: Dias, 2012.

Segundo Dias (2012), os resistores podem ser classificados em três tipos,


de acordo com sua fabricação:
 Resistores de película de carvão;
 Resistores bobinados;
 Resistores de fita metálica

2.14 Diodo

Diodo é um componente eletrônico composto pela junção de blocos de


material semicondutor, um do tipo P (anodo) e outro do tipo N (catodo) exibido na
Figura 18. Sua característica mais importante é permitir que a corrente circule apenas
em um sentido (ELECTRONICA, 2015).
44

Figura 18. Esquema Simbólico de um Díodo.


Fonte: Electronica, 2015.

Ainda segundo a mesma referência, quando há mais tensão no lado do


anodo do que no catodo, o diodo permite que a corrente circule, caso contrário o diodo
não permite que a corrente circule, como mostra a Figura 19.

Figura 19. Exemplos de polarização de um diodo.


Fonte: Electronica, 2015.

2.15 Optoacoplador

Também conhecido como acoplador ótico ou optoisolador, é um


componente formado por um LED e um fototransístor, dentro de um circuito integrado
(CI), que tem a função de transmitir sinais elétricos entre dois circuitos sem que haja
contato físico entre eles (BURGOS ELETRONICA, 2015).
O funcionamento deste dispositivo ocorre pela aplicação de tensão elétrica
nos pinos do LED interno, fazendo com que o mesmo emita luz e polarize a base do
fototransístor interno. Quando o fototransístor recebe luz na base, ele permite a
circulação de corrente elétrica entre os terminais coletor e emissor. Existem vários
45

tipos de optoacopladores, alguns com 2 LEDs e dois fototransístores, outros ainda


mais complexos (BURGOS ELETRONICA, 2015).
Na Figura 16 é mostrado o esquema elétrico do optoacoplador 4N25 que
foi utilizado neste projeto.

Figura 20. Optoacoplador 4N25.


Fonte: Autor, 2015.
46

3 APRESENTAÇÃO DO PROJETO

Neste capítulo são apresentados como deverá funcionar o dispositivo e os


requisitos do projeto. A Figura 17 é o fluxograma que mostra como deve funcionar a
lógica do dispositivo.

Figura 21. Diagrama da lógica de funcionamento do dispositivo.


Fonte: Autor, 2015.
47

O programa começa definindo quais são as bibliotecas necessárias ao


projeto. Em seguida são definidas as variáveis globais (parâmetros) usadas em todo
projeto, como a variável que armazena o número de verificações de sinal, a que
armazena se foi enviado uma mensagem SMS, a que armazena a quantidade de
envios e a com o número de telefone a ser alertado.
O passo seguinte é a inicialização das portas de entrada e saída, do monitor
serial e do shield GPRS. Esta parte é muito importante, pois o dispositivo depende
que o shield se conecte à rede móvel para poder enviar o SMS, caso isso não ocorra,
o funcionamento do dispositivo será afetado. Para se verificar posteriormente a
situação do shield, seu status após inicialização é armazenado em uma variável. Um
LED indica o status do shield.
Após a inicialização das portas e do shield, começa então a rotina que será
executada infinitas vezes (um laço infinito) enquanto o dispositivo estiver ligado. Então
é realizada a verificação da variável que contém o status do shield para atuação sobre
o LED sinalizador da operação do sistema. A rotina então deve verificar o estado do
optoacoplador. No intervalo de um segundo são feitas 100 verificações. Se em alguma
delas retornar valor positivo, então a variável que armazena a quantidade de estados
positivos é acrescida em 1, caso contrário é definida como 0. Se este contador chegar
a 5, significa que o alarme foi acionado, e então deve-se enviar uma mensagem SMS
ao proprietário. Então outro LED é aceso informando este evento. Os LEDs ficaram
acondicionado na caixa que abrigara o dispositivo.
Para o envio da mensagem de alerta é necessário que o número de
telefone celular a ser alertado esteja definido na variável própria e que a variável que
armazena o estado do shield indique que ele foi iniciado corretamente. Se estas
condições forem atendidas então a mensagem é enviada.
O sistema deve, também, possibilitar a configuração de alguns parâmetros
por meio do recebimento de mensagens SMS, como por exemplo o número a ser
alertado e personalizar a mensagem de alerta. Assim, a rotina deve verificar se o
shield recebeu alguma mensagem. Caso afirmativo a mensagem é carregada do
registro do shield para a variável da rotina para verificar se é um comando a ser
executado. Caso afirmativo, a rotina executa o comando e envia uma resposta ao
remetente.
E por fim, são exibidos no monitor serial os valores obtidos nos passos
anteriores como por exemplo: o sensor captou algum sinal do alarme, quantidade de
48

vezes que o sinal foi capturado, se é um alerta, se foi enviado uma mensagem,
quantas mensagens foram enviadas e definida uma pausa de um segundo para que
a rotina se repita.
49

4 IMPLEMENTAÇÃO DO PROJETO

Neste capítulo são descritos como foram implementados o hardware e o


software projetados para a criação do dispositivo.

4.1 Hardware

Inicialmente foi criado um dispositivo eletrônico com base no plataforma


Arduino UNO, adicionado de dispositivo acessório com a capacidade de envio de
mensagem SMS. O sinal de controle para o envio da mensagem SMS é obtido a partir
do circuito de alimentação do pisca-alerta do veículo quando este for acionado pelo
sistema de alarme existente.
O Arduino UNO pode ser comprado no Brasil por valores entre R$ 40,00 e
R$ 70,00 e o acessório para a função de envio de mensagem, o GSM Shield que tem
como base o controlador SIM900 pode ser adquirido por valores entre R$ 210,00 e
R$ 270,00.
Para os testes foi utilizado um chip 3G da operadora Claro, pois o plano
pré-pago desta operadora possui em seu pacote de serviços o envio ilimitado de SMS
ao custo de R$ 0,75 o dia que usar, sendo a melhor relação custo/benefício de serviço
entre as operadoras atuando em Franca/SP.
A detecção de quando o alarme foi disparado, foi baseado no projeto
“Detectando status de lâmpada com optoacoplador 4N25 e Arduino” (TRENTIN,
2014), onde é explicado que a detecção é realizada por meio da leitura do sinal
recebido em uma das portas analógicas do Arduino. Neste projeto a porta escolhida
foi a A0, mas qualquer outra porta analógica funcionaria, necessitando apenas alterar
um pequeno trecho do código fonte.
A porta analógica recebe o sinal enviado por um pequeno circuito montado
com base no optoacomplador 4N25. Este componente estará ligado diretamente ao
Arduino e ao pisca do veículo.
O pino 1 do optoacoplador 4N25 (vide Figura 20), foi conectado ao circuito
de alimentação do pisca-alerta do veículo através de um resistor de 10k para
proteção, diminuindo a tensão que chega ao LED interno do optoacoplador, e o pino
2 foi ligado ao sistema de aterramento (ground) do veículo. O terminal 5 foi ligado ao
50

Arduino na porta que fornece 5V e o terminal 4 foi conectado à porta analógica A0 do


Arduino. Para estabilidade da leitura do sinal gerado no optoacoplador, eliminando
interferências identificadas em testes, um resistor de 1K foi ligado entre o terminal 4
e uma porta GND do Arduino. Os terminais 3 e 6 não foram utilizados.
O optoacoplador permite assim, quando da presença de sinal no LED de
entrada, que a tensão de 5V presente no seu terminal 5 passe para o 4 fechando o
circuito pelo resistor denominado pull down, permitindo a detecção da existência de
tensão pela porta A0 do microcontrolador. Quando não houver sinal para energizar o
LED, o circuito entre os pinos 4 e 5 do optoacoplador permanece aberto, mantendo a
porta A0 no nível 0 (zero).
Em testes feitos no circuito em bancada, utilizando a energia elétrica de
uma tomada residencial de 127V a tensão na entrada do optoacoplador (em função
do resistor de 10k foi reduzida a 48,7V (medida com um voltímetro), que é um valor
suportado pelo componente. Já em testes no veículo com a tensão do sistema de
alimentação de 12V o valor medido foi de 11,2V.
Para garantir que apenas o disparo do alarme fosse captado pelo sensor,
foi utilizado um diodo retificador, que tem como função permitir a passagem de
corrente em apenas uma direção. Assim quando o pisca do veículo for acionado pelo
usuário de forma manual (alavanca de setas ou botão do pisca-alerta), o sensor não
irá captar estes sinais, pois o diodo não permitirá que passem por ele induzindo uma
falsa detecção.
A figura 22 apresenta o diagrama eletrônico do protótipo e a figura 23 exibe
os componentes e suas ligações no sensor criado, com o optoacoplador (1), o resistor
de 10k (2), o resistor de 1k (3), o diodo retificador (4), o fio negativo vindo do
sistema do pisca do veículo (5), o sinal gerado pelo alarme para o pisca do veículo
(6), o sinal do sistema de alimentação do pisca alerta do veículo (7), o pino terra
(ground) do Arduino (8), o sinal do optoacoplador ligado a porta analógica A0 do
Arduino (9) e a alimentação de 5V fornecida pelo Arduino (10).
51

Figura 22. Diagrama eletrônico do sistema.


Fonte: Autor, 2015.

Figura 23. Componentes do sensor criado.


Fonte: Autor, 2015.
52

Durante a fase inicial de testes, o Arduino foi alimentado pela porta USB do
notebook usado para o desenvolvimento do software e após os testes e correções do
software, a placa foi conectada ao sistema de alimentação do próprio veículo.
Seguem as figuras que mostram a montagem do hardware do protótipo.

Figura 24. Visão lateral do dispositivo em testes de bancada.


Fonte: Autor, 2015.

Figura 25. Visão superior do dispositivo em testes de bancada.


Fonte: Autor, 2015.

O detalhe da ligação dos fios do sensor de corrente no Arduino pode ser


visualizado na figura 26.
53

Figura 26. Ligação do sensor de corrente no Arduino.


Fonte: Autor, 2015.

Na figura 27 pode-se verificar detalhadamente o circuito responsável por


detectar o acionamento do alarme.

Figura 27. Detalhe do circuito.


Fonte: Autor, 2015.

As figuras 28 a 29 mostram detalhes do controlador montado.


54

Figura 28. Visão frontal do dispositivo em testes de bancada.


Fonte: Autor, 2015

Figura 29. Detalhe da parte inferior do GPRS shield.

Fonte: Autor, 2015.


55

Figura 30. Dispositivo de detecção com fenolite.


Fonte: Autor, 2015.

Figura 31. Detalhe na ligação dos LEDs.


Fonte: Autor, 2015.
56

Figura 32.Sistema de alimentação do dispositivo.


Fonte: Autor, 2015.
A figura 33 apresenta o acondicionamento de todo o circuito em uma caixa
para instalação no veículo.

Figura 33. Caixa que abrigou o protótipo em testes no veículo.


Fonte: Autor, 2015.
57

4.2 Software

Após a montagem do dispositivo, foi desenvolvida a lógica e o programa


para o controle do sistema utilizando a IDE 1.6.3 do Arduino. A figura 34 mostra um
trecho do código.

Figura 34. Trecho do código utilizado pelo dispositivo.


Fonte: Autor, 2015.

Para a comunicação do Arduino com o shield GPRS, buscou-se na internet


a biblioteca de funções disponibilizada para trabalhar com este acessório chamada
GSM-GPRS-GPS-Shield, que facilita o desenvolvimento do código e diminui o tempo
de programação. Seu código fonte é aberto sob licença GNU’s Not Unix (GNU) General
58

Public License (GPL) versão 3, e pode ser acessada pelo link


https://github.com/MarcoMartines/GSM-GPRS-GPS-Shield.
O código começa com a importação das bibliotecas:

 string.h – contém funções para tratamento de textos


 SIM900.h – faz a comunicação com o shield GPRS.
 SoftwareSerial.h – habilita a comunicação entre o Arduino e a janela do
monitor serial da IDE.
 sms.h – contém as funções especificas para trabalho com SMS.

A seguir são definidas as variáveis globais utilizadas pelas rotinas:

 sms – variável que instancia a classe SMSGSM que contém as funções


de envio e recebimento de mensagens que serão utilizadas neste projeto.
 verificacoes – variável do tipo numérica, que armazenara a quantidade
de verificações para checar um possível disparo no alarme.
 envios - variável do tipo numérica, que armazenara a quantidade de
envios de SMS feitos.
 enviook – variável booleana que armazena se as mensagens SMS estão
sendo enviadas corretamente.
 alertTo – variável do tipo caracter de tamanho 20, que armazena o
número do telefone para o qual serão enviadas as mensagens de alerta.
 iniciado – variável booleana que armazena se o shield foi iniciado
corretamente.

Na sessão de configuração do software (função setup()), as variáveis, a


comunicação com o monitor serial, as portas dos LED sinalizadores, e a comunicação
com o shield são definidos da seguinte forma:

 variáveis do tipo numérico definidas com o valor inicial igual a 0 (zero).


 variáveis do tipo booleano são iniciadas com o valor Falso.
 as portas digitais do Arduino (pinos 12 e 13) onde os LED de indicação
de status do shield e de alerta estão ligados são iniciadas no modo saída
(OUTPUT).
 a comunicação com o Monitor Serial é iniciada com o parâmetro taxa de
atualização definida como 9600 bps.
59

 um texto inicial é enviado ao Monitor usando o método Serial.println(),


para sinalizar o início do processo.
 é feita a tentativa de inicialização do shield GPRS, por meio do método
gsm.begin(2400), onde o parâmetro 2400 é o valor da taxa de transmissão
apropriada para operação do dispositivo, conforme Flipflop (2015).

Então é iniciada a rotina que será executada infinitas vezes enquanto o


dispositivo estiver ligado.

void loop() {
}

Fazendo uso da variável que armazena o status do shield, é verificado se


o mesmo foi iniciado corretamente e caso verdadeiro, um LED de cor verde conectado
ao pino 13 do Arduino é ligado:

digitalWrite(13, (iniciado ? HIGH : LOW));

Passa-se então à verificação, através da função isOn(), da existência de


corrente elétrica no circuito do pisca alerta do veículo que, em caso afirmativo
incrementa seu conteúdo, e em caso negativo atribui a ela o valor 0 (zero).

verificacoes = (isOn() ? verificações + 1 : 0);

A função isOn é a responsável por verificar o status do alarme. Ela executa


a verificação da porta A0 do Arduino. Esta porta está conectada ao optoacoplador.
Quando o alarme não está disparado o valor padrão desta porta é zero, e caso esteja
disparado esse valor pode variar de 15 a 30 (valores obtidos com o sensor conectado
ao pisca do veículo). Esta verificação pode ser executada 100 vezes com uma pausa
de 10 milissegundos entre cada uma verificação. Quando é verificado um valor acima
de 20 na porta A0, então esta função retorna o valor verdadeiro e interrompe sua
execução. Caso mesmo sendo executada todas 100 o valor da porta não atinja 20,
então a função retorna o valor falso.

Na sequência, é executada a função isAlert() que retorna um valor


booleano verdadeiro quando a variável de controle da presença de corrente no pisca
alerta possuir valor superior ou igual a 5 (cinco) parâmetro que sinaliza que o alarme
foi disparado:
60

boolean isAlert(){

return (verificacoes >= 5 ? true : false);

O retorno desta função é usado para, no caso de verdadeiro, executar a


função de envio da mensagem de alerta, fazendo uso do número telefone armazenado
na variável alertTo e um LED de cor laranja, ligado ao pino 12 da placa é ligado. Caso
não exista um número válido armazenado na variável alertTo a função não é
completada. Para o envio da mensagem é usado um método da biblioteca GSM-
GPRS-GPS-Shield, que precisa receber como paramentos um número de telefone e
a mensagem, ambos do tipo caractere:

boolean sendSMS(){
String num = alertTo;
if (num.length() == 0) return false;
//Envia um SMS para o número selecionado
//Formato sms.SendSMS(<número> char(20),<mensagem> char(160))
return sms.SendSMS(alertTo, "Alarme disparado!");
}

Esta função também tem como retorno um valor verdadeiro ou falso, e este
valor é armazenado na variável envioOk. Caso o retorno tenha sido verdadeiro, então
a variável envio é acrescida em 1:

envioOk = sendSMS();

if (envioOk){
envios = envios + 1;
}

A seguir a função que verifica a existência de novas mensagens recebidas


pelo shield é executada. Ela faz uso também da biblioteca de tratamento de SMS, e o
método que faz a pesquisa por novas mensagem precisa receber 4 parâmetros. O
primeiro é a variável que armazenara a mensagem, o segundo o tamanho máximo da
61

mensagem, o terceiro uma variável que armazenar o número do remetente da


mensagem, e o último o tamanho máximo do número do remetente.
Esta função retorna valores verdadeiro ou falso, para sinalizar se há alguma
mensagem nova. Caso haja uma nova mensagem, então ela é exibida no Monitor
Serial e é feita a verificação se essa mensagem é um comando a ser executado pelo
dispositivo.
Para se verificar se é um comando, foi definido que a mensagem precisa
de ter o seguinte formato: #comando:parâmetro.
No final é definida uma pausa de 10 segundos caso uma mensagem seja
encontrada:

void hasMessage(){
char conteudo[160];
char remetente[20];
char msg[160];
String mensagem = "";
String comando = "";
String parametro = "";
String retorno = "";

Serial.println("Verificando se ha SMS");

If (gsm.readSMS(conteudo, 160, remetente, 20)) {

mensagem = conteudo;

Serial.println("");
Serial.println("****SMS Recebido****");
Serial.print("remetente: ");
Serial.println(remetente);
Serial.print("mensagem: ");
Serial.println(mensagem);
Serial.print("caracteres: ");
Serial.println(mensagem.length());
62

Serial.println("********************");
Serial.println("");
// rotina que executa o parser da cadeia para identificar
// o envio de um comando
if (mensagem.substring(0,1) == "#"){
for (int i=1; i <= mensagem.length(); i=i+1){
if (mensagem.substring(i,i+1) == ":"){
comando = mensagem.substring(0,i+1);
parametro = mensagem.substring(i+1,mensagem.length()-1);
}
}
}

//para este comando o parâmetro precisa ser um número de telefone.


if (comando == "#alertto:"){
if (isNumeric(parametro)){
parametro.toCharArray(alertTo,10);
retorno = "O alerta sera enviado para: ";
retorno.concat(parametro);
retorno.toCharArray(msg,160);
sms.SendSMS(remetente, msg);
}else{
sms.SendSMS(remetente, "Telefone invalido");
}
}
// para esse comando o parâmetro deve ser um texto de no máximo 120
// caracteres
if (comando == "#alertmessage:"){
if (parametro.length() > 0){
retorno = "Mensagem de alerta alterada com sucesso";
retorno.toCharArray(msg,160);
sms.SendSMS(remetente, msg);
}else{
sms.SendSMS(remetente, "Mensagem nao definida");
63

}
}
delay(10000); //espera 10 segundos
}
}

E por fim são exibidas, no Monitor, os estados do dispositivo por meio da


chamada da função showStatus() e é realizada a espera de 1 segundo até a próxima
execução desta rotina.

void showStatus(){
Serial.println("");
Serial.print("Com corrente : ");
Serial.println(isOn() ? "Sim" : "Nao");
Serial.print("Qtde On......: ");
Serial.println(verificacoes);
Serial.print("E um alerta : ");
Serial.println(isAlert() ? "Sim" : "Nao");
Serial.print("Alertar a : ");
Serial.println(alertTo);
Serial.print("SMS Enviado : ");
Serial.println(envioOk ? "Sim" : "Nao");
Serial.print("Qtde envios : ");
Serial.println(envios);
Serial.println("");
}

showStatus(); //chama-se a função que imprimi informações na tela


delay(1000); //espera 1 segundo

O código fonte completo deste projeto é apresentado no Apêndice 1.


64

RESULTADOS

Neste capítulo são apresentados os resultados obtidos durante todo o


desenvolvimento do projeto.
Durante a primeira fase foi testada a aquisição do sinal do alarme
automotivo por meio dos sinais de alerta que ele gera, como pisca alerta e buzina, e
foi verificado que não seria viável o uso da buzina pois a mesma se comporta como
um autofalante, recebendo um sinal de áudio. Já a saída do pisca alerta se mostrou
uma boa forma de identificar o sinal do alarme por conduzir apenas corrente contínua.
A partir da escolha do sinal do pisca alerta como entrada para o Arduino,
buscou-se a melhor forma de receber este sinal pela porta analógica da placa, e
identificou-se a necessidade de utilizar um optoaclopador para dar estabilidade ao
sistema, pois sem o mesmo os testes se mostraram muito sensíveis a interferências
e, portanto, instáveis e após a integração do optoaclopador isolando o circuito do
alarme do Arduino, foi possível estabilizar a leitura do sinal.
Com o optoacoplador incorporado ao circuito foram feitos testes para a
medida do sinal obtido.
Em testes de bancada utilizando a energia de uma tomada residencial
(127v) foram obtidos valores que oscilaram entre 0 e 1000 por se tratar de aquisição
a partir de um sinal em corrente alternada. Utilizando uma bateria de 9v, os valores
variaram de 8 a 57, e utilizando a corrente do pisca alerta os valores variaram de 15
a 30, então foi determinado que a partir do valor 20 assume-se que o pisca alerta foi
acionado. Sinais analógicos aplicados às portas digitais do Arduino são processados
internamente por um circuito eletrônico denominado Conversor Analógico-Digital (AD)
de 10 bits que fornece dados binários recebidos como valores inteiros entre 0 e 1023
pelo método de leitura disponível na biblioteca da IDE do Arduino. Os valores obtidos
nos testes representam a conversão do sinal analógico aplicado pelo circuito do
alarme automotivo, à porta analógica utilizada como entrada na placa Arduino para o
controle do envio de mensagens.
Com os testes feitos no pisca do carro, identificou-se que o sinal é gerado
por pulso, ou seja, é gerada uma corrente elétrica em um intervalo de segundos para
o acionamento do pisca, que em seguida é desligada. Por isso foi necessário
estabelecer uma quantidade de verificações para se garantir que houve acionamento
da saída do pisca a partir de um evento de disparo do alarme. Com base no manual
65

do modelo de alarme usado, verificou-se que quando o mesmo é acionado, o pisca é


acionado por uma vez, e quando é destravado, o pisca é acionado por duas vezes.
Então adotou-se neste projeto que, para se garantir a ocorrência de um disparo do
alarme o valor seria de 5 ocorrências de corrente elétrica consecutivas no circuito do
pisca.
Outro obstáculo que se apresentou na coleta do sinal de disparo do alarme,
a partir do pisca, foi quando da utilização das setas de direção ou do uso alerta do
carro em situações de emergência. O dispositivo considerava o sinal como sendo do
disparo do alarme também. Então fez necessário o uso de um diodo retificador para
isolar estes eventos. O diodo foi ligado entre a saída do alarme e o circuito elétrico do
veículo (setas e pisca alerta), sendo o sinal de entrada da placa Arduino coletado
antes do diodo garantindo que o sinal vindo do sistema elétrico do veículo não chegue
à porta analógica mascarando a operação do sistema.
Realizados os ajustes e correções do projeto, o dispositivo foi instalado no
veículo para um período de testes, tendo apresentado resultados plenamente
satisfatórios, tendo em vista que o dispositivo funcionou como projetado.
O custo para se construir o dispositivo é de pouco mais de R$ 140,00 como
apresentado na Tabela 5, sendo um valor de excelente custo/benefício em se
considerando o valor do patrimônio que o equipamento protege.

Tabela 5. Estimativa de custos do dispositivo.

Componente Quantidade Custo (por unidade)


Arduino Uno 1 R$ 70,00
Shield GPRS 1 R$ 70,00
Optoacoplador 1 R$ 0,50
Diodo 1 R$ 0,50
Resistor 2 R$ 0,50
LED 2 R$ 0,25
Conector energia 1 R$ 1,00
Cabos para conexão (15 cm) 8 R$ 0,10
Total R$ 142,80
Fonte: Autor, 2015.
66

Há que se considerar ainda que, para se manter o serviço de envio de SMS


pelo shield GPRS em funcionamento é necessária a aquisição de um plano de
telefonia celular, que por R$ 1,00 por dia em média, tem-se o oferecimento do serviço
de envio de mensagens em quantidade ilimitada.
Um evento que pode afetar o funcionamento do dispositivo é a
impossibilidade de conexão à rede de telefonia móvel, que neste caso o dispositivo
não funcionará adequadamente.
Mostra-se por este estudo que é possível, com o uso de tecnologia
acessível, apesar de complexa, melhorar significativamente produtos ofertados no
mercado.
67

REFERÊNCIAS

ARDUINO. Arduino – Arduino Uno. Disponível em:


http://www.arduino.cc/en/main/arduinoBoardUno acesso em 17/4/2015a.

ARDUINO. Arduino – Getting Started with Arduino. Disponível em:


http://www.arduino.cc/en/Guide/HomePage acesso em 16/6/2014b.

ARDUINO. Arduino – Shields. Disponível em:


http://www.arduino.cc/en/Main/ArduinoShields acesso em 19/4/2015c.

Brasil Escola. Resistores. Aprendendo um pouco mais sobre resistores - Brasil Escola.
Disponivel em: http://www.brasilescola.com/fisica/resistores.htm acesso em:
22/4/2015.

BURGOS ELETRONICA. Burgos eletrônica. Disponível em:


http://www.burgoseletronica.net/fotoacopladores_index.html acesso em: 27/4/2015.

CELL PHONES. Smartphones Reviews and How To. Disponível em:


http://cellphones.about.com/od/phoneglossary/g/smstextmessage.htm acesso em:
16/6/2014.

CNN. Breaking News, U.S., World, Weather, Entertainment & Video News –
CNN.com. Disponível em: http://edition.cnn.com/2012/12/03/tech/mobile/sms-text-
message-20 Acesso em: 16/6/2014.

COMPUTER HOPE. Computer Hope - Free computer help and information. Disponível
em: http://www.computerhope.com/jargon/m/modem.htm acesso em 22/4/2015.

CONGRESS. Wireless Developer Network. Disponível em:


http://www.loc.gov/rr/scitech/mysteries/global.html acesso em: 19/4/2015.

CONNECTPARTS. Alarme de Carro Pósitron Exact EX 330 Linha 2014 2015 -


Connect Parts. Disponível em: http://www.connectparts.com.br/alarme-de-carro-
positron-exact-ex-330-linha-2014-45165/p?idsku=2002655 acesso em 22/4/2015.

DIAS, ISABEL AGUIAR. Materiais Elétricos - Compêndio de Trabalhos, vol. 5 –


Resistores. 2012.

DIREITO SIMPLIFICADO. DIREITO SIMPLIFICADO. Disponível em:


http://www.direitosimplificado.com/materias/direito_penal_crime_material_formal_mera_conduta.
htm em 8/4/2015. Acesso em: 12/4/2015.

ELECTRONICA. Eletricidade - Eletronica - Esquemas - TV - Áudio - Digital. Disponível


em: http://www.electronica-pt.com/diodo. Acesso em: 11/5/2015.

EMBARCADOS. Arduino UNO. Disponível em:


http://www.embarcados.com.br/arduino-uno/ acesso em 19/4/2015 a.
68

FAZEDORES. Fazedores - Tudo sobre o Movimento Maker no Brasil. Disponível em:


http://blog.fazedores.com/conheca-os-shields-e-incremente-seu-arduino-com-eles/
acesso em: 19/4/2015.

FEIRA DE CIÊNCIAS. FEIRA DE CIÊNCIAS - O Imperdível! Disponível em:


http://www.feiradeciencias.com.br/sala15/15_28.asp acesso em: 22/4/2015.

HECO. Mecatrônica ao seu alcance. Disponível em:


http://www.hecomecatronica.com.br/Artigos%20e%20Documentos/Artigos%20Tecnic
os/Documentos/01%20arduino%20uno%20-%20guia%20do%20usuario.pdf acesso
em 17/4/2015.

HOWSTUFFWORKS. HowStuffWorks "How Car Alarms Work". Disponível em:


http://auto.howstuffworks.com/car-alarm.htm/printable acesso em 27/9/2015.

INFOWESTER. Disponível em: http://www.infowester.com/2g.php#tdma acesso em:


29/5/2015.

ITU-T. Committed to connecting the world. Disponível em:


http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-E.118-200605-I!!PDF-
E&type=items acesso em: 3/4/2015.

JUSBRASIL. JusBrasil. Disponível em:


http://www.jusbrasil.com.br/topicos/10619836/artigo-155-do-decreto-lei-n-2848-de-
07-de-dezembro-de-1940 acesso em 14/4/2015.

Margolis, Michael. Arduino cookbook. Califórnia, USA: O’Reilly Media, 2011. 631 p.

McRoberts, Michael. Arduino básico. São Paulo: Novatec, 2011. 456 p.

MICHAELIS. Dicionário Online - Dicionários Michaelis. Disponível em:


http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-
portugues&palavra=furtar acesso em 14/4/2015.

MOBIPRONTO. Mobi Pronto - Plataforma de Mobile Marketing e Conectividade.


Disponível em: http://www.mobipronto.com/pt-br-blog/sms-invencao-a-popularidade
acesso em: 23/3/2015.

MODEMADSL. Modem ADSL. Disponível em: http://www.modemadsl.com.br acesso


em: 22/4/2015.

MUNDO ESTRANHO. Mundo Estranho - O site para quem é louco por curiosidades.
Disponível em: http://mundoestranho.abril.com.br/materia/como-funciona-o-gps
acesso em: 23/4/2015.

OFICINA DA NET. Oficina da Net – Artigos, dicas, tutorias e vídeos de tecnologia.


Disponível em: http://www.oficinadanet.com.br/ acesso em 23/4/2015.
69

OPENCULTURE. Arduino Documentary. Disponível em:


http://www.openculture.com/2011/01/arduino_documentary_open_source_hardware
_is_here.html acesso em 15/4/2015.

PLANALTO. Presidência da República – Casa Civil – Subchefia para Assuntos


Jurídicos. Disponível em: http://www.planalto.gov.br/ccivil_03/decreto-lei/del2848.htm
acesso em 8/4/2015.

PÓSITRON. Alarmes | Pósitron. Disponível em:


http://www.positron.com.br/produtos/acessorios-para-carros-e-motos/alarmes acesso
em 22/4/2015.

PÓSITRON VÍDEOS. Conheça os alarmes Pósitron Cyber PX, FX e Exact linha 330.
Disponível em: https://www.youtube.com/watch?v=PRehHeLQW0o acesso em
22/4/2015.

RODRIGUES, Murilo Cabral. Sistema de Monitoramento de Alarme Automotivo


Utilizando SMS. 2011. 79. Graduação em engenharia de computação - UniCEUB,
Brasília.

SEARCHMOBILECOMPUTING. Mobile Computing information, news and tips -


SearchMobileComputing. Disponível em:
http://searchmobilecomputing.techtarget.com/definition/Global-Positioning-System
acesso em: 22/4/2015.

SIM ONLY PRO. Sim only abonnement? | Vergelijk ALLE sim only op Simonlypro.nl™
(TIP). Disponível em: http://simonlypro.nl/what-is-a-microsim-card-en/ acesso em:
3/4/2015.

SSP/SP. Secretaria de Estado da Segurança Pública - Governo do Estado de São


Paulo. Disponível em: http://www.ssp.sp.gov.br/novaestatistica/mapas.aspx acesso
em 8/4/2015.

SUPER TRUNFO. Trunfos do futuro. Disponível em:


http://supertrunfonet.tripod.com/trunfonticiadofuturo/id1.html acesso em: 23/3/2015.

SWARTZ CREEK. Swartz Creek Computers, Office Supplies, Laptops, Tablets,


Computer Repair, Computers, Ink, & Toner. Disponível em:
http://www.swartzcreekcomputers.com/store/p630/Motorola_SURFboard_SB5101_U
SB_Cable_Modem.html acesso em: 22/4/2015.

TAMBOTECH. Tambotech - Tecnologia, informática, Reviews e Mobile. Disponível


em: http://www.tambotech.com.br/tecnologia/site-comprar-modem-3g-vivo acesso
em: 22/4/2015.

TECH RADAR. Techradar Pro. Disponível em:


http://www.techradar.com/news/internet/getting-connected-a-history-of-modems-
657479/2 acesso em 04/5/2015.
70

TECHTARGET. TechTarget - Global Network of Information Technology Websites and


Contributors. Disponível em:
http://searchmobilecomputing.techtarget.com/definition/Global-Positioning-System
acesso em: 23/4/2015.

TELECO. Teleco – inteligência em telecomunicações. Disponível em:


http://www.teleco.com.br/tutoriais/tutorialgprs/pagina_1.asp acesso em: 13/3/2015.

TRENTIN. Paulo Trentin. Disponível em:


http://www.paulotrentin.com.br/eletronica/detectando-status-de-lampada-com-
optoacoplador-4n25-e-arduino. Acesso em: 18/6/2014.

UFRJ. Universidade Federal do Rio de Janeiro. Disponível em:


http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2008_2/ricardo/3.html acesso em:
22/4/2015.

Wikimedia. Wikimedia commons. Disponível em:


https://commons.wikimedia.org/wiki/File:GSM_Micro_SIM_Card_vs._GSM_Mini_Sim
_Card_-_Break_Apart.svg acesso em: 22/4/2015.

WIKIPÉDIA. Arduino - WIKIPÉDIA, the free encyclopedia. Disponível em:


http://pt.WIKIPÉDIA.org/wiki/Arduino#Software acesso em 19/6/2014 a.

WIKIPÉDIA. Car alarm - WIKIPÉDIA, the free encyclopedia. Disponível em:


http://en.WIKIPÉDIA.org/wiki/Car_alarm acesso em 27/9/2014 b.

WIKIPÉDIA. Subscriber identity module - WIKIPÉDIA, the free encyclopedia.


Disponível em: view-source:http://en.WIKIPÉDIA.org/wiki/Subscriber_identity_module
acesso em: 2/4/2015 c.

WINDSOR, H. H. Popular Mechanics Magazine. Chicago: Washington Street, 1913.


614 p.

WIRELESS DEVELOPER. Wireless Developer Network. Disponível em:


http://www.wirelessdevnet.com/channels/sms/features/sms.html acesso em:
3/4/2015.

WISEGEEK. WiseGEEK – clear answers for commom questions. Disponível em:


http://www.wisegeek.com/what-is-a-sim-card.htm acesso em: 7/5/2015.

WPLEX. WPLEX ITS. Disponível em: http://its.wplex.com.br/monitoramento/o-que-e-


gsm-o-que-e-gprs/ acesso em: 23/3/2015.
71

APÊNDICE 1

CÓDIGO DO SISTEMA DE MONITORAMENTO

/*
Caio Cesar Correia Regatieri
Curso de Análise e Desenvolvimento de Sistemas - Fatec
Projeto para conclusão de curso
*/

/*Importação de bibliotecas*/
#include "string.h"
#include "SIM900.h"
#include "SoftwareSerial.h"
#include "sms.h" //Carrega a biblioteca SMS

/*Definição de variáveis*/
SMSGSM sms; //variável que contém a classe de envio sms
int verificacoes; //variável que armazena o número de verificações que offline.
int envios; //variável que armazena quantos envios foram feitos.
boolean envioOk; //variável que armazena se houve falha ao enviar.
char alertTo[10]; //variável que armazena o numero a ser alertado.
boolean iniciado; //variável que armazena se o shield foi iniciado.

/*Inicialização de variáveis e do shield GPRS*/


void setup(){
//inicialização das variáveis
verificacoes = 0; //armazena a quantidade de verificações online
envios = 0;
envioOk = false;
72

iniciado = false;
pinMode(13, OUTPUT); // LED liga quando o shield está ok
pinMode(12, OUTPUT); //LED liga quando é um alerta
Serial.begin(9600); //Inicializa a serial com a taxa de atualização em 9600
Serial.println("Iniciando o Shield..."); //exibição no monitor serial
Serial.println("Aguarde.");
//Inicia a configuração do Shield
if (gsm.begin(2400)){
//o shield conectou na rede
Serial.println("Shield pronto!");
iniciado=true;
}else {
//o shield não conectou na rede
Serial.println("Shield não iniciado!");
}
}

/*verifica há eletricidade no sensor*/


boolean isOn(){
for (int i = 0; i < 100; i++){
int leitura = analogRead(A0);
if (leitura > 20){
return true;
}
delay(10);
}
return false;
}

/*verifica se é um alerta*/
73

boolean isAlert(){
//se tiver N verificações positivas, ele vai entender que é um alerta.
//nesta caso foi verificado que as seguintes operações acionam o pisca.
//acionamento = 1 pisca
//destravar = 2 pisca
return (verificacoes >= 5 ? true : false);
}

//verifica se uma string é numérica


boolean isNumeric (String str) {
for (byte i = 0; i < str.length(); i ++){
if (!isDigit(str.charAt(i))) return false; //se algum caractere da string não for
numerico, retorna false
}
return true;
}

/*envia o SMS e retorna se deu certo*/


boolean sendSMS(){
String num = alertTo;
if (num.length() == 0) return false;
//Envia um SMS para o número selecionado
//Formato sms.SendSMS(<numero>,<mensagem>)
return sms.SendSMS(alertTo, "Alarme disparado!");
}

/*verifica se recebeu alguma mensagem*/


void hasMessage(){
char conteudo[160]; //
char remetente[20]; //
char msg[160]; //
74

String mensagem = ""; //


String comando = ""; //
String parametro = ""; //
String retorno = ""; //

Serial.println("Verificando se ha SMS");

if(gsm.readSMS(conteudo, 160, remetente, 20)){

mensagem = conteudo;

Serial.println("");
Serial.println("****SMS Recebido****");
Serial.print("remetente:");
Serial.println(remetente);
Serial.print("mensagem:");
Serial.println(mensagem);
Serial.println("********************");
Serial.println("");

if (mensagem.substring(0,1) == "#"){
for (int i=1; i <= mensagem.length(); i=i+1){
if (mensagem.substring(i,i+1) == ":"){
comando = mensagem.substring(0,i+1);
parametro = mensagem.substring(i+1,mensagem.length()-1);
}
}
}

if (comando == "#alertto:"){
75

if (isNumeric(parametro)){
parametro.toCharArray(alertTo,10);
retorno = "O alerta sera enviado para: ";
retorno.concat(parametro);
retorno.toCharArray(msg,160);
sms.SendSMS(remetente, msg);
}else{
sms.SendSMS(remetente, "Telefone invalido");
}
}
if (comando == "#alertmessage:"){
if (parametro.length() > 0){
retorno = "Mensagem de alerta altera com sucesso";
retorno.toCharArray(msg,160);
sms.SendSMS(remetente, msg);
}else{
sms.SendSMS(remetente, "mensagem não definida");
}
}
delay(10000); //espera 10 segundos
}

/*exibe informações no monitor serial*/


void showStatus(){
Serial.println("");
Serial.print("Com corrente : ");
Serial.println(isOn() ? "Sim" : "Não");
Serial.print("Qtde On......: ");
76

Serial.println(verificacoes);
Serial.print("E um alerta : ");
Serial.println(isAlert() ? "Sim" : "Não");
Serial.print("Alertar a : ");
Serial.println(alertTo);
Serial.print("SMS enviado : ");
Serial.println(envioOk ? "Sim" : "Não");
Serial.print("Qtde envios : ");
Serial.println(envios);
Serial.println("");
}

/*função que é executada infinitas vezes*/


void loop(){
if (iniciado){
digitalWrite(13, HIGH); //liga o led
//somanda-se a quantidade de verificações feitas
//se não tiver zero os contadores
verificacoes = (isOn() ? verificacoes + 1 : 0);
//verifica se é um alerta
if (isAlert()){
digitalWrite(12, HIGH);
envioOk = sendSMS(); //aqui é chamada a função que envia o sms caso
enviado;
if (envioOk){
envios = envios + 1;
}
}else{
digitalWrite(12, LOW);
envioOk = false;
}
77

hasMessage(); //chama-se a função que verifica se foi recebido algum sms


}else{
digitalWrite(13, LOW);
}
showStatus(); //chama-se a função que imprimi informações na tela
delay(1000); //espera 1 segundo
}

Você também pode gostar