0
Offline
Newbie
Karma: 0
Posts: 13
Arduino rocks
|
 |
« Reply #45 on: January 23, 2012, 04:19:19 pm » |
Mince, je viens tout juste de m'acheter une insoleuse et une graveuse... 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 !!!
|
|
|
|
|
Logged
|
|
|
|
|
France S-O ou exil en IDF
Offline
Edison Member
Karma: 12
Posts: 1078
|
 |
« Reply #46 on: January 23, 2012, 04:19:45 pm » |
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é.
|
|
|
|
« Last Edit: January 23, 2012, 04:27:04 pm by 68tjs »
|
Logged
|
Aides toi et la communauté t'aidera
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 273
|
 |
« Reply #47 on: January 23, 2012, 04:28:59 pm » |
C'était pas un tuyaux percé alors ?  Non, les yeux fermés j'ai foncé 68tjs, à prendre le vent toujours du même côté, tu risque de dériver... 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 273
|
 |
« Reply #48 on: January 23, 2012, 04:30:06 pm » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 6
Posts: 2440
|
 |
« Reply #49 on: January 23, 2012, 04:31:20 pm » |
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 http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.htmlexemple de rendu 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 273
|
 |
« Reply #50 on: January 23, 2012, 04:42:14 pm » |
C'est un tireur d'élite qui vise un brocolis ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 6
Posts: 2440
|
 |
« Reply #51 on: January 23, 2012, 04:44:05 pm » |
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"  , et avant d'avoir du module OEM exploitable en "amateur" ...  C'est un tireur d'élite qui vise un brocolis ?
Où ... voir l'inverse 
|
|
|
|
« Last Edit: January 23, 2012, 04:47:13 pm by Artouste »
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #52 on: January 23, 2012, 08:59:15 pm » |
Mince, je viens tout juste de m'acheter une insoleuse et une graveuse... 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 
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 13
Arduino rocks
|
 |
« Reply #53 on: January 24, 2012, 04:18:28 pm » |
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...
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2878
Yoplait... le pt'it suisse
|
 |
« Reply #54 on: January 24, 2012, 04:31:33 pm » |
Pas de soucis. 
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 39
|
 |
« Reply #55 on: January 27, 2012, 11:07:54 am » |
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<int>(month)); Serial.print("/"); Serial.print(static_cast<int>(day)); Serial.print("/"); Serial.print(year); Serial.print(" Time: "); Serial.print(static_cast<int>(hour)); Serial.print(":"); Serial.print(static_cast<int>(minute)); Serial.print(":"); Serial.print(static_cast<int>(second)); Serial.print("."); Serial.print(static_cast<int>(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 lineCela 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 
|
|
|
|
« Last Edit: January 27, 2012, 06:04:37 pm by DragonsNoirs77 »
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #56 on: January 30, 2012, 04:59:53 pm » |
Yop,
J'ai réussi à récupérer les données, j'ai trouvé un code sur le net, c'est pas très propre, ça n'utilise pas TinyGPS ni NewSoftSerial mais ça marche. Cependant c'est pas au top.
Tu utilise toujours ce sale code ? Si c'est le cas, tu pourrais le diffuser, ou dire où le trouver ? Merci
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #57 on: January 31, 2012, 05:22:47 pm » |
Bon, moi aussi ca me saoule ...  J'arrive bien à recupérer des infos avec : /* Mettre le TX du GPS sur le TX de l'arduino Sur le moniteur serie : 9600bps */
void setup(){ pinMode(0,INPUT); digitalWrite(0,LOW); pinMode(1,INPUT); digitalWrite(1,LOW); }
void loop(){ while(1); } Mais rien avec les codes officiels ... C'est quoi ce délire ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 273
|
 |
« Reply #58 on: February 01, 2012, 05:05:50 am » |
Bon, moi aussi ca me saoule ...  J'arrive bien à recupérer des infos avec : /* Mettre le TX du GPS sur le TX de l'arduino Sur le moniteur serie : 9600bps */
void setup(){ pinMode(0,INPUT); digitalWrite(0,LOW); pinMode(1,INPUT); digitalWrite(1,LOW); }
void loop(){ while(1); } Mais rien avec les codes officiels ... C'est quoi ce délire ? T'as vu c'est la galère, ce soir je te posterai un code qui fonctionne aussi, qui utilise NewSoftSerial, ça permet de libérer la pin D1 de l'Arduino, seulement c'est le même résultat, ça marche sur le coup, mais si tu débranches et rebranche ton montage ça ne marche plus... Je te tiendrais au courant si jamais je trouve LA soluce.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 28
|
 |
« Reply #59 on: February 01, 2012, 05:14:23 pm » |
J'y comprends rien ... le code officiel de tinygps fonctionne correctement ce soir !!!!!  Je reverifié les connexion et tester d'inverser le tx/rx au niveau de l'arduino .... Acquired Data ------------- Lat/Long(10^-5 deg): 4876942, 220891 Fix age: 144ms. Lat/Long(float): 48.76942, 2.20891 Fix age: 147ms. Date(ddmmyy): 10212 Time(hhmmsscc): 22145400 Fix age: 167ms. Date: 2/1/2012 Time: 22:14:54.0 Fix age: 171ms. Alt(cm): 22450 Course(10^-2 deg): 25078 Speed(10^-2 knots): 0 Alt(float): 224.50 Course(float): 250.78 Speed(knots): 0.00 (mph): 0.00 (mps): 0.00 (kmph): 0.00 Stats: characters: 10401 sentences: 51 failed checksum: 2 -------------
Par contre c'est super lent ... Je m'attendais a voir défiler ce code toute les secondes, comme dans nos exemples qui foncitonnaient ... Il me faut pret de 6-7sec pour avoir une nouvelle position ...
|
|
|
|
« Last Edit: February 01, 2012, 05:16:18 pm by arsenic »
|
Logged
|
|
|
|
|
|