Bonsoir.
Après avoir lu le fil "Fréquence ou vitesse", j'avais commandé un NE06, avec juste l'idée de me familiariser, avec le GPS, en général.
Première constatation, je suis bienvenu au club des "pas de 9600" (coucou, Piem ). Il me manque donc une trame, aussi.
Pas grave.
L'idée première, c'est de faire une bête horloge, avec une sortie "base de temps", pour d'autres applis.
Bon, pour afficher l'heure, c'est très simple.
Là où cela va se corser, c'est :
-Exploiter les données de position, pour en retirer un fuseau horaire (et une table simple des villes les plus connues)
-Gérer heure été, heure d'hiver
-Créer un calendrier (j'aimerai bien : N° du jour , HH:MM:SS, avec gestion des bissextiles)
Je sais, on trouve ça tout fait, en chine, à moins de dix roro's. Et alors ?
J'aime faire.
J'en suis là:
On the road again ...
News: Ce matin, au bout d'une minute, la led rouge du module clignote, et je suis en mode "A" (au fin fond de mon atelier, bien en sous-sol).
J'ai juste (involontairement) bougé un peu l'antenne.
Bien sensible, ce truc.
Après avoir lu le fil "Fréquence ou vitesse", j'avais commandé un NE06, avec juste l'idée de me familiariser, avec le GPS, en général.
Première constatation, je suis bienvenu au club des "pas de 9600" (coucou, Piem ). Il me manque donc une trame, aussi.
Pas grave.
L'idée première, c'est de faire une bête horloge, avec une sortie "base de temps", pour d'autres applis.
Bon, pour afficher l'heure, c'est très simple.
Là où cela va se corser, c'est :
-Exploiter les données de position, pour en retirer un fuseau horaire (et une table simple des villes les plus connues)
-Gérer heure été, heure d'hiver
-Créer un calendrier (j'aimerai bien : N° du jour , HH:MM:SS, avec gestion des bissextiles)
Je sais, on trouve ça tout fait, en chine, à moins de dix roro's. Et alors ?
J'aime faire.
J'en suis là:
Code:
#picaxe 08m2
setfreq m16
Symbol GPS=C.3
Symbol LCD=C.2
Pause 100
Serout LCD,T9600_16,(4)'Hide cursor
Pause 100
Serout LCD,T9600_16,(12)'CLS
Pause 100
Serout LCD,T9600_16,(19)'retroéclairage
Pause 100
Do
serin c.3,T4800_16,("$GPRMC,"),b0,b1,b2,b3,b4,b5,b6,b7',#w13,#w12,b8,#w11,#w10,b9,b10,b11,b12
b0=b0-48:b1=b1-48:b2=b2-48:b3=b3-48:b4=b4-48:b5=b5-48
b0=10*b0:b0=b0+b1
b2=10*b2:b2=b2+b3
b4=10*b4:b4=b4+b5
Gosub AffUTC 'faudra trouver un
Gosub AffLocal 'truc pour compacter ça ...
Loop
AffUTC:
If b0<10 Then
Serout LCD,T9600_16,("0",#b0,":")
Else
Serout LCD,T9600_16,(#b0,":")
End if
Pause 100
If b2<10 Then
Serout LCD,T9600_16,("0",#b2,":")
Else
Serout LCD,T9600_16,(#b2,":")
End if
Pause 100
If b4<10 Then
Serout LCD,T9600_16,("0",#b4)
Else
Serout LCD,T9600_16,(#b4)
End if
Pause 100
Serout LCD,T9600_16,(" UTC ",b7)
Pause 100
Serout LCD,T9600_16,(13)
Pause 100
Return
AffLocal:
Gosub Fuseau
If b0<10 Then
Serout LCD,T9600_16,("0",#b0,":")
Else
Serout LCD,T9600_16,(#b0,":")
End if
Pause 100
If b2<10 Then
Serout LCD,T9600_16,("0",#b2,":")
Else
Serout LCD,T9600_16,(#b2,":")
End if
Pause 100
If b4<10 Then
Serout LCD,T9600_16,("0",#b4)
Else
Serout LCD,T9600_16,(#b4)
End if
Pause 100
Serout LCD,T9600_16,(" LOCAL")
Pause 100
Serout LCD,T9600_16,(1)
Pause 100
Return
Fuseau:
'Ouille !
'Ici, calculer le fuseau, fst données GPS
b0=b0+2' Bon, chuis en France, pour l'instant. Hé hé ...
'Faudra aussi dépatouiller heure été/hiver
Return
News: Ce matin, au bout d'une minute, la led rouge du module clignote, et je suis en mode "A" (au fin fond de mon atelier, bien en sous-sol).
J'ai juste (involontairement) bougé un peu l'antenne.
Bien sensible, ce truc.
Last edited: