Projeto Arduino GPS 6M Registrando Localização

Projeto Arduino GPS 6M Registrando Localização

Na área da robótica e rastreamento é de grande importância saber a localização de um determinado veículo ou drone, e para isso, vamos utilizar um sistema de datalogger de percurso, conseguindo determinar sua trajetória real e fazermos determinadas análises e conclusões, por meio do Projeto Arduino GPS 6M.

Baseado nisto, desenvolveremos um sistema de registro de posição, a fim de determinar os locais pelos quais um veículo ou dispositivo se locomoveu ao longo de uma trajetória.

Para isto, utilizaremos um datalogger de percurso para receber as posições de um GPS e gravá-las em um cartão de memória, para posterior análise dos pontos no Google My Maps.

Portanto, através desse projeto, você será capaz de:

  1. Criar um datalogger de percurso com GPS;
  2. Utilizar o GPS NEO-6M para monitorar a trajetória percorrida pelo objeto;
  3. Plotar e analisar os dados de posicionamento no Google My Maps.

 

Desenvolvimento do Projeto Arduino GPS 6M Datalogger de Percurso

O projeto consiste em gravar as posições de locomoção de um dispositivo ou automóvel de uma localidade para outra. Assim, o sistema possuirá dois botões. Um será utilizado para iniciar a gravação das posições e o segundo, será utilizado para finalizar as gravações. Além disso, teremos um LED para sinalizar o funcionamento e gravação dos dados do GPS em tempo real.

Logo, a partir do princípio de funcionamento apresentado, foi construído o seguinte circuito, que é apresentado na Figura 1.

Esquemático Projeto Arduino GPS 6M Registrando Localização

Figura 1 – Circuito do Datalogger com GPS NEO-6M

 

Para a construção do circuito, utilizamos a lista de componentes eletrônicos a seguir. Todos os ítens podem ser encontrados na Loja UsinaInfo.

 

Componentes Necessários para o Datalogger de Percurso

De acordo com os componentes e o circuito, discutiremos a seguir, construção da lógica desenvolvida para armazenar as posições do GPS.

 

Desenvolvimento da Lógica de Programação

O GPS é um dispositivo que necessita, inicialmente, se conectar aos satélites a fim de determinar sua posição em sua área de atuação.

Inicialmente, realizamos a inclusão de todas as bibliotecas para o Projeto Arduino GPS 6M. Primeiramente, declaramos as bibliotecas SD.h e SPI.h para o módulo leitor de cartão SD. Em seguida, declaramos as bibliotecas SoftwareSerial.h e TinyGPS para o módulo GPS NEO-6M, conforme apresentado a seguir.

Utilizou-se a biblioteca Software Serial para criar duas portas de comunicação serial, conforme definidas na linha 6. O 4 e 0 3 representam, respectivamente, os pinos Rx e Tx.

Em seguida, foram definidos os objetos GPS e myFile para os módulos. Posteriormente, declaramos as variáveis e definimos nomes para os pinos de conexão dos Botões e LED, conforme apresentado na Figura 2.

Projeto Arduino GPS 6M Registrando Localização

Figura 2 – Circuito do Datalogger de Percurso com Arduino e GPS NEO-6M.

 

Essas configurações são apresentadas no trecho de código a seguir.

Logo após as definições de nomes, o fluxo de execução entrará na função setup e realizará as configurações iniciais.

 

Configurações de Inicialização dos Módulos na Função Setup

Primeiramente, o GPS 6M e a comunicação serial serão inicializados. Em seguida, será realizada a inicialização de comunicação do SD Card, conforme apresentado a seguir.

Caso ocorra alguma falha de comunicação com o Módulo SD Card, o sistema apresentará uma mensagem de erro no monitor serial.

Por fim, na função loop, iniciaremos a apresentação da lógica de funcionamento dos dispositivos e controle completo do sistema.

 

Execução da Lógica Principal do Datalogger de Percurso

Inicialmente, o sistema irá realizar a leitura dos botões de Início e Término, conforme apresentado no código abaixo.

Quando o usuário pressionar o Botão Iniciar, o fluxo de código entrará na condição a seguir e executará as seguintes linhas de código.

Primeiramente, será atribuído 1 à variável controle. Essa variável será utilizada para liberar a gravação dos dados no Módulo SD Card. Em seguida, o arquivo GPS.txt será criado e aberto para escrita.

Posteriormente, escrevemos os nomes Latitude e Longitude a fim de formar as duas colunas dos dados de posição do GPS.

 

Gravação de dados no Cartão de Memória

Agora, de acordo com o código abaixo, o fluxo entrará na condição de gravação dos dados do GPS no módulo.

Após o GPS receber os dados, o sistema irá ligar o LED Vermelho, conforme apresentado na Figura 3. O LED irá sinalizar a coleta e gravação de dados no módulo SD Card.

Sinalização de gravação de dados de posição do objeto

Figura 3 – Sinalização de gravação de dados de posição do objeto.

 

Posteriormente, é realizada a aquisição das posições de latitude e longitude conforme apresentado no código abaixo.

Por fim, de acordo com as linhas de código a seguir, os dados serão escritos no arquivo de texto.

Conforme é possível observar, foi realizada uma leitura e gravação a cada 1 segundo.

Finalmente, após chegar ao local desejado, o usuário deverá apertar o botão de término, para finalizar a gravação dos dados no datalogger de percurso. O código é apresentado a seguir.

Primeiramente, a variável controle será colocada para 0. Desse modo, o sistema irá parar de gravar dados no cartão de memória. Em seguida, o arquivo será fechado e o LED Vermelho será desligado, a fim de informar que o sistema parou de capturar dados do módulo GPS.

Portanto, após esta ação, necessitamos coletar os dados do cartão de memória e apresentá-los em um mapa, para visualizar o percurso realizado.

 

Visualização do Percurso do Usuário no Google My Maps

Após a retirada do cartão e abertura do bloco de texto, encontramos diversos dados de posição de latitude e longitude. Para que não apresentassem diversos pontos ao longo do mapa, realizamos a seleção dos principais pontos com o objetivo de nos auxiliar na apresentação do percurso.

Os pontos são apresentados na Figura 4.

Figura 4 – Pontos de Coordenadas Coletados.

 

Com os dados em mãos, o usuário deverá colocá-los em colunas no Excel, conforme apresentado na Figura 5.

Figura 5 – Coordenadas de Latitude e Longitude no Excel.

Em seguida, salve o arquivo em .csv e importe o arquivo no Google My Maps. Para isto, acesse o site do Google My Maps e realize os seguintes passos.

 

Criando um Mapa de Pontos do Datalogger de Percurso no Google My Maps

Primeiramente, crie um novo mapa, conforme apresentado na Figura 6.

Tela de criação de mapa no google my maps

Figura 6 – Tela de criação de Mapa no Google My Maps.

Logo após, clique na opção Importar e selecione o arquivo do Excel com as coordenadas salvas.

tela para importar as coordenadas

Figura 7 – Tela para importar as coordenadas no Google My Maps.

Em seguida, selecione todas as coordenadas e clique no botão para criação de rotas, conforme sinalizado pelo quadrado vermelho na Figura 8.

percurso no mapa do datalogger de percurso

Figura 8 – Impressão de Pontos no Google My Maps.

Desse modo, será criada uma rota através dos pontos selecionados. Portanto, a partir do mapa poderemos avaliar todo o percurso realizado pelo objeto.

 

Conclusão do Datalogger de Percurso

O Projeto Arduino GPS 6M apresentado permite-nos avaliar o percurso de qualquer objeto de interesse que esteja em movimento. Através desse sistema, podemos aplicá-los na área de segurança e determinar com precisão, os locais que um veículo se movimentou em um intervalo de tempo.

Além de fornecer as coordenadas, o datalogger de percurso poderá oferecer diversas grandezas. Entre elas, destacamos a velocidade. Através dela, você poderá implementar uma nova funcionalidade e monitorar a velocidade do dispositivo em cada ponto do mapa.

Portanto, desafiamos você a criar esta nova funcionalidade. Em caso de dúvidas, escreva nos comentários.

Conheça toda Linha Arduino no Site da UsinaInfo.

 

Categorias
ArduinoProjetos

Técnico em Automação Industrial e graduando do curso de Tecnologia em Mecatrônica Industrial pelo Instituto Federal do Ceará. E, atualmente, trabalha como desenvolvedor de projetos, sistemas inteligentes e criador de conteúdo por meio da empresa Silícios Lab para o seu canal e para o blog da UsinaInfo. Nas horas livres, desenvolve alguns projetos com Microcontroladores e Arduino.
18 Número de Comentários
  • christian
    29 novembro 2019 at 03:44
    Deixe seu Comentário

    Boa noite, preciso fazer o mesmo projeto mas, sem usar o cartão de memoria tem uma ideia como proceder?

    • Matheus Gebert Straub
      3 dezembro 2019 at 10:56
      Deixe seu Comentário

      Bom Dia Christian! Normalmente utiliza-se o cartão SD para ter-se um registro em tempo real para visualizações posteriores, porém caso queira eliminar este dispositivo, vale observar qual o outro método irá desenvolver para a obtenção dos dados. Caso esteja sempre conectado a um computador existe a possibilidade de utilizar um Arduino Leonardo, por exemplo, que funciona como um teclado quando em documentos de texto, caso queira independência ao projeto porém pode agregar ao mesmo um módulo GSM que envia através de um chip mensagens SMS ou pode também conectar-se a rede 3G para envio dos dados.

  • Sourient
    23 janeiro 2020 at 19:33
    Deixe seu Comentário

    Olá pessoal da Usinainfo!
    Obrigado pelos anos de informação e oportunidade de compras para nós makers.
    Quanto a este artigo, show demais. Diego é um fera no assunto!
    Grande conhecimento e grande altruísmo no que se refere a compartilhar e ensinar aos novatos.
    Parabéns Diego! Parabéns Usinainfo!!!

  • Sandro Schmitt
    26 junho 2020 at 11:38
    Deixe seu Comentário

    Excelente Projeto
    Como resolver a questão de ser portátil e funcione por 12, 15 horas?

    • Matheus Gebert Straub
      30 junho 2020 at 15:50
      Deixe seu Comentário

      Boa Tarde Sandro! A questão de tornar portátil, pode ser solucionada integrado ao seu projeto um sistema de alimentação via baterias recarregáveis como a 18650, por exemplo, porém o tempo de uso e demais detalhes vão depender da quantia de baterias ou até mesmo o modelo da bateria utilizada e suas especificações.

  • Fabricio
    1 setembro 2020 at 19:15
    Deixe seu Comentário

    Eu só vou poder consultar esses dados quando eu estiver de posse do sistema? Um ex: Se caso meu veiculo for roubado algo do tipo vou poder saber onde ele está?

    • Matheus Gebert Straub
      8 outubro 2020 at 09:25
      Deixe seu Comentário

      Bom Dia Fabricio! O projeto não possui nenhuma conexão com a rede de internet ou outro sistema que possa enviar a localização em tempo real, porém caso este seja o que deseja, uma opção é realizar a inclusão de um Módulo GSM, por exemplo, porém vale ressaltar que ele precisará do sinal da operadora para funcionar.

  • Rafael
    3 setembro 2020 at 08:32
    Deixe seu Comentário

    Bom Dia! Projeto muito bom! Preciso coletar dados de posição a cada 30cm (para fazer a medição de pontos numa sala) saberia dizer se este módulo de gps consegue gravar neste nível de precisão? Mesmo que não faça um desenho no googleMaps, mas consigo fazer um gráfico em 2d do local. Poderia me ajudar?
    Obrigado,
    Rafael

    • Matheus Gebert Straub
      8 outubro 2020 at 16:11
      Deixe seu Comentário

      Boa Tarde Rafael! Infelizmente acredito que este módulo não possua tal precisão para ambientes menores, assim como necessita.

  • Luísa
    18 novembro 2020 at 00:07
    Deixe seu Comentário

    Oi! Estou desenvolvendo um projeto do qual o objetivo é monitorar e rastrear a localização de pessoas e que os dados sejam enviados para o celular num aplicativo próprio desenvolvido posteriormente. Com algumas pesquisas, vi que pra isso é preciso de conexão regular com a internet e um chip de operadora implantado. Saberia me dizer qual módulo seria melhor para fazer isso funcionar? E se tiver mais algumas dicas, sou nova neste meio de programação… Agradeço!

  • José
    29 novembro 2020 at 14:33
    Deixe seu Comentário

    Oi! É possível modificar essa programação para uma ESP32? Como a programação ficaria?

    • Matheus Gebert Straub
      3 março 2021 at 11:53
      Deixe seu Comentário

      Bom Dia! É possível sim, caso opte por utilizar apenas o ESP32 sem comunicação WiFi, é possível utilizar o mesmo código verificando apenas as pinagens e a conexão, além das configurações necessárias na IDE, porém caso opte por utilizar a comunicação WiFi, recomendo verificar a artigo a seguir: https://www.usinainfo.com.br/blog/esp32-wifi-comunicacao-com-a-internet/ neste você encontra os comandos para comunicação sem fio e também maiores detalhes sobre a mesma.

  • Flavio DL
    4 fevereiro 2021 at 16:36
    Deixe seu Comentário

    Olá,

    Este módulo permite observar a altitude no local onde estou? Como poderia ser o código?

  • Flavio DL
    5 outubro 2021 at 15:14
    Deixe seu Comentário

    Então,
    Meu interesse, na verdade, seria explorar mais as possibilidades dos módulos de GPS. Ir além da coordenada simples e utilizar outras informações, como velocidade e/ou altitude. Existe alguma linha de comando que possa ser utilizada para fornecer estas e outras informações?

  • Verizon Connect
    18 fevereiro 2022 at 08:40
    Deixe seu Comentário

    Parabéns pelo projeto! É incrível o que a tecnologia pode fazer hoje dia. As aplicações de localização são sem dúvida o futuro.

    • Equipe Usinainfo
      24 março 2022 at 16:57
      Deixe seu Comentário

      Muito obrigado pela resposta, ficamos felizes em ajudar!

    Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados