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
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??
Comentário de Nilton em 19 abril 2013 às 19:45 o meu Skylab SKM53 comprei pelo ebay
custou uns 27 dollar com frete free
e fiz algumas descoberta sem o uso de bibliotecas e data, vel e curso funcionaram
Porem... A atualização da vel. é mt lerda num servindo para meus propositos.
a minha ideia a principio era por um modulo no pc.. google maps ou um programa expecifico.
mais..pouco consegui.
Comentário de Iogo Soares em 19 abril 2013 às 17:44 onde eu compro esse modulo?
Comentário de RAFAEL RABELO em 18 abril 2013 às 0:41 SERIA MAIS UTIL SE VOCE COLOCASSE A POSSIÇAO DO GPS NO GOOGLE MAPS.
FICARIA EXCELENTE
Comentário de Nilton em 9 março 2013 às 2:17 Montei um usando o modulo Skylab SKM53
Porém, a biblioteca não mostra a data, velocidade nem o curso.
Alguém poderia me ajudar???
Nilton
Comentário de Marcio Torres em 6 agosto 2012 às 15:03 Obrigado pessoal, por mais essa novidade e de quebra um exemplo já pronto !
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
Por: R$ 29,00
Ou em até 6x de
R$ 5,18
Por: R$ 150,00
Ou em até 18x de
R$ 10,00
Por: R$ 195,00
Ou em até 18x de
R$ 13,00
(ADS1102C) - 100MHz - 2 Canais
Por: R$ 1920,00
Ou em até 18x de
R$ 127,96
© 2013 Criado por Marcelo Rodrigues.
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)