Boas a todos!
Desta vez venho mostrar como é que ponho o meu Arduino a saber onde está! É verdade o meu Arduino agora sabe onde anda ehhehe :D
"Como?"
É tão simples que vocês vao ficar todos :O boquiabertos, eheheh.
Eu tenho um GPS Holux M1000,
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi00.twenga.com%2Fp%2F00%2F98%2F200098vb.png&hash=eb6933afb354e7cd32e3a3bcc3204ba77aec0fe2)
Este GPS externo comunica por Bluetooth com tudo que nós quisermos, Telemovel, PC, Rádio, etc. Se pensam "ah é um GPS externo Nluetooth vamos precisar de um módulo Bluetooth para o Arduino", não podiam estar mais enganados. Este amigo tem ali uma pequena USB right? Pois é, tudo o que ele envia por Seral no bluetooth também mete ali ;) 4 pinos (USB) Vcc, RX, TX, GND! Não é só este GPS que faz isto, por exepriência própria sei que o seu antecessor Holux GPSlim 236,
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.navegadoresgps.com%2Fredim-imagen.php%3Fimg%3Dholuxgr236.jpg%26amp%3Btam%3D3&hash=a9fca5ed782e48b3a6b2158d07e94bf6f208db0a)
Também o faz. haverá outros que fazem o mesmo mas não tenho experiência com mais nenhum.
Vantagens de usar estes GPS no meu Arduino:
- Uma vez que ja tinha o Holux M1000, para quê gastar 50 euros ou mais num módulo para ligar no Arduino?
- Ainda teria de fazer a placa, adicionar componentes, etc.
Bem este já faz tudo, ja tem tudo calibrado, funciona bem, tem uma sensibilidade tão boa que apanho sinal dentro de casa, é rápido a adquirir satélites, posso usá-lo com qualquer coisa (no telemovel da imaenso jeito) e só custa 43 euros! Sim na www.navegadoresgps.com (Espanha) custa 43 euros e enviam de um dia para ao outro! Eu só paguei 3 euros de portes numa promoção (o normal é 6 ou 7 euros).
Continuando...
Peguei num cabo mini-usb que tinha para ali abandonado e meti-lhe os 4 fios à solta!
No meu cabo o preto é o GND e o verde é o TX,. Soldei-lhe dois pinos para ser mais fácil de ligar na breadboard. O resultado foi este:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi240.photobucket.com%2Falbums%2Fff159%2Fsuper-mascarada%2FSNC00136.jpg&hash=b2a80c38649da13eb449f7bd360e682844855fb8)
De seguida liguei o cabo no GPS e liguei-o.
Peguei no manual do GPS, aqui (http://hsuuk.powweb.com/image/Holux/M1000/M1000%20User%60s%20Manual.pdf) li tudo para perceber que sinais o GPS me dava e cheguei à pagina 11 onde diz la as funções dos pinos da USB. Perfeito o GPS tem TXD e o RXD entre os 3v3 e os 5V (Voltage Level)!
Liguei o cabo à breadboard, o pino preto vai a GND e o TX directamente para o RX do Arduino (pino 0):
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi240.photobucket.com%2Falbums%2Fff159%2Fsuper-mascarada%2Fgpslig.jpg&hash=d9f0ca18bec4d430c1a79c2cf75602b54eabdad4)
Ainda no manual li que o BaudRate da ligação é de 38400 bps.
No Arduino IDE fiz então um simples programa de teste que lia os dados do GPS e mostrava-os na consola:
byte incomingByte = 0;
void setup() {
Serial.begin(38400);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
Serial.print(incomingByte);
}
}
Agora façam o upload deste código para o vosso Arduino e liguem a consola, Não se esqueçam de seleccionar o Baudrate 38400 na dropdown list!
Pronto, se seguiram tudo com rigor até agora, têm o vosso Arduino a enviar os dados todos do GPS (Mensagens NMEA) para a consola.
Nestas mensagens conseguem extrair tudo o que quiserem, posiçao (Latitude e Longitude duh), horas, data, orientação, velocidade, altitude, etc, há mesmo muita niformação nestas mensagens!
Para mais informações sobre as mensagens NMEA visitem estes links:
http://aprs.gids.nl/nmea/#rmc
http://www.codepedia.com/1/The+GPRMC+Sentence
Com um pouco mais de código, algum conhecimento de javaScript e/ou Ajax e consultando a API do Google Maps podem fazer algo como o que eu fiz:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi240.photobucket.com%2Falbums%2Fff159%2Fsuper-mascarada%2Fmapsgoogle.jpg&hash=6e4934ccded24ba43a6ba6dd415d32bbccbaacb1)
Fiz um log com o Arduino onde gravava a minha posição de minuto a minuto numa EEPROM, desde o trabalho até casa. Quando cheguei a casa descarreguei tudo para o computador que abriu um site que criei usando a API do Google Maps e onde me mostra o percurso que fiz, as horas a que passei em cada ponto e a velocidade a que ia nesse momento!
API Google Maps: http://code.google.com/apis/maps/documentation/introduction.html
Espero que gostem e alguma dúvida é só perguntar!
Abraços,
Daniel Gonçalves, Tr3s.
P.S.: Pessoalemente, a mensagem que uso para fazer tudo o que preciso é a $GPRMC, dá praticamente tudo o que se quer!