Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

PIC18F GPS-COMPASS Ublox 7N
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#1 Message par paulfjujo » sam. 3 sept. 2016 12:39

bonjour,

à Jeremy : Fil à eventuellement metrre dans PROJETS ?

Ce nouveau fil, vu que ce n'est plus un GPS Phone Android via bluetooth qui est utilisé ici,
mais un module GPS Ublox 7N avec sortie UART et avec fonction COMPASS en I2C.
La partie GPS UART dans un Premier temps.

J'utilise avec ce GPS, le module Clicker2 18F87J50 de MikroE à 48MHz , pour l'extreme confort
taille RAM et ROM, bootloader USB ...
Le GPS est relié au PIC , via L'UART2
L'UART1 est utilisé comme outil de debugging et d'affichage des resultatss sur terminakl PC
en utilisant un cordon Prolific PL2303 LTTL/USB ( Ok sous WIN XP ou Win 10 avec un vieux driver)
Un LCD 2119 en I2C affiche le resumé des donnees GPS
Le tout est alimenté en 3,3V

Le GPS :

Attention!! à priori on ne peut pas inserer d'image à la creation d'un nouveau post ?

La 1ere phase, importante est de tester ledit GPS avec le programme PC U-CENTER pour eventuellement, modifier la config du GPS.
C'est ce que j'ai fait pour avoir
- Vitesse 19200 bds au lieu de 9600
- Envoi sortie UART1 GPS toutes les 4 secondes
- Selection de la trames NMEA GPGGA seule

La trame GGA comporte l'essentiel des donnees GPS pour suivre un parcours :
Heure UTC, Longitude,Latitude,Altitude,Qualité de reception
le but final étant un Tracker ...
la trame RMC étant utile (pour moi) que pour la date et la gestion horaire été / hiver

LA terminaison de trame CR LF m'a posé probleme, avec une mauvaise memorisation
de la config dans le GPS, toutes les trames emises au lieu de GGA seule (dans un premier temps)
J'ai donc modifié ma strategie au niveau de la gestion de l' interrupt UART2 RX car initialement
Flag monté sur reception CR de la trame.

Re-modif de la config avec U-Center pour avoir
- Selection des trames NMEA GPGGA et RMC... et verification de la config aprezs Power OFF/ Power ON

le Flag est maintenant utilisé comme compteur de trame recue
ce qui permet d'aiguiller chaque caractere recu dans un buffer de trame specifique :
soit vers Trame-GGA , soit vers Trame_RMC
Le LF est eliminé dans la foulée.

La date recupéré dans la trame RMC est comparée avec le domaine de date des modes
Horaire d'ete et horaire d'hiver , pour savoir si il faut rajouter ou pas cette heure d'ete
on a donc heure locale = heure UTC (de la trame GGA) + 1 (fuseau horaire) + eventuel Heure d'ete
J'affiche l'heure locale sur le LCD et l'heure UTC sur le terminal

Ce GPS fonctionne tres bien à l'interieur , à 1,5M d'une fenetre , avec 8 à 12 satelittes reconnus.
La position donnée est dans un rayon de 10M , par raport à la valeur Google Earth.

Nota: Je 'ai pas encore abordé la fonction COMPASS (en I2C)

Je suis pret à répondre à toute demande complementaires ou discussions autour du code?
ou rajouter ici des elements .




des details ICI
Aide toi, le ciel ou FantasPic t'aidera

PIC18F GPS-COMPASS Ublox 7N
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#2 Message par Jérémy » sam. 3 sept. 2016 15:24

Bonjour,

à priori on ne peut pas inserer d'image à la creation d'un nouveau post ?

?? alors la tu m'étonne, je n'ai pas ce probléme ! quel est ton navigateur ?
En réponse rapide on ne peut pas pas mais en mode normal pas de probléme.

Sinon quel travail encore tu nous propose !!! franchement c'est super interessant ! çà me change du module GSM----> dehors!!

:bravo:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

PIC18F GPS-COMPASS Ublox 7N
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#3 Message par Guest » lun. 5 sept. 2016 16:06

Bonjour

un peu perdu Paul, ton changement été/hiver c'est reglé ????

A+

PIC18F GPS-COMPASS Ublox 7N
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » lun. 5 sept. 2016 20:50

bonsoir Maï,

oui c'est reglé .
à part peut etre un petit cafouillage possible entre 0H00 et 2H00 du matin le jour J du changement
mais peu m'importe, je dors à ce moment là...

le bout de code qui va avec


Code : Tout sélectionner


     LCD_RAZ_Ligne
(2);
            strConstRamCpy(CRam1,"  H  M  S  ");
            memcpy(HH,Utc,2);
            h= atoi(HH)+1;   // rajoute fuseau horaire +1
            if (h>23)h=0;  // pas de journée à 25H !
            
         
// test pour  horaire eté (date recupérée via trame RMC
         LDate= (long) AA * 10000L + (long) MM* 100 + (long) JJ;
         if ((LDate>=160327) && (LDate<161030 ))   Drapeaux.Heure_Ete=1;
         if ((LDate>=161030) && (LDate<1760326))  Drapeaux.Heure_Ete=0;
         if ((LDate>=170326) && (LDate<171029))  Drapeaux.Heure_Ete=1;
         if (Drapeaux.Heure_Ete==1)   h=h  +1;
         if (h>23)h=0;
          // à suivre une table Dates de modif horaire ete/hiver sur 5 ou 10 ans dans une table de long int.
          // pour remplacer cette suite de tests
         
            k
=strlen(Utc);
            ByteToStr((unsigned char)h,HH);
            memcpy(CRam1,HH+1,2);     // car sur 3 cars, on a besoin que de 2  cars
      // l'heure locale remplace l'heure UTC sur le LCD
            memcpy(CRam1+3,Utc+2,2);
            memcpy(CRam1+6,Utc+4,2);
            CRam1[16]=0;
            strcpy(HLocale,CRam1);
            LCD_Write_CText_At(2,1,"LTC:  ");
            LCD_Write_Text_At(2,7,CRam1);
            Delay_ms(1500);  


en ce moment je teste le COMPASS en I2C de ce GPS-COMPAS
ce serait un HMC5883L ...

A+
Aide toi, le ciel ou FantasPic t'aidera

PIC18F GPS-COMPASS Ublox 7N
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#5 Message par Guest » mar. 6 sept. 2016 07:12

Bonjour Paul
C'est l’organigramme que j'allais te propose calcul butée été hiver a l'int en déduire positionnement du bit ete/hiver, puis au basculement de la date faire un test sur les 7 jours critiques.

allez A+

PIC18F GPS-COMPASS Ublox 7N
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#6 Message par Gérard » mar. 6 sept. 2016 10:46

maï a écrit :Bonjour Paul
C'est l’organigramme que j'allais te propose calcul butée été hiver a l'int en déduire positionnement du bit ete/hiver, puis au basculement de la date faire un test sur les 7 jours critiques.

allez A+


Pourquoi 7 jours critiques?
Le changement se fait toujours le dernier dimanche des mois de mars et octobre.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

PIC18F GPS-COMPASS Ublox 7N
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#7 Message par Guest » mar. 6 sept. 2016 12:25

Gérard a écrit :Pourquoi 7 jours critiques?
Le changement se fait toujours le dernier dimanche des mois de mars et octobre.

OUI mais
Allez dernier dimanche du mois de mars, qui peu tomber: le 25/03 ou le 26/03 ou le 27/03 etc et cela jusqu'au 31/03 donc on a bien nos 7 jours ou le dimanche peu tomber

tient on aurait pu mette cela dans un tableau du style:
2016->27
2017->26
2018->25
2019->31
etc....

A+

PIC18F GPS-COMPASS Ublox 7N
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#8 Message par Gérard » mar. 6 sept. 2016 14:58

Une RTC genre DS1307 ou DS3231 (voir page 11, adresse 03) contient un octet qui compte de 1 à 7 pour les jours de la semaine. Suffit de tester si dimanche (pour moi le jour 7), si jour > 24 et si 2h, alors Heures = 3 au printemps. En automne, un test supplémentaire parce que si tu mets Heures = 2 quand Heures = 3, tu ne sortiras plus de la boucle.
Donc, positionner un bit Hiver à 1 quand passage à l'heure d'hiver. Si ce bit = 1, sortir du SP.
De même au printemps, mettre ce bit à 0. Ca permettra la mise à jour de l'heure en automne.

Je ne suis pas sûr d'avoir été clair.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

PIC18F GPS-COMPASS Ublox 7N
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#9 Message par paulfjujo » mer. 7 sept. 2016 15:34

Bonjour,

A Gerard:
Je n'ai pas vraiment besopin de savoir si le jour est un dimanche ou pas.. j'ai la date au format AAMMJJ..
de plus l'heure GPS est sensée etre beacoup plus fiable que l'heure DSxxxx ( si on a les sateelites en vues , bien sur)

Je viens de rajouter une modif :

Aiguillage sur sortie Display terminal en fonction de l'etat entrée RB2
sbit Choix_KML at PORTB.B2;
sbit Choix_KML_Direction at TRISB2_bit
RB2=0 => Mode message GPS classique
04/09/16 00H00M00S Lon : 5.038765 N Lat : 45.845375 E Alt : 201.1 Satel: 08 HDOP : 1.68 Fix: 2 RB2= 0
04/09/16 21H14M27S Lon : 5.038765 N Lat : 45.845375 E Alt : 201.3 Satel: 08 HDOP : 1.68 Fix: 2 RB2= 0
RB2=1 => Mode KML
affichage Longitude,Latitude,Altitude< espace termianetur>
5.038798,45.845384,200.2 5.038782,45.845375,201.0 5.038798,45.845365,201.0 5.038798,45.845365,200.4 5.038798,45.845355,200.2
5.038798,45.845355,200.8 5.038798,45.845355,200.5 5.038798,45.845346,200.5 5.038798,45.845346,200.4 5.038798,45.845346,200.3

BUT : Affichage des datas au format KML sur Google MAP !
Cela fonctionne tres bien.. (Details sur ma page web)

La question que je me pose:
EEPROM ou SDCARD sur appli embarquée ?
Avec une EEPROM 24L1026 1Mbits 128Bytes et un point = 1 trame de 25 bytes
un stockage temporaire dans un tampon RAM de 128 bytes ( soit 5 trames ou points)
because page EEPROM=128 bytes
1024 pages EEPROM => 1024x5= 5120 points .. déja pas mal pour un parcours
transféré ensuite sur Google MAP sious la forme d'un fichier KML
votre avis m'interesse ..

J'attends une collaboration / partage effectif pour mettre toute info necessaire ou utile ICI.
en esperant trouver preneur ..

un tres bon site didactif que je viens de decouvrir , meme s'il concerne ARDUINO
Cela m'a permis de savoir comment realiser un fichier KML avec des donnees brutes et un "WRAPPER"..

Mais j'ai une autre piste pour du temps reel :
GPS data -> RFO basic -> Affichage Google MAP sur tablette Android .. à suivre

autre questionnement:
Comment simuler / modifier la trame GPS pour etre reconnu comme GPS externe appli Google Earth
simuler un GPS GARMIN par exemple.
Aide toi, le ciel ou FantasPic t'aidera

PIC18F GPS-COMPASS Ublox 7N
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#10 Message par Guest » mer. 7 sept. 2016 18:10

bonjour

Je ne connais pas ton application je ne vois pas E et W dans tes relevés , normale ?
Pour le reste perso, preneur de EEPROM .Mais pas de ton projet :wink:

A+ et bonne suite


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 60 invités