collapse

* Links de Robótica

* Posts Recentes

URGENTE - display de 7 segmentos com backpack por helderjsd
[Hoje às 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[Ontem às 10:20]


Palavras Cruzadas por Njay
[Ontem às 02:24]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


Apresentação por TigPT
[17 de Setembro de 2017, 07:31]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]


Preparar bancada de testes por jm_araujo
[14 de Setembro de 2017, 10:24]


Mitos: mudança da ilumação tradicional p/ iluminação a LEDs? por LVirtual
[14 de Setembro de 2017, 07:46]

Autor Tópico: Arduino + GPS Holux M1000 ou GPSlim 236  (Lida 24421 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Arduino + GPS Holux M1000 ou GPSlim 236
« em: 24 de Julho de 2009, 22:28 »
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,

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,

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:


De seguida liguei o cabo no GPS e liguei-o.
Peguei no manual do GPS, aqui 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):

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:

Citar

 
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:


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!
« Última modificação: 24 de Julho de 2009, 23:31 por tr3s »
Tr3s
Daniel Gonçalves

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + GPS Holux M1000 ou Slim 236
« Responder #1 em: 24 de Julho de 2009, 22:32 »
Se vocês tiverem outros módulos semelhantes e queiram seguir este tutorial, força! Partilhem os resultados, mas ATENÇÃO LEIAM BEM O MANUAL antes de fazerem alguma coisa!
Tr3s
Daniel Gonçalves

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.726
Re:Arduino + GPS Holux M1000 ou Slim 236
« Responder #2 em: 24 de Julho de 2009, 22:34 »
Podias era quando tiveres tempo explicar como fizeste o que fizeste :P

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + GPS Holux M1000 ou Slim 236
« Responder #3 em: 24 de Julho de 2009, 22:47 »
Podias era quando tiveres tempo explicar como fizeste o que fizeste :P

Referes-te à parte do Site? Claro mas isso faz sentido que seja noutro tópico!
Se te referes à parte do processamento dos dados, não coloquei aqui o que fiz por tr3s motivos:
  - Não faz sentido no contexto do tutorial (a imagem é só uma sugestão de utilização, noutro tópico ou em resposta a membros com dúvidas)
  - A minha solução foi orientada ao tipo de mensagem que eu quis usar, outras pessoas podem querer usar outras mensagens e a solução já não se aplicava.
  - Os links que dei têm mais do que informação suficiente para fazerem o mesmo, portanto para quê estragar o prazer de "o" fazer?

E claro, se alguem precisar de ajuda ou não conseguir fazer o que quer, é só perguntar e num espaço de minutos tem a resposta! :D
Tr3s
Daniel Gonçalves

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.627
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #4 em: 24 de Julho de 2009, 22:58 »
excelente trabalho!

gostava de fazer isso, sei quem tem um igual por 45€, vou ver se baixo o preço um bocadinho :P

agora a nível de conhecimentos, é preciso programar mais alguma coisa que não seja o arduino? :S

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #5 em: 24 de Julho de 2009, 23:01 »
excelente trabalho!

gostava de fazer isso, sei quem tem um igual por 45€, vou ver se baixo o preço um bocadinho :P

agora a nível de conhecimentos, é preciso programar mais alguma coisa que não seja o arduino? :S

Para fazer o tutorial, isto é, ler os valores do GPS e envia-los para a consola não precisas de progamar mais nadinha! :D
Tr3s
Daniel Gonçalves

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.627
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #6 em: 24 de Julho de 2009, 23:17 »
mas para saber onde ele anda é nessessário um PC?

ou dá com lcd, sem ser gráfico?

so quero ver as coordenadas e altura.

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #7 em: 24 de Julho de 2009, 23:20 »
Para isso o Arduino faz td, não precisas de programar mais nada, nem do pc. É como já disse, as mensagens dão toda a informaçao necessária e as mensagens são texto normal, numeros e letras! Cada campo separado por virgulas :D

Daqui a nada ja ponho um exemplo no topico.

Edit:
Já recebi algumas mensagens de pessoas a pedirem para eu mostrar como uso o Google! Maps.
Vou deixar aqui um exemplo:


Citar
<!--
  copyright (c) 2009 Google inc.

  You are free to copy and use this sample.
  License can be found here: http://code.google.com/apis/ajaxsearch/faq/#license
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Maps API Sample</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"></script>
    <script type="text/javascript">

    function initialize() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
  
        var bounds = map.getBounds();
        var southWest = bounds.getSouthWest();
        var northEast = bounds.getNorthEast();
        var lngSpan = northEast.lng() - southWest.lng();
        var latSpan = northEast.lat() - southWest.lat();

          var point = new GLatLng(southWest.lat() + latSpan * Math.random(),
                                  southWest.lng() + lngSpan * Math.random());
          map.addOverlay(new GMarker(point));
      }
    }
    

    </script>
  </head>
  <body onload="initialize()" onunload="GUnload()" style="font-family: Arial;border: 0 none;">
    <div id="map_canvas" style="width: 500px; height: 300px"></div>
  </body>
</html>
« Última modificação: 24 de Julho de 2009, 23:48 por tr3s »
Tr3s
Daniel Gonçalves

Offline jagsilva

  • Mini Robot
  • *
  • Mensagens: 125
    • jagsilva
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #8 em: 24 de Julho de 2009, 23:57 »
eu fui um dos que pedi mais detalhaes... mas pareço um burro a olhar para um palacio.

Onde esta alojada esta pagina?
ja a coloquei on-line mudei a api mas nada...

:)
mais umas dicas?

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.627
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #9 em: 25 de Julho de 2009, 00:03 »
parece que valerá a pena tentar  ;D será sensivel o suficiente para um robot poder orientar-se por ele?

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.300
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #10 em: 25 de Julho de 2009, 00:06 »
sendo que é html e javascript, basta abrir o bloco de notas, colar lá o código, gravar em .html  e abrir o ficheiro.. não é preciso alojar..

Offline jagsilva

  • Mini Robot
  • *
  • Mensagens: 125
    • jagsilva
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #11 em: 25 de Julho de 2009, 00:10 »
e as coordenadas do log?

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #12 em: 25 de Julho de 2009, 00:11 »
parece que valerá a pena tentar  ;D será sensivel o suficiente para um robot poder orientar-se por ele?

A sensibilidade é a melhor que possas imaginar, certamente que é melhor que os módulos GPS que se vendem aí para electrónica (Shields e etc)!

JagSilva:
é como o ricardo-reis disse! É so colar no notepad e gravar como HTML. Depois as cordenadas do GPS colocas onde diz "map.setCenter(new GLatLng(37.4419, -122.1419), 13);" e substituis  37.4419 e -122.1419 pelas tuas cordenadas (que tiras do gps e dps fazes a conversão, como ja foi dito aqui no forum e ta nos links que dei!)

Dps o script gera um ponto aleatoriamente na janela ;)
Vai fazendo perguntas ;)
« Última modificação: 25 de Julho de 2009, 00:32 por tr3s »
Tr3s
Daniel Gonçalves

Offline jagsilva

  • Mini Robot
  • *
  • Mensagens: 125
    • jagsilva
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #13 em: 25 de Julho de 2009, 00:51 »
pensei que o codigo era para traçar o percurso com base no que o logger gravou

esse nao disponibilizas?

ou entao ter um formulario em cima para preencher com latitude e longitude e dar-nos a localização...

dá para ajudares a fazer uma das opçoes?
« Última modificação: 25 de Julho de 2009, 00:53 por jagsilva »

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.300
Re:Arduino + GPS Holux M1000 ou GPSlim 236
« Responder #14 em: 25 de Julho de 2009, 00:55 »
faz-se ou tens isso aí à mão, tr3s?