ENGENHARIA DA COMPUTAÇÃO
Guilherme Agrela Rodriguez
Rafael Palmero Marchini
Sistema embarcado com Arduino para integração veicular em
IoT.
Piracicaba
2023
Guilherme Agrela Rodriguez
Rafael Palmero Marchini
Sistema embarcado com Arduino para integração veicular em
IoT.
Trabalho de Conclusão de Curso apresentado à
Escola de Engenharia de Piracicaba como parte dos
requisitos para obtenção do título de Bacharel em
Engenharia da computação.
Orientador: Prof. Luiz Camolesi Júnior
Piracicaba
2023
Guilherme Agrela Rodriguez
Rafael Palmero Marchini
Sistema embarcado com Arduino para integração veicular em
IoT.
Trabalho de Conclusão de Curso apresentado à
Escola de Engenharia de Piracicaba como parte dos
requisitos para obtenção do título de Bacharel em
Engenharia da computação.
Piracicaba, 10 de abril de 2020
Banca Examinadora:
__________________________________
Nome e sobrenome do Professor Orientador – (Presidente)
Titulação
Instituição onde trabalha
__________________________________
Nome e sobrenome – (Membro)
Titulação
Instituição onde trabalha
__________________________________
Nome e sobrenome – (Membro)
Titulação
Instituição onde trabalha
Dedicamos este trabalho, aos pais Sra. Maria Izabel N. de
Souza Rodrigues e Sr. Ricardo Rodrigues, Sra. Rute
Palmero e Sr. Gustavo Marchini.
AGRADECIMENTOS
Agradecemos a Deus por ter dado saúde e determinação para não desanimar durante a
realização do trabalho, aos amigos pelo apoio incondicional e amizade demonstrada durante
todo o período de dedicação ao trabalho. Somos gratos às nossas famílias pelo apoio que
sempre nos deram durante toda a nossa vida.
RESUMO
Com o advento da Internet das Coisas, vários sistemas estão sendo desenvolvidos para
melhorar a qualidade de vida das pessoas. No entanto, os sistemas voltados para a área
automotiva não se estendem além dos padrões produzidos nas indústrias. O objetivo deste
trabalho é desenvolver um sistema modular de controle de veículos usando um
microcontrolador Arduino que facilite a vida das pessoas e promova acessibilidade,
comodidade, conforto e segurança a veículos que originalmente não possuem esses recursos.
Módulos foram desenvolvidos em [Link] para implementar e validar este sistema. A
placa central, que é responsável por realizar as integrações entre os módulos, recebe toda a
alimentação do sistema e a distribui entre eles, onde é realizada toda a configuração e
customização de cada função. Dentre os módulos desenvolvidos, o Sistema de Proteção
contra violações visa auxiliar os caminhoneiros a manter a integridade dos componentes
externos dos veículos por meio de sensores magnéticos. O módulo de partida remota, por sua
vez, visa a comodidade do proprietário, que pode solicitar um comando via assistente virtual
que liga o veículo, pré-aquece o motor e o mantém na temperatura ideal para seu uso. A
função é implementada através da integração de atuadores mecânicos que simulam a presença
do condutor, acionando assim a ignição, o que permite a implementação do sistema em
veículos com a função Start/Stop.
Palavras-chave: Internet das coisas, automobilística, sistema modular, Arduino, anti-
violação, partida remota.
LISTA DE ILUSTRAÇÕES
Figura 1 – Arduino UNO...............................................................................................14
Figura 2 – Arduino Nano...............................................................................................15
Figura 3 - GSM Shield..................................................................................................17
Figura 4 – Shield Rele...................................................................................................19
Figura 5 – Atuador Linear..............................................................................................20
Figura 6 – Fluxograma do estudo de caso........................................................................21
Figura 7 – Disposição dos componentes na protoboard....................................................22
Figura 8 – Fonte de alimentação e conexões....................................................................23
Figura 9 – Ligações dos jumpers de comunicação............................................................23
Figura 10 – Ligação da alimentação 5v...........................................................................24
Figura 11 – Primeira etapa do código (Estruturação)........................................................25
Figura 12 – Monitoramento, em laço, da comunicação entre o módulo e serial...................26
Figura 13 –Função de desmembramento do buffer e captação da mensagem......................27
Figura 14 – Padrão de mensagem de retorno do módulo...................................................27
Figura 15 – Comparação da mensagem obtida para acionamento do LED..........................28
Figura 16 – Retorno do módulo da mensagem SMS enviada com o texto "1".....................28
Figura 17 – Acionamento do LED..................................................................................29
Figura 18 – Retorno do módulo da mensagem SMS enviada com o texto "0".....................29
Figura 19 – Desligamento do LED.................................................................................29
AGUARDANDO DADOS PARA FINALIZAÇÃO
LISTA DE TABELAS
Tabela 1 - Pinagem do GSM Shield................................................................................18
AGUARDANDO DADOS PARA FINALIZAÇÃO
LISTA DE ABREVIATURAS E SIGLAS
FUMEP: Fundação Municipal de Ensino de Piracicaba
EEP: Escola de Engenharia de Piracicaba
IoT: - Internet of Things
AGUARDANDO DADOS PARA FINALIZAÇÃO
SUMÁRIO
1 INTRODUÇÃO.........................................................................................................12
2 REFERENCIAL CIENTÍFICO E TECNOLÓGICO ....................................................13
2.1 Microcontrolador........................................................................................13
2.1.1 - Plataforma Arduino Uno.............................................................13
2.1.2 - Arduino
Nano..............................................................................15
2.2 Shield.........................................................................................................16
2.2.1 - GSM Shield................................................................................16
2.2.2 - Shield Rele.................................................................................18
2.3 Atuadores...................................................................................................19
2.3.1 - Atuador
Linear............................................................................19
3 MATERIAIS E MÉTODOS......................................................................................21
3.1 - Estudo de caso........................................................................................21
3.1.1 - Preparação dos materiais..........................................................22
3.1.2 - Montagem do circuito.................................................................22
3.1.3 - Codificação................................................................................24
3.1.4 - Obtenção dos resultados...........................................................28
3.1.5 - Conclusão..................................................................................30
4 DESENVOLVIMENTO............................................................................................31
4.1 ....
4.2 .....
5 CONSIDERAÇÕES FINAIS.....................................................................................32
5.1
5.2
5.3
REFERÊNCIAS......................................................................................................................33
APÊNDICE A – Título do apêndice..............................................................................30
ANEXO A – Título do anexo........................................................................................32
AGUARDANDO DADOS PARA FINALIZAÇÃO
1 INTRODUÇÃO
A Internet das Coisas (IoT) revolucionou a maneira como as pessoas interagem com o
mundo ao seu redor. Por meio dela, é possível conectar dispositivos e sistemas, possibilitando
a troca e acesso de informações em tempo real. É claro que um dos setores que mais cresceu
com esses desenvolvimentos tecnológicos é o setor automotivo, visto que foi aberto um novo
caminho para que veículos autônomos e inteligentes estejam conectados entre si. Segundo
Shiklo (2018), a IoT é uma tendência que está transformando a indústria automotiva e criando
novas oportunidades de negócios.
No entanto, a necessidade de um dispositivo de acionamento remoto do veículo e
monitoramento do mesmo para prevenção de furtos e roubos ainda é um problema que precisa
ser solucionado. A hipótese é que a implementação de um sistema de controle remoto para
veículos, capaz de monitorar e acionar o motor a distância, pode aumentar a segurança dos
proprietários de automóveis e prolongar a vida útil do veículo.
O objetivo geral deste projeto é fornecer um dispositivo capaz de monitorar e acionar
o veículo a distância para circulação do óleo no motor e lubrificação prévia antes do uso,
prolongando a vida útil das partes e aumentando a segurança dos proprietários de automóveis.
Os objetivos específicos são:
Desenvolver um dispositivo de controle remoto para veículos capaz de monitorar e
acionar o motor a distância;
Verificar a eficácia do dispositivo na prevenção de furtos e roubos de veículos;
Avaliar o impacto do dispositivo na vida útil do veículo e na economia de recursos;
Fornecer uma solução inovadora e segura para os proprietários de automóveis que
desejam aumentar a segurança de seus veículos;
Contribuir para o avanço tecnológico no setor automotivo, por meio da aplicação da
IoT em dispositivos de controle remoto para veículos.
A justificativa para este projeto é que o roubo e furto de veículos é uma preocupação
constante dos proprietários de automóveis, e um dispositivo capaz de monitorar e acionar o
veículo a distância pode aumentar a segurança dos proprietários, além de prolongar a vida útil
do veículo por meio da circulação do óleo no motor e lubrificação prévia antes do uso. Além
disso, a aplicação da IoT em dispositivos de controle remoto para veículos contribui para o
avanço tecnológico no setor automotivo.
2 REFERENCIAL CIENTÍFICO E TECNOLÓGICO
De acordo com o artigo "DIY Location Tracker using GSM SIM800 and
Arduino" publicado no site [Link], a utilização de tecnologias como o GSM e
Arduino pode ser aplicada para desenvolver um rastreador de localização de baixo custo.
Ademais, explica de forma concisa e prática, como se dá a comunicação entre o módulo
GSM e a placa controladora Arduino., estudo este, de suma relevância para prosseguimento
neste projeto (RAJ, 2019).
2.1 Microcontrolador
Os microcontroladores são dispositivos eletrônicos compactos que integram um
processador, memória e periféricos em um único chip. Eles são projetados para executar
tarefas específicas de controle em sistemas embarcados. Sua arquitetura interna inclui uma
unidade de processamento central (CPU) que executa instruções armazenadas na memória de
programa, e periféricos como pinos de I/O, timers e conversores A/D que permitem interação
com o ambiente externo. A programação dos microcontroladores é realizada através de
linguagens de programação de baixo nível, como C ou Assembly, permitindo o
desenvolvimento de sistemas customizados e eficientes para diversas aplicações
(PRÓSPERO, 2020).
2.1.1 Plataforma Arduino Uno
A plataforma Arduino Uno é uma das mais populares e amplamente utilizadas no
desenvolvimento de sistemas embarcados e projetos eletrônicos. Ela é baseada em um
microcontrolador Atmega328P e oferece uma ampla gama de recursos e facilidades para
programação e prototipagem (PRÓSPERO, 2020).
Figura 1 – Arduino UNO
Na figura 1 pode-se observar a placa controladora Arduino UNO e sua estruturação
física.
Microcontrolador Atmega328P: O Arduino Uno é baseado no microcontrolador
Atmega328P, que é um componente-chave do sistema. É importante compreender a
arquitetura, recursos e especificações técnicas desse microcontrolador, como pinagem,
memória, velocidade de processamento e interfaces disponíveis. Ambiente de
desenvolvimento: O Arduino Uno utiliza uma IDE (Integrated Development Environment)
que simplifica o processo de programação. É necessário entender como configurar a IDE,
compilar e transferir o código para o microcontrolador. Além disso, é importante conhecer a
linguagem de programação utilizada, que é uma variante simplificada do C++ (COSTA,
2017).
Biblioteca Arduino: A plataforma Arduino Uno possui uma extensa biblioteca de
funções pré-programadas, chamada de "Arduino Library". Essa biblioteca fornece uma série
de comandos e funções que facilitam a interação com os periféricos e componentes
eletrônicos. É relevante conhecer as principais funções disponíveis e como utilizá-las
corretamente (CINTRA, 2019).
Shield Arduino: Os shields são placas de expansão que se conectam diretamente ao
Arduino Uno, adicionando recursos extras, como comunicação sem fio (Wi-Fi, Bluetooth),
sensores, display, entre outros. É importante entender como identificar, conectar e utilizar
esses shields no contexto do projeto (COSTA, 2017).
Comunicação serial: A comunicação serial é amplamente utilizada no Arduino Uno
para interagir com outros dispositivos, como computadores, sensores ou módulos externos. É
relevante compreender os princípios básicos da comunicação serial, como a configuração de
velocidade de transmissão (baud rate), protocolos de comunicação (por exemplo, UART) e
como realizar a leitura e escrita de dados via comunicação serial. Projetos e aplicações:
Explorar exemplos de projetos e aplicações desenvolvidos com o Arduino Uno pode fornecer
uma visão mais prática de como a plataforma pode ser utilizada. Esses projetos podem incluir
automação residencial, controle de robôs, monitoramento de sensores, entre outros (CINTRA,
2019).
Ao compreender esses aspectos fundamentais da plataforma Arduino Uno, é possível
utilizá-la de forma eficiente no desenvolvimento de sistemas embarcados, permitindo a
prototipagem rápida e a implementação de soluções tecnológicas em diversos contextos.
2.1.2 Arduino Nano
O Arduino Nano é uma placa de desenvolvimento compacta e versátil que faz parte da
família Arduino. A figura 2 apresenta o componente físico. Baseado no microcontrolador
Figura 2 - Arduino
Nano
ATmega328P, o Arduino Nano oferece uma ampla gama de recursos e funcionalidades para
projetos eletrônicos. Ele possui uma arquitetura de 8 bits com uma frequência de clock de 16
MHz, além de memória flash, memória SRAM e memória EEPROM para armazenamento de
programas e dados. Apesar de seu tamanho reduzido, o Arduino Nano possui uma quantidade
significativa de pinos de I/O digitais e analógicos, permitindo a conexão de sensores,
atuadores e outros dispositivos externos. Além disso, ele suporta comunicação serial via USB
e possui interfaces de comunicação, como UART, SPI e I2C, para conectar-se a outros
dispositivos e módulos (LOUSADA, 2021).
A programação do Arduino Nano é feita através da IDE Arduino, que oferece uma
interface amigável para o desenvolvimento de código utilizando a linguagem de programação
C/C++. A biblioteca Arduino fornece uma vasta coleção de funções pré-programadas que
facilitam a interação com os periféricos da placa (COSTA, 2017).
Devido ao seu tamanho compacto e recursos abrangentes, o Arduino Nano é
amplamente utilizado em projetos que requerem portabilidade, economia de espaço e
flexibilidade. É comumente empregado em aplicações como automação residencial, robótica,
dispositivos vestíveis (wearables), monitoramento ambiental e muitos outros projetos
eletrônicos (COSTA, 2017).
Em suma, o Arduino Nano é uma placa de desenvolvimento versátil e compacta,
baseada no microcontrolador ATmega328P, que oferece uma ampla gama de recursos e
funcionalidades para projetos eletrônicos. Sua programação é facilitada pela IDE Arduino, e
sua portabilidade e flexibilidade o tornam uma escolha popular em diversas aplicações.
2.2 Shield
Os shields do Arduino são placas de expansão projetadas para se encaixarem
diretamente nas placas Arduino, fornecendo funcionalidades adicionais e recursos específicos
para projetos eletrônicos. Essas placas de expansão podem incluir interfaces de comunicação,
como Wi-Fi, Bluetooth, GSM, Ethernet, entre outras, permitindo que o Arduino se conecte a
redes sem fio, dispositivos externos e acesse a internet. Além disso, os shields podem oferecer
suporte a sensores específicos, como sensores de temperatura, acelerômetros, GPS, displays,
entre outros. Esses shields facilitam a prototipagem rápida, economizando tempo e esforço ao
adicionar funcionalidades extras sem a necessidade de montar circuitos complexos. Com a
variedade de shields disponíveis, é possível personalizar e expandir as capacidades do
Arduino para atender a diferentes necessidades de projeto (MELLO, 2023).
2.2.1 GSM Shield
O shield GSM é uma placa de expansão projetada para ser acoplada a placas Arduino,
fornecendo conectividade GSM (Global System for Mobile Communications). Esse tipo de
shield permite que o Arduino se comunique com redes de telefonia móvel, possibilitando o
envio e recebimento de mensagens de texto (SMS), acesso à internet móvel e chamadas
telefônicas (NDUNGU; MIXON, 2021).
Os shields GSM são equipados com um módulo GSM integrado, que consiste em um
modem GSM/GPRS (General Packet Radio Service) e antena embutida. O modem permite
que o Arduino estabeleça uma conexão com a rede de telefonia móvel e envie comandos AT
(Attention) para executar funções específicas, como enviar mensagens SMS ou fazer
chamadas.
Além da funcionalidade básica de comunicação, os shields GSM podem incluir
recursos adicionais, como slots para cartões SIM, interfaces para cartões de memória SD,
portas de I/O extras, entre outros. Esses recursos extras ampliam as possibilidades de
aplicação, permitindo o armazenamento de dados no cartão de memória ou a interação com
outros dispositivos externos (NDUNGU; MIXON, 2021).
Os shields GSM são amplamente utilizados em projetos de Internet das Coisas (IoT),
sistemas de monitoramento remoto, automação residencial, rastreamento de veículos, entre
outros. Eles oferecem uma maneira eficiente e conveniente de adicionar conectividade móvel
a um projeto Arduino, permitindo a comunicação e o controle remotos (MARCHARLA,
2020).
A figura 3 evidencia o diagrama de pinagens do módulo com suas nomenclaturas e
posicionamentos e, destaca a voltagem de operação indicada.
Figura 3 -GSM Shield
DAS, Debashis. SIM800L GSM/GPRS Module Pinout. Circuit Digest, 21 de junho de
2022. Disponível em: [Link]
[Link]. Acesso em: 15 de junho de 2023.
A seguir observa-se a tabela de pinagem do GSM Shield, nela nota-se as
nomenclaturas dos pinos e suas numerações, tal como a explicação de cada entrada e saída as
suas respectivas funções.
Número do Pino Nome do Pino Descrição
1 NET RECEBIMENTO DA
ANTENA
2 VCC ALIMENTAÇÃO, 3.4V A 4.4
V
3 RST RESET, 100 MS PARA
ATIVAR
4 RXD ENTRADA DE DADOS
SERIAL
5 TXD SAIDA DE DADOS SERIAL
6 GND ATERRAMENTO
7, 8 SPK SAIDA DE ALTO FALANTE
9, 10 MIC ENTRADA DE MICROFONE
11 DTR CONTROLE ESTADO DE
ESPERA
12 RING INDICADOR DE
RECEBIMENTO DE
SMS/LIGAÇÃO
Tabela 1 – Pinagem do GSM Shield
2.2.2 Shield Rele
O shield relé 5V é uma placa de expansão que permite o controle de dispositivos de
alta potência através de um microcontrolador, como o Arduino. Ele é projetado para operar
com uma tensão de 5V e possui relés integrados, que são dispositivos eletromecânicos
capazes de ligar ou desligar circuitos elétricos (MELLO, 2023).
Os shields relé 5V normalmente possuem vários canais de relé, permitindo o controle
independente de múltiplos dispositivos. Cada canal do relé é equipado com um terminal de
entrada e um terminal de saída, que podem ser conectados a dispositivos externos, como
lâmpadas, motores ou outros equipamentos elétricos. Esses shields são projetados para serem
facilmente conectados ao Arduino ou a outras placas compatíveis, geralmente através de pinos
de I/O. Isso permite que o microcontrolador envie sinais de controle para os relés, ativando ou
desativando os dispositivos conectados (MELLO, 2023).
A figura 4 mostra o componente físico Shield Rele, observa-se a estrutura do
componente.
Figura 4 - Shield Rele
2.3 Atuadores
Os atuadores do Arduino são componentes eletrônicos projetados para realizar ações
físicas em resposta a comandos do microcontrolador. Eles são responsáveis por converter
sinais elétricos em movimento, luz, som ou outras formas de energia. Alguns exemplos
comuns de atuadores são os motores DC, servomotores, LEDs e alto-falantes. Os motores DC
são utilizados para gerar movimento, permitindo o controle de rotação e velocidade. Os
servomotores fornecem um controle mais preciso de posição, permitindo movimentos
angulares específicos. Os LEDs são utilizados para gerar luz e podem ser controlados para
acender ou apagar, bem como alterar sua intensidade luminosa. Os alto-falantes produzem
som e podem ser usados para reproduzir música, emitir alertas sonoros ou feedback auditivo.
Os atuadores do Arduino são fundamentais para criar interações físicas em projetos
eletrônicos, permitindo a criação de sistemas interativos e automatizados (MELLO, 2023).
2.3.1 Atuador Linear
Um atuador linear de 12V é um dispositivo eletromecânico projetado para converter
energia elétrica em movimento linear. Ele é composto por um motor elétrico, um sistema de
transmissão e um mecanismo de extensão/retração. Quando uma tensão de 12V é aplicada ao
motor, ele gera um movimento linear para estender ou retrair o atuador (DICKSON, 2018).
Os atuadores lineares podem fornecer força e movimento em uma única direção, e seu
desempenho é determinado por fatores como a carga máxima que podem suportar, a
velocidade de movimento, o curso máximo de extensão/retração e a precisão de
posicionamento. É importante considerar esses fatores ao escolher um atuador linear
adequado para um determinado projeto (DICKSON, 2018).
A figura 5 traz uma imagem física de como é um Atuador Linear.
Figura 5 - Atuador Linear
Outrossim, tem-se como base para este projeto, o trabalho de “Desenvolvimento de
sistema microcontrolado para redução de perdas associadas ao processo de refrigeração do
leite em pequenas propriedades”, no qual realiza um estudo que descreve um modelo que
utiliza a plataforma de prototipagem Arduino e outros componentes eletrônicos para
monitorar a rede de alimentação do resfriador. Caso ocorra uma falha na rede, o modelo emite
um alerta sonoro e envia uma mensagem SMS com o módulo GSM SIM800L aos produtores
para que possam tomar medidas imediatas. O objetivo do modelo é permitir a rápida
identificação e solução de problemas na rede de alimentação do resfriador, garantindo a
segurança e a qualidade do produto final. (RAMOS TEIXEIRA, 2018).
Não obstante, também se vê extrema valia no projeto “Sistema para rastreamento
veicular via GPS”, este que desenvolve de um sistema voltado para a segurança pessoal, que
integra três setores diferentes. O primeiro setor é o hardware, um dispositivo que coleta as
coordenadas geográficas do automóvel por meio de um sistema de posicionamento global
(GPS). O segundo setor é um serviço web que armazena e visualiza os dados coletados pelo
hardware. Por fim, há um aplicativo para sistemas Android que recebe as coordenadas por
meio de um módulo de comunicação móvel (GSM) e apresenta a localização atual do veículo
de forma interativa em tempo real. O objetivo do sistema é fornecer uma ferramenta de
segurança pessoal para os usuários, permitindo que eles monitorem a localização de seus
veículos e ajam rapidamente em caso de roubo ou outras emergências. (MELO E SILVA,
2021). Ambos trabalhos traz uma gama de informações preciosas, que serão aqui aproveitadas
para desenvolvimento, a respeito da utilização do GSM SIM800L e sua trabalhabilidade,
tecnologia, manuseio e codificação.
3 MATERIAS E MÉTODOS
Para melhor compreensão, foi realizado um caso teste para primeiros
contatos com os componentes e suas tecnologias. Será feita a montagem de um
circuito e codificação.
Figura 6 – Fluxograma do estudo de
caso
A figura 6 apresenta o fluxograma de processos, como forma de orientação e clareza
de entendimento, para a realização do estudo de caso.
3.1 ESTUDO DE CASO
Foi esquematizado o seguinte cenário: Um projeto que usa um Arduino e um
módulo GSM SIM800L para enviar e receber mensagens SMS. O objetivo é verificar se a
troca de mensagens SMS entre os componentes está funcionando corretamente. Para tal,
utilizamos um circuito utilizando os componentes Arduino Uno que será a placa controladora,
o Módulo GSM SIM800L responsável pela transmissão e recepção de dados via cartão SIM, o
Step Down, necessário para transformar 12 V, originários de uma fonte de bancada 12V e 2A,
em 4.7V, voltagem esta requisitada para o devido funcionamento do módulo GSM, por fim
um LED com resistor de 220 Ω para ser acionado no momento que o GSM identificar um
SMS recebido com a mensagem “LIGAR”.
3.1.1 Preparação dos Materiais: Foram agrupados os seguintes componentes a para
montagem do circuito: Protoboard Mini, Arduino Uno, Step Down, Módulo GSM SIM800L e
uma fonte de bancada 12V e 2A. Ademais, separou-se para uso conectores P4 e jumpers para
conexões entre componentes e protoboard.
3.1.2 Montagem Do Circuito:
Na figura 6, observa-se a controladora Arduino Uno em 1, Modulo GSM em 3 o LED
e resistores em 2 na protoboard.
Figura 7 – Disposição dos componentes na protoboard
Figura 8 – Fonte de alimentação e conexões
Fonte em 1, interruptor no 2 para desligamento do circuito e o numero 3 corresponde ao
conector P4 para conectar a fonte ao circuito.
Figura 9 – Ligações dos jumpers de comunicação
Nesta figura 8, nota-se a conexão em 1 do modulo GSM em que jumper da cor
vermelha está conectado na porta RX e porta digital 2 do Arduino UNO, enquanto o laranja
está na porta TX do modulo e porta digital 3 do Arduino UNO.
Em 2, tem-se a conexão do LED por intermédio do resistor de 220 Ω na porta digital
de numero 11 do Arduino UNO.
Figura 10 – Ligação da alimentação 5v
Em 1, observa-se a conexão do Step Down com o interruptor e em 2 a alimentação, já
com a tensão transformada para 4.71 V, da protoboard e demais componentes.
3.1.3 Codificação: A partir deste ponto, será evidenciado os trechos de códigos
utilizados para o desenvolvimento do projeto. Neste momento, será explicado a estruturação
do código, como ocorre e como deve ser realizada, em questões de algoritmos, a comunicação
serial entre placa e módulo e suas tratativas e problemáticas.
Figura 11 - Primeira etapa do código (Estruturação)
Inicialmente, insere-se a biblioteca SoftwareSerial, padrão do Arduino, que é
possibilita a criação de portas seriais virtuais para comunicação com dispositivos que usam
comunicação serial, tal como o módulo GSM que se utiliza neste projeto. Em seguida, define-
se as portas RX (Porta de recebimento de dados do microcontrolador) e TX(Porta de
transmissão de dados do modulo para o dispositivo) em #define rxPin e #define txPin sendo,
neste caso, as portas digitais 2 e 3 respectivamente.
Após essas declarações, cria-se o Objeto SoftwareSerial sim800 com os parâmetros
dos pinos das portas de conexão do Arduino com o Modulo GSM e, define-se a porta do LED
em #define LED_Pin 13, ou seja, porta digital 13 do Arduino está o LED. Adiante, na função
Setup(), a qual inicializa apenas uma vez na execução do programa, define-se o modo do
pino 13 como saída de tensão para alimentação do LED em pinMode(LED_PIN, OUTPUT) e,
envia uma tensão baixa para manter o LED desligado em digitalWrite(LED_PIN, LOW).
É definido um tempo de espera de 1 segundo (1.000 milissegundos) em delay(1000),
para, em seguida, inicializar a comunicação serial com [Link](115200), sendo este
parâmetro a frequência de transmissão, em conjunto com a inicialização do módulo em
[Link](9600) tal como a do Serial e, em simultâneo imprime-se mensagens de
feedback no Monitor para acompanhamento do processo.
Com o módulo e serial iniciado, envia-se o comando AT+CMGF=1\r, responsável por
definir o módulo em modo texto para prosseguimento dos comandos e tratativas. Na figura 11
nota-se a estrutura do laço de repetição principal do algoritmo e suas funções.
Figura 22 – Monitoramento, em laço, da
comunicação entre o módulo e serial.
Na função Loop(), executadas repetidas vezes durante a execução do algoritimo, tem-
se os 2 laços While(). O primeiro, tem como parâmetro de repetição, o módulo, ou seja,
enquanto este estiver com comunicação e disponível para tal, este será enviado, como
parâmetro, para uma função chamada parseData() que será responsável por capturar o SMS
recebido e armazena-lo em buffer e, desmembrá-lo para salvar apenas a parte da mensagem
de interesse, pois o módulo retorna o SMS em uma cadeia de informações em conjunto sendo
elas: Número de origem do SMS, Data de envio e a mensagem em si.
Logo após, observa-se a função Executa_Tarefa() que fará a identificação da
mensagem do SMS, já desmembrada e armazenada em uma variável, e comparará a mesma
com caracteres entendidos como comandos como vera adiante. O segundo laço While() é
responsável, enquanto a comunicação Serial estiver disponível, por fazer a leitura do que esta
sendo enviado pelo modulo para a placa e, imprimir essas informações de retorno no monitor.
Figura 33 – Função de desmembramento do buffer e
captação da mensagem.
Nesta imagem, nota-se a função parseData(), a qual faz o desmembramento da cadeia
de caracteres em buffer obtidas pelo módulo a partir do SMS. Para tal, tendo como base a
sequência padrão de retorno do módulo, sendo:
Figura 44 - Padrão de mensagem de retorno do módulo. O
Número de celular foi censurado por motivos de privacidade e proteção.
Em primeiro, retorna o número de origem do SMS, depois a data e hora de envio e,
por fim, a mensagem. O algoritimo recebe a leitura do módulo, guarda em uma variável
String cmd e remove todos os espaços contidos em [Link](). Ademais, em sequência,
identifica a sequência “+CMT” que é padrão para todo recebimento de SMS e, a partir disso,
utiliza uma variável “index” para percorrer até a posição que é a mensagem de fato e, com a
mensagem obtida, transforma-a todos caracteres em minúsculos com a função toLowerCase()
para facilitar o processamento. Por fim, imprime-se a mensagem.
Figura 55 – Comparação da mensagem obtida para
acionamento do LED
Aqui, a função Executa_Tarefa() realiza a comparação da mensagem, processada,
obtida e compara os caracteres “1” para ligar o LED e “0” para desliga-lo.
3.1.4 Obtenção dos Resultados:
Figura 66 - Retorno do módulo da mensagem SMS
enviada com o texto "1"
Foi enviado um SMS com a mensagem “1” para o módulo e, ao receber o dado e,
desmembra-lo e trata-lo como explicado nos passos acima, realizou a comparação da
mensagem com os comandos pré-definidos (“1” para ligar e “0” para desligar) realizou o
acionamento do LED como observa-se na imagem abaixo:
Figura 77 – Acionamento do LED
Um SMS contendo o valor "0" foi enviado para o módulo GSM. Quando o módulo
recebeu esse dado, o valor foi separado e tratado de acordo com as etapas previamente
definidas. Em seguida, a mensagem foi comparada com os comandos pré-definidos ("1" para
ligar e "0" para desligar).
Figura 88 - Retorno do módulo da mensagem SMS
enviada com o texto "0"
Em seguida o módulo desligou o LED conforme mostrado na imagem.
Figura 98 – Desligamento do LED
3.1.5 Conclusão
Este estudo de caso, sanou diversas dúvidas e traçou o caminho de desenvolvimento
do objetivo central deste projeto e, além disso, mostrou as configurações, tecnologias
envolvidas de forma mais clara e concisa, sendo de extrema valia os conhecimentos aqui
obtidos e desafios superados.
4 DESENVOLVIMENTO
Seção (e suas subseções) que documenta cada etapa do trabalho com a apresentação
dos resultados parciais de cada etapa.
5 CONSIDERAÇÕES FINAIS
5.1 Discussão sobre os Resultados
5.2 Dificuldades Encontradas
5.3 Trabalhos Futuros
REFERÊNCIAS
RAJ, Aswinth. DIY Location Tracker using GSM SIM800 and Arduino. Circuit
Digest, 2019. Disponível em: [Link]
tracker-using-gsm-sim800-and-arduino. Acesso em: 21 de junho de 2023.
SCIENCE SOFT. Automotive IoT: Smarter Vehicles, Optimized Car Manufacturing.
ScienceSoft, 2022. Disponível em: [Link]
Acesso em: 21 de junho de 2023.
RAMOS TEIXEIRA, Gabriel. Desenvolvimento De Sistema Microcontrolado Para
Redução De Perdas Associadas Ao Processo De Refrigeração Do Leite Em Pequenas
Propriedades. 2018. 70. Trabalho de Conclusão de Curso - Instituto Federal De Minas Gerais,
Formiga - MG.
MELO E SILVA, André Menezes. Sistema para rastreamento veicular via GPS.
2021. 61. Trabalho de Conclusão de Curso - Universidade Federal de Santa Catarina,
Centro de Blumenau.
PRÓSPERO, Israel. Microcontroladores: o que são e aplicações. 2020. Disponivel em:
[Link]
%20uma%20defini%C3%A7%C3%A3o%20mais%20focada,os%20controladores%20devem
%20controlar%20algo, Acesso em 20/06/2023
COSTA, Fabio. Como começar com Arduino: os componentes mais importantes que
você precisa conhecer, 2017. Disponível em: [Link]
com-arduino/, Acesso em 20/06/2023
CINTRA, José. Guia de Instalação e Utilização das Bibliotecas do Arduino, 2019.
Disponível em: [Link]
Acesso em 20/06/2023
LOUSADA, Ricardo. Guia Arduino Nano: Driver CH340 e Bootloader, 2021.
Disponível em: [Link]
bootloader/, Acesso em 20/06/2023
MELLO, Marcio. Shield arduino: para que serve, tipos, exemplos práticos e displays,
2023. Disponível em: [Link]
inteligentes-proculus/, Acesso em 20/06/2023
MARCHALA, Monisha. How to use a GSM/GPRS Module as an IoT device?. 2020.
Disponível em: [Link]
Acesso em 20/06/2023
NDUNGU, Solomon. GSM (Global System for Mobile communication). 2021.
Disponível em: [Link] Acesso
em 20/06/2023
DISCKSON, Robble. Atuadores lineares 101 - Tudo o que você precisa saber sobre
atuadores lineares. 2018 Disponível em:
[Link] Acesso em 20/06/2023
Referência nada mais é que a descrição de documento citado no trabalho. Estas se
fazem necessárias para possibilitar que demais leitores possam ter acesso aos materiais
utilizados para elaboração do trabalho, permitindo assim, a replicação ou comprovação
científica.
As referências possuem regras próprias de apresentação, portanto, devem ser
representadas com espaçamento simples, alinhadas à margem esquerda (não justificadas) e
separadas entre si por um espaço simples.
Devem seguir descritas em ordem alfabética crescente.
A norma que regulamenta a elaboração de referências passou por atualização em
novembro de 2018, e as principais alterações foram:
Quando no livro ou revista a palavra Editora constar antes do nome desta, pela norma
anterior essa informação era suprimida, aparecendo apenas o nome da editora. Com a revisão
da norma, hoje deve-se indicar a palavra Editora antes do nome quando assim estiver descrito
no documento consultado, porém, ainda deve-se suprimir as palavras que designam a natureza
jurídica ou comercial, como por exemplo S.A. ou LTDA.
Outra alteração foi a supressão dos símbolos < > nas referências de documentos
eletrônicos onde se deve indicar o endereço web. Assim, com a nova diretriz, o aluno autor
deve apenas indicar a url utilizada precedida da expressão Disponível em:.
Pela nova norma, agora quando se elabora uma referência de artigo extraído de anais
de evento, o termo Anais [...] em destaque agora deve ter os três pontos entre colchetes.
Por fim, além de exemplos de referências de redes sociais, a versão de 2018 da NBR
6023 previu a utilização de livros digitais. Com isso, após a referência do livro utilizado em
uma plataforma ou aplicativo de leitura, se deve acrescentar a expressão E-book após o ano.
Para diminuir as dúvidas em relação a elaboração de referências, os autores deste
manual resolveram apresentar a seguir alguns exemplos como forma de elucidar as
explicações vislumbradas com o texto deste subcapítulo.
Veja alguns exemplos utilizando o padrão obrigatório ABNT