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 ---
- 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 ---
Modérateur : Jérémy
PIC18F GPS-COMPASS Ublox 7N
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
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 :
à 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
à 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 :
à 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
PIC18F GPS-COMPASS Ublox 7N
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour,
?? 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---->
à 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---->
PIC18F GPS-COMPASS Ublox 7N
PIC18F GPS-COMPASS Ublox 7N
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
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
en ce moment je teste le COMPASS en I2C de ce GPS-COMPAS
ce serait un HMC5883L ...
A+
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+
PIC18F GPS-COMPASS Ublox 7N
PIC18F GPS-COMPASS Ublox 7N
- Gérard
Expert- Messages : 1654
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
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.
PIC18F GPS-COMPASS Ublox 7N
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
Expert- Messages : 1654
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
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.
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.
PIC18F GPS-COMPASS Ublox 7N
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
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.
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.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 50 invités