***************************************************************************************************************************************************
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
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.
onde eu compro esse modulo?
SERIA MAIS UTIL SE VOCE COLOCASSE A POSSIÇAO DO GPS NO GOOGLE MAPS.
FICARIA EXCELENTE
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
Obrigado pessoal, por mais essa novidade e de quebra um exemplo já pronto !
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 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)