ESTUDANDO O MUNDO ARDUINO:E ANTECIPANDO O FUTURO: | ||
GPS | ||
acessar com www.ebanataw.com.br/arduino/expgps.htm |
Este módulo GPS é baseado no u-blox NEO-6M, possui antena cerâmica e
EEPROM integradas, apresenta ótima precisão e sua utilização é muito
simples.
Especificações:
http://blog.eletrogate.com/gps-neo-6m-com-arduino-aprenda-usar/
O Neo-6M é simples e fácil de ser integrado em projetos com Arduino pois ótimas bibliotecas já estão disponíveis online e facilitam bastante as tarefas de conversão e tratamento da string de dados que o módulo fornece ao Arduino. Nesta montagem o módulo GPS Ne0-6M com um Arduino UNO apresenta as coordenadas da localização. e velocidade na tela serial do computador. Uma aplicação bacana é mostrar os dados na tela de um LCD 16×2, ou mesmo gravá-los em um datalogger para fazer análises posteriores. Também vamos dar algumas dicas nessas direções. Introdução – Como funciona o módulo GPS?A sigla GPS é abreviação de Global Positioning System, e pode receber o sinal de dezenas de satélites de posicionamento que ficam orbitando a terra. Conseguindo receber os sinais de pelo menos 4 satélites já suficiente para o módulo calcular a posição onde se encontra. O módulo GPS Neo-6M Para mostrar como integrar GPS ao seu projeto, vamos usar o módulo GPS Neo-6M. Esse módulo é capaz de informar a localização exata , enviando dados referentes a latitude e longitude, data, hora e velocidade de deslocamento. A interface serial do módulo GPS aceita voltagens de até 3,3Volts, não tolerando 5V. Portanto, não aplica sinais de 5V ao módulo, lembre-se de utilizar um conversor de sinais lógicos, como faremos em nosso exemplo. As especificações são:
Para usar o módulo, existe uma conhecida biblioteca chamada TinyGPS. Na verdade, essa biblioteca apenas faz a manipulação dos dados do GPS, evitando que você tenha que manipular as strings enormes que o módulo enviar. Outra boa biblioteca disponível é a GPSneo, que é bem semelhante à anterior. Aspectos de HardwareA montagem em si é bem simples posi o módulo GPS Neo-6M se comunica com Arduino via interface serial. Vamos usar um divisor de tensão simples para converter os sinais TX do Arduino(5V) para 3.3V correspondentes do RX do GPS Neo-6M. A montagem fica conforme abaixo:
Várias montagens disponíveis na internet fazem a ligação direta dos pinos RX/TX, sem a conversão de nível de lógico. Em nossos testes, a conexão direta(sem conversão dos níveis lógicos da serial) também funcionou bem, mas recomendamos usar os níveis indicados pelo fornecedor do módulo. Qualquer teste ligando TX direto em RX é por sua conta e risco. Aspectos de SoftwarePodemos fazer o software de duas formas. A mais simples de todas é simplesmente ler as strings originais do módulo GPS e mostrá-las na tela serial. A segunda forma é usar uma biblioteca para tratar os dados e usar funções pré-definidas para obter apenas as informações que você pŕecisa. O código mais simples é mostrado abaixo:
Para esse primeiro código, você vai observar mais ou menos o seguinte na sua saída serial.
Essas strings são os dados “crus” tal como GPS envia para o Arduino. Para tratar as Strings vamos usar a biblioteca TinyGPS. Fazendo as devidas adaptações nos códigos de exemplo, uma bom código de referência é o que se segue abaixo:
Com o segundo código, você obterá como saída o seguinte conjunto de mensagens:
Oberseve que com as funções gps.f_get_position e gps.satelites nós obtivemos os dados de latitude e longitude e também quantos satélites foram identificados pelo módulo. Outras funções estão disponíveis para acessar as demais informações que o módulo fornece. Sugerimos que você explore os exemplos da biblioteca TinyGPS para conhecer as demais funções que ela disponibiliza. Para entender o significa das strings originais do módulo(lidar com os dados crus pode dar flexibilidade para implementar a sua própria biblioteca ou funções) recomendamos o site gpsinformation(em inglês). Por fim, imagina como ficaria legal integrar um LCD e um datalogger a esse projeto! Aqui no blog também ensinamos a usar esses componentes em qualquer projeto com arduino. Confira os seguintes posts e incorpore um cartão SD e um LCD para visualizar os dados do seu módulo GPS: Considerações finaisLembre-se de verificar as recomendações de seu fornecedor sobre a tensão de ligação do módulo. Se você olhar de perto, verá que os pinos RX e TX estão conectados diretamente ao módulo uBlox, que é o chip GPS em si do módulo Neo 6m. O datasheet é uma ótima referência para conhecer mais dos módulos da uBlox, uma das principais fabricantes de chips GPS do mercado. De acordo com o datasheet o Neo 6M possui tensão de alimentação de 2,7 a 3,3V. O que permite que alguns projetos na internet liguem diretamente em 5V é o fato de o pequeno shield ao qual o módulo uBlox vem integrado possuir um adaptador de tensão. Mas o mesmo não acontece com a interface serial, que se liga direta aos ṕinos do chip uBlox, portanto, cuidado! |
|
NOTA: Este site é mantido pela equipe do engenheiro Roberto Massaru Watanabe e se destina principalmente para adolecentes e estudantes. Pelo caráter pedagógico do site, seu conteúdo pode ser livremente copiado, impresso e distribuido. Só não pode piratear, isto é, copiar e depois divulgar como se fosse de sua autoria.
ET-18\RMW\arduino\expgps.htm em 27/02/2018, atualizado em 28/02/2018 .