- Componentes necessários para o sistema de rastreamento de veículos baseado em Arduino:
- Como o módulo GSM pode ser usado para rastrear a localização:
- Explicação do circuito para interface de GSM e GPS com Arduino:
- Sistema de rastreamento de veículos baseado em GSM e GPS usando Arduino - Working
- Interface GAM e GPS com código Arduino para rastrear a localização do veículo
Os sistemas de rastreamento de veículos são comumente usados em aplicativos de gerenciamento de frota e rastreamento de ativos. Hoje, esses sistemas podem não apenas rastrear a localização do veículo, mas também relatar a velocidade e até mesmo controlá-lo remotamente. Em geral, o rastreamento de veículos é um processo no qual rastreamos a localização do veículo na forma de latitude e longitude (coordenadas GPS). As coordenadas GPS são o valor de um local. Este sistema é muito eficiente para aplicações externas. Este tipo de projeto de sistema de rastreamento de veículos é amplamente utilizado no rastreamento de táxis / táxis, veículos roubados, ônibus escolares / universitários, etc. Neste projeto, estamos dando um passo à frente com a construção de um sistema de rastreamento de veículos baseado em GSM e GPS usando Arduino. Este sistema de rastreamento de veículos também pode ser usado para rastrear um veículo usando GPS e GSM e também pode ser usado como Sistema de Alerta de Detecção de Acidentes, Sistema de Rastreamento de Soldado e muito mais, apenas fazendo algumas alterações no hardware e software.
Também construímos muitos outros tipos de sistemas de rastreamento de veículos anteriormente, você pode verificá-los se estiver interessado
- Rastreamento de veículos por GPS e alerta de acidentes usando Arduino
- Rastreamento de veículos com Google Maps usando Arduino e ESP8266
- Rastreamento de veículos por GPS e alerta de acidentes usando MSP430
- Rastreamento de veículos por GPS baseado em LoRa usando Arduino
- Rastreador de localização sem GPS usando SIM800 e Arduino
Componentes necessários para o sistema de rastreamento de veículos baseado em Arduino:
Para construir um sistema simples de rastreamento de veículos processando o Arduino, precisaremos dos seguintes componentes.
- Arduino UNO
- Módulo GSM
- Módulo GPS
- LCD 16x2
- Fonte de energia
- Fios de conexão
- 10 K POT
Como o módulo GSM pode ser usado para rastrear a localização:
GPS significa Global Positioning System e é usado para detectar a latitude e longitude de qualquer local da Terra, com a hora UTC exata (Universal Time Coordinated). O módulo GPS é o principal componente em nosso projeto de sistema de rastreamento de veículos. Este dispositivo recebe as coordenadas do satélite a cada segundo, com hora e data.
O módulo GPS envia os dados relacionados ao rastreamento da posição em tempo real, e envia muitos dados no formato NMEA (veja a imagem abaixo). O formato NMEA consiste em várias frases, nas quais precisamos apenas de uma frase. Esta frase começa em $ GPGGA e contém as coordenadas, hora e outras informações úteis. Este GPGGA é conhecido como Dados de correção do sistema de posicionamento global. Saiba mais sobre como ler dados GPS e suas strings aqui.
Podemos extrair coordenadas da string $ GPGGA contando as vírgulas na string. Suponha que você encontre a string $ GPGGA e a armazene em um array, então a Latitude pode ser encontrada após duas vírgulas e a Longitude pode ser encontrada após quatro vírgulas. Agora, essas latitude e longitude podem ser colocadas em outras matrizes.
Abaixo está a string $ GPGGA, junto com sua descrição:
$ GPGGA, 104534.000,7791,0381, N, 06727.4434, E, 1,08,0.9,510,4, M, 43,9, M,, * 47
$ GPGGA, HHMMSS.SSS, latitude, N, longitude, E, FQ, NOS, HDP, altitude, M, altura, M,, dados de checksum
Identificador |
Descrição |
$ GPGGA |
Dados de correção do sistema de posicionamento global |
HHMMSS.SSS |
Tempo em hora, minuto, segundo e formato milissegundos. |
Latitude |
Latitude (coordenada) |
N |
Direção N = Norte, S = Sul |
Longitude |
Longitude (Coordenada) |
E |
Direção E = Leste, W = Oeste |
FQ |
Dados de qualidade fixos |
NOS |
Nº de satélites em uso |
HPD |
Diluição Horizontal de Precisão |
Altitude |
Altitude do nível do mar |
M |
Metro |
Altura |
Altura |
Checksum |
Dados de soma de verificação |
Explicação do circuito para interface de GSM e GPS com Arduino:
As conexões de circuito deste projeto de sistema de rastreamento de veículos são simples e são mostradas na imagem abaixo. Aqui, o pino Tx do módulo GPS é conectado diretamente ao pino digital número 10 do Arduino. Usando a Biblioteca serial de software aqui, permitimos a comunicação serial nos pinos 10 e 11, e os tornamos Rx e Tx respectivamente e deixamos o pino Rx do Módulo GPS aberto. Por padrão, os pinos 0 e 1 do Arduino são usados para comunicação serial, mas usando a biblioteca SoftwareSerial, podemos permitir a comunicação serial em outros pinos digitais do Arduino. A alimentação de 12 volts é usada para alimentar o Módulo GPS.
Os pinos Tx e Rx do módulo GSM são conectados diretamente aos pinos Rx e Tx do Arduino. O módulo GSM também é alimentado por 12v. Os pinos de dados D4, D5, D6 e D7 de um LCD opcional são conectados aos pinos 5, 4, 3 e 2 do Arduino. Os pinos de comando RS e EN do LCD são conectados aos pinos 2 e 3 do Arduino e o pino RW é conectado diretamente ao aterramento. Um potenciômetro também é usado para definir o contraste ou brilho do LCD.
Sistema de rastreamento de veículos baseado em GSM e GPS usando Arduino - Working
Neste projeto, o Arduino é utilizado para controlar todo o processo com um receptor GPS e módulo GSM. O receptor GPS é usado para detectar as coordenadas do veículo, o módulo GSM é usado para enviar as coordenadas ao usuário por SMS. E um LCD 16x2 opcional também é usado para exibir mensagens de status ou coordenadas. Usamos o módulo GPS SKG13BL e o módulo GSM SIM900A.
Quando estivermos prontos com nosso hardware após a programação, podemos instalá-lo em nosso veículo e ligá-lo. Depois, basta enviar um SMS, “Track Vehicle”, para o sistema que está colocado no nosso veículo. Também podemos usar algum prefixo (#) ou sufixo (*) como #Track Vehicle *, para identificar corretamente o início e o fim da string, como fizemos nestes projetos: GSM Based Home Automation and Wireless Notice Board
A mensagem enviada é recebida pelo módulo GSM que está conectado ao sistema e envia os dados da mensagem para o Arduino. O Arduino lê e extrai a mensagem principal de toda a mensagem. E então compare-o com a mensagem predefinida no Arduino. Se ocorrer alguma correspondência, o Arduino lê as coordenadas extraindo a string $ GPGGA dos dados do módulo GPS (GPS funcionando explicado acima) e a envia ao usuário usando o módulo GSM. Esta mensagem contém as coordenadas da localização do veículo.
Interface GAM e GPS com código Arduino para rastrear a localização do veículo
Na parte de programação, primeiro incluímos bibliotecas e definimos pinos para LCD e comunicação serial de software. Defina também algumas variáveis com matrizes para armazenar dados. A biblioteca serial do software é usada para permitir a comunicação serial nos pinos 10 e 11.
#incluir
Aqui, array str é usado para armazenar mensagens recebidas do módulo GSM e gpsString é usado para armazenar strings de GPS. char * test = ”$ GPGGA” é usado para comparar a string certa que precisamos para as coordenadas.
Depois disso, inicializamos a comunicação serial, LCD, módulo GSM e GPS na função de configuração e mostramos uma mensagem de boas-vindas no LCD.
configuração vazia () {lcd.begin (16,2); Serial.begin (9600); gps.begin (9600); lcd.print ("Rastreamento de veículos"); lcd.setCursor (0,1);……………
Na função de loop, recebemos mensagem e string de GPS.
void loop () {serialEvent (); if (temp) {get_gps (); rastreamento(); }}
As funções void init_sms e void send_sms () são usadas para inicializar e enviar mensagens. Use um número de telefone celular de 10 dígitos adequado, na função init_sms .
A função void get_gps () foi usada para extrair as coordenadas da string recebida.
A função void gpsEvent () é usada para receber dados GPS no Arduino.
A função void serialEvent () é usada para receber mensagem do GSM e comparar a mensagem recebida com a mensagem predefinida (Track Vehicle).
void serialEvent () {while (Serial.available ()) {if (Serial.find ("Track Vehicle")) {temp = 1; pausa; }…………..
A função de inicialização 'gsm_init () ' é usada para inicializar e configurar o Módulo GSM, onde em primeiro lugar, o módulo GSM é verificado se está conectado ou não através do envio do comando 'AT' ao módulo GSM. Se a resposta OK for recebida, significa que está pronto. O sistema continua verificando o módulo até que ele esteja pronto ou até que 'OK' seja recebido. Em seguida, o ECHO é desligado enviando o comando ATE0, caso contrário, o módulo GSM ecoará todos os comandos. Então, finalmente, a disponibilidade da rede é verificada através do 'AT + CPIN?', se o cartão inserido for um cartão SIM e o PIN estiver presente, ele dá a resposta + CPIN: PRONTO. Isso também é verificado repetidamente até que a rede seja encontrada. Isso pode ser claramente entendido pelo Vídeo abaixo.
Verifique todas as funções acima na seção de código abaixo.