***************************************************************************************************************************************************
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
Comentar
Muitíssimo Obrigados pela ajuda,
espero por vossas noticias,
Os meus Cumprimentos,
Pedro
esse gps marca distancia percorrida acumulando? tipo um odometro de carro?
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?
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!
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?
Sensacional!!!!!!
Parabéns, Funcionou perfeitamente!!!!
*tanta certeza
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!
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.
no site do sprkfun o pessoal ta reclamando q fica sempre carregando e não conseguem usar... alguem ai comprou e funcionou direitinho??
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2023 Criado por Marcelo Rodrigues.
Ativado por
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)