Branchement GPS - Arduino UNO

Est ce que ce genre de soudures t'iraient ?

celui-ci a pas le bon écartement entre les pins, je crois que le SKM53 j'ai lu dans le datasheet que c'est 2mm d'écartement.

Le pas de 2mm est une nouvelle norme vieille de déjà plus de 10 ans.
Pour une fois qu'on utilise des unités internationales on ne va pas critiquer.

Les connecteurs sont en vente un peu partout, ils existent dans la série HE-10.
Par exemple chez Gotronic :
http://www.gotronic.fr/cat-connecteurs-he10-et-he14-2-00-mm-1300.htm

Ouais Jean-François sur ta première photo, c'est ce qu'il me faudrait, je vois d'ailleurs que tu as le même petit adaptateur avec ton SKM :slight_smile:

Et oui pour la deuxième photo, ça a l'air plutôt nickel :smiley:

68tjrs, merci pour le lien, je regarde :wink:

et si tu n'a pas deux mains gauches

@Artouste :
Attention il y a sur ce forum des gens normaux qui utilisent la seule bonne main qui soit : la gauche :grin:
Alors même si nous sommes une minorité, du politiquement correct s'il te plait :grin:

PS: même pas possible de parler de 2 mains droites parce que par la force des chose, opprimés comme nous le sommes, nous sommes vachement plus habiles de notre main droite que vous les droitiers de votre main gauche .

68tjs:

et si tu n'a pas deux mains gauches

@Artouste :
Attention il y a sur ce forum des gens normaux qui utilisent la seule bonne main qui soit : la gauche :grin:
Alors même si nous sommes une minorité, du politiquement correct s'il te plait :grin:

:grin: :grin:
Ca me rappelle une phrase d'un célèbre humoriste un peu trop vite disparu : :roll_eyes:
"Je suis un gaucher contrariant.
C'est plus fort que moi. Il faut que j'emmerde les droitiers." :smiley:

pour faire discrètement un retour sérieux sur le sujet : 8)
Du connecteur F au pas de 2 chez Lextronic
http://www.lextronic.fr/P1024-jeu-de-2-connecteurs-femelles-simples-pour-ci.html

ou plus cher pour moins de contacts :grin:
http://www.lextronic.fr/P1286-jeu-de-2-connecteurs-femelles-simples-1x10-pour-ci.html

68tjs:

et si tu n'a pas deux mains gauches

@Artouste :
Attention il y a sur ce forum des gens normaux qui utilisent la seule bonne main qui soit : la gauche :grin:

Et ça correspond aussi au pseudo, hein :grin:

Ou alors je suis complètement à côté... ^^

Bonsoir,

Jean François, comment as-tu réalisé ce genre de soudure, comme sur ta photo ?

Et sinon, le signal GPS fourni par ce module est-il bien précis ?

bopnrgi:
Bonsoir,

Jean François, comment as-tu réalisé ce genre de soudure, comme sur ta photo ?

Et sinon, le signal GPS fourni par ce module est-il bien précis ?

Je laisse JF répondre pour la première question.

Pour la seconde, la précision est de 3 mètres si ce n'est tout pile.
Je l'ai pris ce matin pour aller au boulot, j'ai fais quelques photos le long du trajet et testé les coordonnées une fois au travail sur Google Maps et ça correspond super bien (à 3 mètres près).

En intérieur comme maintenant, ça peut varier, déjà la précision s'affine au fur et à mesure que les minutes passent. Donc parfois une 30ène de mètres et parfois moins de 5 mètres.

C'est plutôt efficace, je suis bluffé par un truc à 25 euros au détail, avoir une telle qualité, il supporte les fortes accelerations, l'altitude correspond bien aussi, vraiment sympa :slight_smile:

bopnrgi:
Jean François, comment as-tu réalisé ce genre de soudure, comme sur ta photo ?

Avec ma main droite..... et du flux à souder et un Weller.

bopnrgi:
Et sinon, le signal GPS fourni par ce module est-il bien précis ?

En le mettant sur le bord de la fenêtre du balcon, il me localise à l'autre bout du balcon... 2,5 mètres plus loin.

bopnrgi:
C'est plutôt efficace, je suis bluffé par un truc à 25 euros au détail, avoir une telle qualité, il supporte les fortes accelerations, l'altitude correspond bien aussi, vraiment sympa :slight_smile:

C'était pas un tuyaux percé alors ? XD

Mince, je viens tout juste de m'acheter une insoleuse et une graveuse... :frowning:
Tant pis j'aurai ce matériel !!

C'est très bon à savoir pour 25€, merci pour tous ces renseignements. Avec GPS on peut difficilement descendre en dessous cette précision de toute facon, après faut de la correction EGNOS ou du GALILEO !!!

Et ça correspond aussi au pseudo, hein smiley-mr-green

Ben oui, j'aime pas tanguer d'un coté à l'autre alors je prend le vent toujours du même coté.

Jean-François:
C'était pas un tuyaux percé alors ? XD

Non, les yeux fermés j'ai foncé :smiley:

68tjs, à prendre le vent toujours du même côté, tu risque de dériver... :slight_smile:

Sinon j'ai trouvé deux bons petits cables pour brancher le GPS facilemment !

Trouvé dans une souris à boule, PS/2.

Donc pour le moment et pour mes tests, ils me seront bien utiles.

arduimat:
Pour la seconde, la précision est de 3 mètres si ce n'est tout pile.
Je l'ai pris ce matin pour aller au boulot, j'ai fais quelques photos le long du trajet et testé les coordonnées une fois au travail sur Google Maps et ça correspond super bien (à 3 mètres près).

En intérieur comme maintenant, ça peut varier, déjà la précision s'affine au fur et à mesure que les minutes passent. Donc parfois une 30ène de mètres et parfois moins de 5 mètres.

Hors arduino
un soft sympa pour voir ce que donne (entre autre) une "déviation map"
même si il est publié/fourni par un "constructeur" , il accepte le NMEA et en plus c'est Suisse :grin:
http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.html
exemple de rendu

C'est un tireur d'élite qui vise un brocolis ?

bopnrgi:
Avec GPS on peut difficilement descendre en dessous cette précision de toute facon, après faut de la correction EGNOS ou du GALILEO !!!

EGNOS oui ici en europe , d'ailleurs le module le supporte déjà
cf DS = WAAS/EGNOS/MSAS/GAGAN support

pour Galileo, il va encore falloir attendre "que ça cause bien dans le poste" :grin: , et avant d'avoir du module OEM exploitable en "amateur" ... 8)

arduimat:
C'est un tireur d'élite qui vise un brocolis ?

Où ... voir l'inverse :grin:

bopnrgi:
Mince, je viens tout juste de m'acheter une insoleuse et une graveuse... :frowning:
Tant pis j'aurai ce matériel !!

Si c'était du circuit imprimé pour lequel tu me posais la question, c'est imprimante laser, solution d'acide chlorhydrique+eau oxygénée.
le typon est fait avec totochop .... oui,oui, je sais , il y a plus simple pour faire ça XD

Oui c'est exactement ca !
Mais alors là je comprends pas ta technique, je vais faire des recherches sur internet et revenir vers toi si je trouve pas tout, je veux pas trop te déranger...

Pas de soucis. :wink:

arduimat:
Je teste le code donné en exemple avec TinyGPS :

#include <NewSoftSerial.h>

#include <TinyGPS.h>

/* This sample code demonstrates the normal use of a TinyGPS object.
  It requires the use of NewSoftSerial, and assumes that you have a
  4800-baud serial GPS device hooked up on pins 2(rx) and 3(tx).
*/

TinyGPS gps;
NewSoftSerial nss(2, 3);

void gpsdump(TinyGPS &gps);
bool feedgps();
void printFloat(double f, int digits = 2);

void setup()
{
 Serial.begin(115200);
 nss.begin(4800);
 
 Serial.print("Testing TinyGPS library v. "); Serial.println(TinyGPS::library_version());
 Serial.println("by Mikal Hart");
 Serial.println();
 Serial.print("Sizeof(gpsobject) = "); Serial.println(sizeof(TinyGPS));
 Serial.println();
}

void loop()
{
 bool newdata = false;
 unsigned long start = millis();

// Every 5 seconds we print an update
 while (millis() - start < 5000)
 {
   if (feedgps())
     newdata = true;
 }
 
 if (newdata)
 {
   Serial.println("Acquired Data");
   Serial.println("-------------");
   gpsdump(gps);
   Serial.println("-------------");
   Serial.println();
 }
}

void printFloat(double number, int digits)
{
 // Handle negative numbers
 if (number < 0.0)
 {
    Serial.print('-');
    number = -number;
 }

// Round correctly so that print(1.999, 2) prints as "2.00"
 double rounding = 0.5;
 for (uint8_t i=0; i<digits; ++i)
   rounding /= 10.0;
 
 number += rounding;

// Extract the integer part of the number and print it
 unsigned long int_part = (unsigned long)number;
 double remainder = number - (double)int_part;
 Serial.print(int_part);

// Print the decimal point, but only if there are digits beyond
 if (digits > 0)
   Serial.print(".");

// Extract digits from the remainder one at a time
 while (digits-- > 0)
 {
   remainder *= 10.0;
   int toPrint = int(remainder);
   Serial.print(toPrint);
   remainder -= toPrint;
 }
}

void gpsdump(TinyGPS &gps)
{
 long lat, lon;
 float flat, flon;
 unsigned long age, date, time, chars;
 int year;
 byte month, day, hour, minute, second, hundredths;
 unsigned short sentences, failed;

gps.get_position(&lat, &lon, &age);
 Serial.print("Lat/Long(10^-5 deg): "); Serial.print(lat); Serial.print(", "); Serial.print(lon);
 Serial.print(" Fix age: "); Serial.print(age); Serial.println("ms.");
 
 feedgps(); // If we don't feed the gps during this long routine, we may drop characters and get checksum errors

gps.f_get_position(&flat, &flon, &age);
 Serial.print("Lat/Long(float): "); printFloat(flat, 5); Serial.print(", "); printFloat(flon, 5);
 Serial.print(" Fix age: "); Serial.print(age); Serial.println("ms.");

feedgps();

gps.get_datetime(&date, &time, &age);
 Serial.print("Date(ddmmyy): "); Serial.print(date); Serial.print(" Time(hhmmsscc): "); Serial.print(time);
 Serial.print(" Fix age: "); Serial.print(age); Serial.println("ms.");

feedgps();

gps.crack_datetime(&year, &month, &day, &hour, &minute, &second, &hundredths, &age);
 Serial.print("Date: "); Serial.print(static_cast(month)); Serial.print("/"); Serial.print(static_cast(day)); Serial.print("/"); Serial.print(year);
 Serial.print("  Time: "); Serial.print(static_cast(hour)); Serial.print(":"); Serial.print(static_cast(minute)); Serial.print(":"); Serial.print(static_cast(second)); Serial.print("."); Serial.print(static_cast(hundredths));
 Serial.print("  Fix age: ");  Serial.print(age); Serial.println("ms.");
 
 feedgps();

Serial.print("Alt(cm): "); Serial.print(gps.altitude()); Serial.print(" Course(10^-2 deg): "); Serial.print(gps.course()); Serial.print(" Speed(10^-2 knots): "); Serial.println(gps.speed());
 Serial.print("Alt(float): "); printFloat(gps.f_altitude()); Serial.print(" Course(float): "); printFloat(gps.f_course()); Serial.println();
 Serial.print("Speed(knots): "); printFloat(gps.f_speed_knots()); Serial.print(" (mph): ");  printFloat(gps.f_speed_mph());
 Serial.print(" (mps): "); printFloat(gps.f_speed_mps()); Serial.print(" (kmph): "); printFloat(gps.f_speed_kmph()); Serial.println();

feedgps();

gps.stats(&chars, &sentences, &failed);
 Serial.print("Stats: characters: "); Serial.print(chars); Serial.print(" sentences: "); Serial.print(sentences); Serial.print(" failed checksum: "); Serial.println(failed);
}
 
bool feedgps()
{
 while (nss.available())
 {
   if (gps.encode(nss.read()))
     return true;
 }
 return false;
}




Il m'affiche :



> Testing TinyGPS library v. 10
> by Mikal Hart
> 
> Sizeof(gpsobject) = 103



Mais comme apparement rien d'autre arrive, il n'affiche rien d'autre... 

Déjà il est bien alimenté, la tension sur les pins VCC et GND est bien de 4.8V.

Et pour les pins TXD et RXD, je sais pas quoi tester mais j'ai déjà essayé à l'endroit, à l'envers... et toujours rien.

Sur le GPS il y aussi une prise NC et RST, il y a peut être quelquechose à y faire d'abord.

Et ca envoi qqchose même si le GPS ne capte pas ?

Juste une petite question, moi lorsque je test ce ode, cela m'affiche ceci au moment de la compilation : Error: garbage at end of line
Cela pourrais être du a quoi ?

Edit : Problème réglé, j'avais laisse l'ancienne bibliothèque "SoftwareSerial" avec la nouvelle et ca faisait pas bon ménage :sweat_smile: