Go Down

Topic: GPS + Serial (Read 9938 times) previous topic - next topic

kev1

J'ai essayé l'exemple, et rien n'y fait. J'ai aussi fait le test sur une Uno, sans plus de résultat, j'ai remarqué que je ne peux pas téléverser mon code lorsque la pin RX0 est connectée au GPS... ??? J'ai le même soucis sur la mega.
A priori le GPS est à une vitesse de 9600 baud.
Et je suis pas sur d'avoir bien compris comment fonctionne le code de l'exemple SerialEvent...

kev1

J'arrive tout de même à lire genre de phrase : ö6Ö?vví­­EÛ+ë·q_SWq§§W§§e§?£???§c§?£?§i§}«??åë·q_qq}§?? ... Qui correspondent à la période des trames que je visualise sur l'oscillo. Et j'ai pourtant bien vérifier la vitesse.

Artouste


J'arrive tout de même à lire genre de phrase : ö6Ö?vví­­EÛ+ë·q_SWq§§W§§e§?£???§c§?£?§i§}«??åë·q_qq}§?? ... Qui correspondent à la période des trames que je visualise sur l'oscillo. Et j'ai pourtant bien vérifier la vitesse.

bonjour
ça c'est typique d'une vitesse mal selectionnée
en standard le NMEA c'est du 4800 , mais on rencontre de tout essaye les valeurs standards 4800,9600,19200,5600,57600
ne pas oublier de modifier le sketch ET le monitor avec la meme valeur

kev1

Malheureusement avec n'importe quelle fréquence, j'obtiens des chaines aberrantes. Je ne comprend pas.
Sur l'exemple SoftwareSerialExample il y a noté ça:
Code: [Select]
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69

Mais même en utilisant une des ces pins cela ne fonctionne pas.

Artouste


Malheureusement avec n'importe quelle fréquence, j'obtiens des chaines aberrantes. Je ne comprend pas.


tu essayé aussi 115200 ?
pour determiner la vitesse et puisque tu a un oscillo = duree d'un creneau simple (start) ?
comme le gps est basé sur un chip ublox 6 , il est possible qu'il soit programmé pour sortir en UBX et pas en NMEA (mais ce serait etonnant)
tu a un cable de connection minidin6 vers PC (usb et/ou RS232) ?
si tu a c'est facile à voir (et à configurer) avec le ucenter d'ublox

kev1

Oui j'ai essayé aussi 115200.
Je peux le connecter au pc, j'avais utilisé ucenter pour vérifier le bon fonctionnement du gps. A quel endroit est-ce qu'on peut programmer la sortie UBX ou NMEA?

Artouste

#21
Jun 13, 2013, 02:32 pm Last Edit: Jun 13, 2013, 02:34 pm by Artouste Reason: 1

Oui j'ai essayé aussi 115200.
Je peux le connecter au pc, j'avais utilisé ucenter pour vérifier le bon fonctionnement du gps.

bon déjà ça fonctionnait avec ça ?

avant d'aller trop vite , reconnecte le sur le u-center
selectionne le port et mets toi en autobauding (receiver)
ensuite F9
faire une copie de la fenetre agrandie (exemple fait à l'instant avec un gps nofix qui crache en NMEA à 57600)

kev1

#22
Jun 13, 2013, 02:50 pm Last Edit: Jun 13, 2013, 02:59 pm by kev1 Reason: 1
Oui ça fonctionne avec u-center.


Artouste


Oui ça fonctionne avec u-center.


bon
ton gps fonctionne, sort en 9600 et en NMEA
donc retour à l'arduino avec 9600
avec l'exemple serial event si tout est bien cablé (gnd) et data sortant du gps sur RX arduino (0 pour un UNO) , il devrait y avoir de la trame "reconnaissable" (fix ou pas )
dans le serial monitor calé en 9600

kev1

#24
Jun 13, 2013, 03:37 pm Last Edit: Jun 13, 2013, 03:42 pm by kev1 Reason: 1
Lorsque je branche la sortie gps sur RX0 de la Uno, j'ai ce message d'erreur au moment du téléversement:
Code: [Select]
avrdude: stk500_getsync(): not in sync: resp=0x00.
Erreur qui n'apparait pas lorsque je ne branche pas la sortie gps sur la uno.

kev1

Remarque:
En observant les signaux sur l'oscilloscope, les créneaux sont en -10 +10 V environ lorsque la sortie du gps n'est pas branché à l'arduino. Et ils passent à 0-6V en branchant. Je trouve ça un peu louche.

Bubule

Euhhhh

Le port Uart utilisé pour le terminal et le téléversement, est physiquement raccordé aux pins 0 et 1...

Si vous utilisez la Mega, préférez le port serial 1 (ou 2, ou...) pour y raccorder quelque chose.

Franck

kev1

Ok, je vois.
Par contre j'ai pas plus de résultat sur les autres ports série de la mega.

Bubule

En remplaçant les Serial.xxxxx par Serial1.xxxxx ?


Bubule

Dans le style
Code: [Select]
if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.print(inByte);

Go Up