Tutorial: como utilizar o GPS Shield com Arduino

 

***************************************************************************************************************************************************

ATENÇÃO: ESTE TUTORIAL FOI ATUALIZADO, VOCÊ PODE ACESSÁ-LO CLICANDO AQUI.

***************************************************************************************************************************************************

 

Neste tutorial vamos mostrar como utilizar o GPS Shield com Arduino. Com este shield você pode ver seu percurso e depois ver em um visualizador de mapas (gps visualizer, google maps, por exemplo). Este GPS funciona apenas em lugares abertos.

Ao tirar da embalagem, solde os componentes. Você pode saber mais clicando aqui!

 

Depois, conecte o shield no Arduino:

No Shield contém uma chave liga/desliga (1), uma chave de Dline/Uart(2) e um botão RESET (4).

Primeiro verifique se o Shield está desligado (chave 1 em OFF). Agora, mude a chave (2) para DLINE:

 

Agora, baixe a biblioteca TinyGPS. Extraia para a pasta "libraries" localizada dentro da pasta da IDE do Arduino.

Abra a IDE do Arduino e passe a seguinte programação:

 

#include <SoftwareSerial.h>
#include <TinyGPS.h>

TinyGPS gps;
SoftwareSerial serialgps(2,3);
int year;
byte month, day, hour, minute, second, hundredths;
unsigned long chars;
unsigned short sentences, failed_checksum;

void setup()
{

Serial.begin(115200);
serialgps.begin(4800);
Serial.println("");
Serial.println("GPS Shield QuickStart Example Sketch v12");
Serial.println(" ...waiting for lock... ");
Serial.println("");
}

void loop()
{
while(serialgps.available())
{
int c = serialgps.read();
if(gps.encode(c))
{
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);
Serial.print("Lat/Long: ");
Serial.print(latitude,5);
Serial.print(", ");
Serial.println(longitude,5);
gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/");
Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
Serial.print(" Time: "); Serial.print(hour, DEC); Serial.print(":");
Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC);
Serial.print("."); Serial.println(hundredths, DEC);
Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());
Serial.print("Course (degrees): "); Serial.println(gps.f_course());
Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
Serial.print("Satellites: "); Serial.println(gps.satellites());
Serial.println();
gps.stats(&chars, &sentences, &failed_checksum);
}
}
}

 

Com essa programação o Arduino pegará os dados do GPS e mostrará no Serial Monitor.

Conecte a placa Arduino no seu PC. Selecione a versão da sua placa Arduino (UNO, Duemilanove, etc) e a porta (COMx, ttyUSBx, ttyACMx, etc) e clique em UPLOAD.

Agora abra o Serial Monitor e você verá os dados como mostra a figura abaixo:

 

A latitude e longitude estão negativos por causa da localização em que o tutorial foi feito. As referências adotadas é a linha do Equador e o Meridiano de Greenwich. Jogando estes dados no google maps, por exemplo, podemos ver exatamente onde estamos.

 

E é isso! Esperamos que tenha gostado! Caso tiver dúvidas sobre o tutorial, poste aqui mesmo neste blog! Para sugestões de tutoriais, clique aqui! E para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!

 

Referências:

http://www.labdegaragem.org/loja/index.php/31-shields/kit-gps-shiel...

https://www.sparkfun.com/products/10709

http://www.sparkfun.com/tutorials/184

http://www.sparkfun.com/tutorials/173

http://arduiniana.org/libraries/tinygps/

Exibições: 29714

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de pedro em 5 maio 2016 às 18:58

ajuda programa shield arduino V1r3 cartao SD‏

Boa Noite,
tenho um gps shield v1r3, não consigo gravar nada no mini cartão SD scandisk ultra 8gb micro, tenho feito de todas as maneiras, será que não há nenhum programa que me possam ajudar, ou alguma dica diferente,
o que eu tenho está aqui neste endereço,

 

Muitíssimo Obrigados pela ajuda,

 

espero por vossas noticias,

 

Os meus Cumprimentos,

Pedro

Comentário de Leonardo S Silveira em 14 julho 2015 às 17:07

esse gps marca distancia percorrida acumulando? tipo um odometro de carro?

Comentário de Clevonildo Santos em 11 novembro 2014 às 14:28

boa tarde, tem como eu ficar monitorando em tempo real em um mapa de uma determinada regiao retirado do googlemaps, algumas maquinas trabalhando e visualizar a sua posição naquela regiao?

Comentário de jhonatan palmer m silva em 5 setembro 2013 às 13:45

Pessoal, eu tenho o arduino uno e tenho o GPS Shield, nao sei muito bem como que programa ele, nao intendo muuito ainda, o que eu preciso era pegar a localizacao do GPS e mostrar ele em algum sistema, alguem sabe como devo proceder para fazer isto?

Vlw galeraa!

Comentário de Sydney Vianna Pinto Júnior em 1 setembro 2013 às 18:06

Será que dá pra fazer um esquema que usando esse GPS Shield a gente consegue fazer um aeromodelo seguir um determinado rumo, ou ir para alguma localização específica?  Imagina que loco seria?

Comentário de Tiago de Almeida em 10 agosto 2013 às 12:35

Sensacional!!!!!!

Parabéns, Funcionou perfeitamente!!!!

Comentário de Tiago Gomes Feitosa em 8 maio 2013 às 17:48

*tanta certeza

Comentário de Tiago Gomes Feitosa em 8 maio 2013 às 17:47

O course seria exatamente o que? Preciso pegar um ângulo, por exemplo 0º = norte, para uma aplicação, mas já não tenho tanta que o NMEA RMC me retorne esse tipo de informação!

Comentário de Nilton em 23 abril 2013 às 0:26

Pelo q vi o problema esta na biblioteca q fica 'carregando..'  ela se perde algum bug seilaa ou apenas alguns erros de leitura do gps q ela não consegue contornar.

O meu vez por outra travava com esta tinygps por minutos.

Com um rascunho sem usar biblioteca nunca travava.

Comentário de Alberto Pena em 22 abril 2013 às 23:51

no site do sprkfun o pessoal ta reclamando q fica sempre carregando e não conseguem usar... alguem ai comprou e funcionou direitinho??

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2017   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço