Pages: [1] 2 3 ... 5   Go Down
Author Topic: Branchement GPS - Arduino UNO  (Read 7278 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour smiley

Sur lextronic j'ai vu un petit module GPS qui m'a l'air bien sympa, le EM-406. Et j'ai aussi trouvé ce qui permet de le raccorder à l'Arduino.


Mais je m'interroge pour les branchements. Le 5V et le GND je connais.

Mais où se raccorde Tx, Rx et 1PPS ?

Tx et Rx il me semble que c'est les pins 0 et 1, mais c'est automatique ou il faut faire quelque chose niveau code ?

Et 1PPS c'est où/quoi, impossible de trouver...

Merci pour votre aide smiley
« Last Edit: January 21, 2012, 09:59:34 am by arduimat » Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3228
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu branche tx-rx (sur les pin inverse de l'arduino et tu utilises la bibliothèque tinyGps.... et hop (ça doit jouer  smiley-lol)
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4976
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

B
Et 1PPS c'est où/quoi, impossible de trouver...


1 PPS = 1 pulse seconde = 1 impulsion seconde

cette sortie est commune à beaucoup de module GPS, elle permet de synchroniser très precisemment l'heure .
les caractéristiques du front sont pour beaucoup de modules tres cadrées et permettent .
de synchroniser des équipements et/ou d'asservir des BdT sur la precision de la constellation GPS
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu branche tx-rx (sur les pin inverse de l'arduino et tu utilises la bibliothèque tinyGps.... et hop (ça doit jouer  smiley-lol)

Ok donc je branche TX du module GPS sur la Pin 0 (rx) et le RX sur la Pin 1 (tx), merci smiley

Artouste : Et donc le 1 Pulse Per Second, ça doit pouvoir se brancher sur n'importe quelle autre pin du moment que le code précise de laquelle il s'agit je suppose.

Bon beh merci pour vos réponses les amis, je vous tiens au courant lorsque je ferai mumuse avec ce module GPS smiley-mr-green
Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4976
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



Artouste : Et donc le 1 Pulse Per Second, ça doit pouvoir se brancher sur n'importe quelle autre pin du moment que le code précise de laquelle il s'agit je suppose.

Bon beh merci pour vos réponses les amis, je vous tiens au courant lorsque je ferai mumuse avec ce module GPS smiley-mr-green
En utilisation basique avec un arduino, le pin 1PPS peut être "oublié" pour débuter et faire "mumuse"  smiley-mr-green
en utilisation plus poussée, il peut être utilisé pour générer une interruption par exemple

Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon alors j'hésite, j'ai trouvé ce GPS là :

http://www.lextronic.fr/P1400-recepteur-gps-oem-em-406a.html

Et j'ai regardé pour faire la commande, ça fait un total de 55€, ça fait un peu cher pour faire joujou mais bon. Cependant j'ai pas trouvé énormement d'exemples d'utilisation de ce modèle GPS avec l'Arduino, j'espère ça pose pas problème.

Vous connaissez des meilleurs plans que 55 euros peut être ?
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3228
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Cherche celui ci :

SKYLAB SKM53

C'est celui que j'utilise et tu devrais le trouver dans les 20-25 € avec le breakout... et tu fais comme je te l'ai indiqué plus haut. (regarde tout de même la Dsheet)
« Last Edit: November 17, 2011, 05:16:21 pm by Jean-François » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cherche celui ci :

SKYLAB SKM53

C'est celui que j'utilise et tu devrais le trouver dans les 20-25 € avec le breakout... et tu fais comme je te l'ai indiqué plus haut. (regarde tout de même la Dsheet)

Merci mais j'arrive pas à le trouver à la vente, apparemment il ne se vend plus. Et les seuls que je trouve sont aussi cher que le EM.
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'en ai trouvé sur ebay.com en cherchant NMEA TTL DATA Sirf, ça coute 13€ mais je sais pas ce que ça vaut ensuite !

PS : ils sont marqués comme Used sur ebay donc ils sont pas neuf, mais il y a quand même plus d'une centaine de ventes.
« Last Edit: November 18, 2011, 05:06:16 am by arduimat » Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4976
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...Cependant j'ai pas trouvé énormement d'exemples d'utilisation de ce modèle GPS avec l'Arduino, j'espère ça pose pas problème.
bonjour
Sur ce point, il ne faut pas chercher du code dédié à un "module GPS particulier" , La majorité des applis (arduino ou autres)
ne font que récupérer/traiter des sentences au standard NMEA 0183, ce qui au passage garanti une (certaine) interchangeabilité entre "modules de réception" .

si dans les specifs , il est indiqué NMEA output, une grande partie du probleme sera(est déjà) réglée.
si en plus il est spécifié TTL, le probleme est quasi déjà complétement réglé (au moins vu de l’interfaçage direct vers arduino ) 



Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3228
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vraiment rien de compliqué avec ce module, tu branches, tu utilises la lib TinyGps et ça doit marcher.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

J'ai reçu donc mon SKM53, et j'ai fais avec ce code :

Code:
/*
This Sketch will run with the SkyNav SKM53 GPS if.....
 RXD Arduino Pin 3
 TXD Arduino Pin 2
 RST Leave Open ? (Connect to a N/O momentary switch pulled low to reset?)
 NC Leave Open
 GND Ground
 VCC +5
 This is not a great program but it will tell you where you are in the world.
 Make sure you download and save to your Arduino/Libraries folder TinyGPS.h
 and NewSoftSerial.h files.
*/
/* http://www.scribd.com/doc/48759166/SKM53-Communication < That's where I got
the original code, thanks a lot man! He's also the guy I bought the SKM53 from,
which I got in working state (14/03/2011) :) */

#include <TinyGPS.h>
#include <NewSoftSerial.h>

unsigned long fix_age;

NewSoftSerial GPS(2,3);
TinyGPS gps;
void gpsdump(TinyGPS &gps);
bool feedgps();
void getGPS();
long lat, lon;
float LAT, LON;

void setup(){
  GPS.begin(9600);
  Serial.begin(115200);
}

void loop(){
  long lat, lon;
  unsigned long fix_age, time, date, speed, course;
  unsigned long chars;
  unsigned short sentences, failed_checksum;

  // retrieves +/- lat/long in 100000ths of a degree
  gps.get_position(&lat, &lon, &fix_age);

  // time in hh:mm:ss, date in dd/mm/yy
/*gps.get_datetime(&date, &time, &fix_age);
  year = date % 100;
  month = (date / 100) % 100;
  day = date / 10000;
  hour = time / 1000000;
  minute =  (time / 10000) % 100;
  second = (time / 100) % 100;
  Serial.print("Date: ");
  Serial.print(year); Serial.print("/");
  Serial.print(month); Serial.print("/");
  Serial.print(day);
  Serial.print(" :: Time: ");
  Serial.print(hour); Serial.print(":");
  Serial.print(minute); Serial.print(":");
  Serial.println(second);
*/
  getGPS();
  Serial.print("Latitude : ");
  Serial.print(LAT/100000,7);
  Serial.print(" :: Longitude : ");
  Serial.println(LON/100000,7);
}

void getGPS(){
  bool newdata = false;
  unsigned long start = millis();
  // Every 1 seconds we print an update
  while (millis() - start < 1000)
  {
    if (feedgps ()){
      newdata = true;
    }
  }
  if (newdata)
  {
    gpsdump(gps);
  }
}

bool feedgps(){
  while (GPS.available())
  {
    if (gps.encode(GPS.read()))
      return true;
  }
  return 0;
}

void gpsdump(TinyGPS &gps)
{
  //byte month, day, hour, minute, second, hundredths;
  gps.get_position(&lat, &lon);
  LAT = lat;
  LON = lon;
  {
    feedgps(); // If we don't feed the gps during this long routine, we may drop characters and get checksum errors
  }
}

Et toujours 0 en lat et long smiley-sad

J'ai branché RXD sur la pin digital 3 et TXD sur la pin digital 2, 5V et GND, et j'ai téléchargé les bonnes librairies, le code s'upload bien sur l'Arduino, pas d'erreur mais toujours 0 et 0...

J'aimerai bien essayer dehors mais lorsque je branche l'Arduino à une prise électrique dehors, le code ne s'execute pas, la LED "on" de l'Arduino s'allume mais il clignote pas... Pourquoi ?

Merci smiley
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah c'est les Serial.print qui pose problème lorsqu'on branche depuis autre que le PC...

Sinon j'ai remplacé les Serial.print par une LED avec une comparation...

Je suis parti faire un tour en voiture, une dizaine de kilomètres et toujours rien, aucune réception smiley-sad

L'alimentation du GPS est bonne je viens de tester avec le multimètre, ça donne 4.8V.

Une idée sur ce qui pourrait bloquer ?
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 278
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Le truc étonnant, c'est que lorsque je tentede regarder la conso en mA du GPS avec le multimètre, il me donne 8mA ce qui est pas beaucoup...

Il y aurait pas une histoire d'utiliser les prises RST et NC ?

Sur internet les tutos ont l'air simple, en vrai c'est pas pareil smiley-mr-green
« Last Edit: January 21, 2012, 11:04:37 am by arduimat » Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4976
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah c'est les Serial.print qui pose problème lorsqu'on branche depuis autre que le PC...

Sinon j'ai remplacé les Serial.print par une LED avec une comparation...

Je suis parti faire un tour en voiture, une dizaine de kilomètres et toujours rien, aucune réception smiley-sad

L'alimentation du GPS est bonne je viens de tester avec le multimètre, ça donne 4.8V.

Une idée sur ce qui pourrait bloquer ?
ce n'est pas la peine d'aller faire un tour en voiture pour déjà voir si le module communique ou pas  smiley-mr-green
les sentences NMEA sortent toutes les secondes qu"elles soient "FIX" ou pas.
Pas d'erreur/inversion  de connexion entre TX/RX d'un coté et TX/RX de l'autre ? (TX--->RX, RX---->TX)
Logged

Pages: [1] 2 3 ... 5   Go Up
Jump to: