​ ​ ​ ​ frequence ou vitesse - Page 6
Page 6 of 12 FirstFirst ... 4 5 6 7 8 ... LastLast
Results 51 to 60 of 118

Thread: frequence ou vitesse

  1. #51
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,834

    Default

    Quote Originally Posted by JRTEC View Post
    c est complexe quand meme


    Pour debuter et attraper la vitesse

    si je relis comme il faut le #21

    La , on enregistre les données non ?


    do

    serin UART_in, baud_in, ( "$GPRMC," ), b1,b2,b3,b4,b5,b6,b7,#w13,#w12,b8,#w11,#w10,b9,b10 ,b11,b12

    et la on affiche la vitesse

    sertxd("Vit:",b10,b11,b12," ",cr, lf )
    Oui sauf que cette méthode du forum anglais, utilisant des variables word pour longitude et latitude peut donner des valeurs fausse car 43.0002 va donner 43.2 et qu'il faut un grand nombre de variables aux dépends du reste du programme. (ne reste que w7 à w10!)
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  2. #52
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    pourriez developper un peuplus ceci

    "
    si j'ai besoin de la valeur reçue en 4e position et l'affecter à b0:
    bptr = 13
    b0 = @bptr"

  3. #53
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,834

    Default

    Quote Originally Posted by JRTEC View Post
    c est complexe quand meme


    Pour debuter et attraper la vitesse

    pourriez developper un peuplus ceci

    "
    si j'ai besoin de la valeur reçue en 4e position et l'affecter à b0:
    bptr = 13
    b0 = @bptr"
    ben tout simplement car j'ai stocké mes valeurs à partir de la position 10 (bptr=10)
    donc si j'ai besoin de la 4e après elle sera en position 13
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  4. #54
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    d accord

    alors on stocke tout avec bptr

    et apres on pioche a la demande

    Donc si je me refere a #22
    "
    bptr= 44 'debut de trame vitesse
    if @bptr <> "," then
    'bptr= 44
    w0 = @bptrinc - 48 * 100
    w0 = @bptrinc - 48 * 10 + w0
    w0 = @bptrinc - 48 + w0 * 1852 'calcul des noeuds en m/h
    peek 48, w1
    w1= w1 - 48 * 185 'calcul des 1/10 noeuds en m/h
    w0= w1+w0 "

    La avec W0 j aurai la constante de vitesse reele dispo

    AI je bon ?

  5. #55
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,834

    Default

    Quote Originally Posted by JRTEC View Post
    d accord

    alors on stocke tout avec bptr

    et apres on pioche a la demande

    Donc si je me refere a #22
    "
    bptr= 44 'debut de trame vitesse
    if @bptr <> "," then
    'bptr= 44
    w0 = @bptrinc - 48 * 100
    w0 = @bptrinc - 48 * 10 + w0
    w0 = @bptrinc - 48 + w0 * 1852 'calcul des noeuds en m/h
    peek 48, w1
    w1= w1 - 48 * 185 'calcul des 1/10 noeuds en m/h
    w0= w1+w0 "

    La avec W0 j aurai la constante de vitesse reele dispo

    AI je bon ?

    Oui.
    il y a un test <> "," car si la vitesse est nulle, il y a une série de ,,, à la place de la vitesse
    (ça dépend des GPS)
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  6. #56
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    d accord

    si je comprends bien c est une trame de type GPRMC


    j ai trouve une description ici :http://aprs.gids.nl/nmea/


    et elle me dit cela :
    $GPRMC

    Recommended minimum specific GPS/Transit data

    eg1. $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,1 30998,011.3,E*62
    eg2. $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,1 91194,020.3,E*68


    225446 Time of fix 22:54:46 UTC
    A Navigation receiver warning A = OK, V = warning
    4916.45,N Latitude 49 deg. 16.45 min North
    12311.12,W Longitude 123 deg. 11.12 min West
    000.5 Speed over ground, Knots
    054.7 Course Made Good, True
    191194 Date of fix 19 November 1994
    020.3,E Magnetic variation 20.3 deg East
    *68 mandatory checksum


    eg3. $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,1 30694,004.2,W*70
    1 2 3 4 5 6 7 8 9 10 11 12


    1 220516 Time Stamp
    2 A validity - A-ok, V-invalid
    3 5133.82 current Latitude
    4 N North/South
    5 00042.24 current Longitude
    6 W East/West
    7 173.8 Speed in knots
    8 231.8 True course
    9 130694 Date Stamp
    10 004.2 Variation
    11 W East/West
    12 *70 checksum


    eg4. $GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,dd mmyy,x.x,a*hh
    1 = UTC of position fix
    2 = Data status (V=navigation receiver warning)
    3 = Latitude of fix
    4 = N or S
    5 = Longitude of fix
    6 = E or W
    7 = Speed over ground in knots
    8 = Track made good in degrees True
    9 = UT date
    10 = Magnetic variation degrees (Easterly var. subtracts from true course)
    11 = E or W
    12 = Checksum

    avec une vitesse en KNOTS soit des noeuds nautiques

    Par contre pour le btpr , on attaque a 10 et on enregistre si je comprends la valeur vitessa a partir de 44 soit 34 de difference

    et la j ai beau compter je ne comprends pas comment on attrape le signal vitesse
    Last edited by JRTEC; 28-04-2017 at 11:04.

  7. #57
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,834

    Default

    C'est normal car toutes ces trames ne correspondent pas à celle du NEO6!
    les formats ne sont pas standards et changent en fonction des constructeurs

    les longitudes et latitudes sont données en ddmm.xxxx xxxx représentant des 1/10000 de minute.
    et pour l'heure il n'y a pas de 1/100 de s
    le format est
    $GPRMC,hhmmss,A,llll.llll,a,yyyyy.yyyy,a,xxx.x,zzz .z,ddmmyy,tttt.t,a*hh

    llll.llll latitude
    yyyyy.yyyy longitude
    xxx.x vitesse en noeuds

    Après RMC, il y a 34 caractères pour arriver au xxx.x
    Attention de compter aussi les "," !

    J'utilise le premier pulse de la transmission pour provoquer l'interruption, qui elle va recevoir à partir de hhmmss...
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  8. #58
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    Bonjur je n ai pas pu revenir avant

    J ai essaye de faire un montage

    Afficheur LCD 1602 picaxe 14M2 et NEO6

    Voici une vue du schema ( manque l alim 5v que j ai su ma platine a essai )

    et ci dessous le code que j ai compile en prenant a droite et a gauche des info , mais vu que je suis parti du programme en #41 mais que j a n ai pas d afficheur serie , ma compilation ne marche pas

    je n arrive pas a comprendre comment transcrire les information recue


    Code:
     
    
    ' vitesse GPS Jrtec NEO 6 Picaxe 14 
    
    
    
    
    
    '*************************************************************************************************
    
    #picaxe 14M2 	'directive utilisation pisaxe 14M2
    #Terminal 9600
    
    
    '***** Initialisation LCD*******************
    
    	dirsB=%011111	
    	dirsC=%111000
    	
    '*****Données d'initialisation de l'afficheur Type HD44780 ***********
    
    	
    	SYMBOL  RS        = C.1         ; 0 = Command   1 = Data
    	SYMBOL  E         = C.2         ; 0 = Idle      1 = Active
    	SYMBOL  DB4       = B.1         ; LCD Data Line 4
    	SYMBOL  DB5       = B.2         ; LCD Data Line 5
    	SYMBOL  DB6       = B.3         ; LCD Data Line 6
    	SYMBOL  DB7       = B.5         ; LCD Data Line 7
    	SYMBOL  RSCMDmask = %00000000 ; Select Command register
    	SYMBOL  RSDATmask = %00000001 ; Select Data register
    	SYMBOL  cpt       = b1
    	SYMBOL  car		= b2
    	SYMBOL  rsbit     = b3
    		
    	'Nibble commands - To initialise 4-bit mode
     
    	DATA 0,( $33 )    ; %0011---- %0011----   8-bit / 8-bit
    	DATA 1,( $32 )    ; %0011---- %0010----   8-bit / 4-bit
    	
    	'Byte commands - To configure the LCD
    	 
    	DATA 2,( %00101000 )    ;  %001LNF00   Display Format
    	DATA 3,( %00001100 )    ;  %00001DCB   Display On
    	DATA 4,( %00000110 )    ;  %000001IS   Cursor Move
    	‘                       ; L : 0 = 4-bit Mode    1 = 8-bit Mode
    	‘                       ; N : 0 = 1 Line        1 = 2 Lines
    	‘                       ; F : 0 = 5x7 Pixels    1 = N/A
    	‘                       ; D : 0 = Display Off   1 = Display On
    	‘                       ; C : 0 = Cursor Off    1 = Cursor On
    	‘                       ; B : 0 = Cursor Steady 1 = Cursor Flash
    	‘                       ; I : 0 = Dec Cursor    1 = Inc Cursor
    	 ‘                      ; S : 0 = Cursor Move   1 = Display Shift
    	DATA 5,( $01 )   	; Clear Screen
    		
    '***** Envoi de ces données au LCD ***************
    PowerOnReset:
    	FOR cpt = 0 TO 5
    		READ cpt,car
    		GOSUB SendInitCmdByte
    	NEXT 
    		
    '***** DEBUT PROGRAMME PERSO ************************
    
    	DATA 6,("Vitesse     km/h")	'Texte sur l'afficheur ligne1 (13c)
    	
    
    	gosub texte 	'Texte ligne 1 et 2
    	
    	pause 40000		'pause de 5 s à la mise sous tension
    	
    DO	
    		
    	
    	gosub affiche	'Affichage des données
    	
    		
    
    LOOP	
    	
    '***** 
    symbol baud_GPS = T4800_8     'com GPS
    
    symbol UART_in = C.0    'liaison lecture GPS
    symbol UART_out = B.4      'liaison ecriture GPS via 5V > 3V
    
    
    setfreq m8
    setint %00000000,%00000001    'interruption sur C.0 
    
    '===================================================================
    'serout UART_out, baud_out, ("$PUBX,41,1,0007,0003,4800,0*13",CR,LF)
    'serout UART_out, baud_out, ("$PUBX,41,1,0007,0003,9600,0*10",CR,LF)
    
    main:
    do
       
       setint %00000000,%00000001 'rearmement interruption
    loop
     
    '----------------------------------------------------------------------
    
    
    interrupt:
       bptr= 10    'lecture de la trame GGA
      serin UART_in, baud_GPS,("GGA,"),@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc
    bit0 = 1
    return
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    '***** Affichage des données ************************************
    affiche:
    	car= $80 | $0A	'curseur début ligne1 col 10
    	gosub SendCmdByte
    	
    	
    	
    	car= $80 | $48	'curseur début ligne2 col 8
    	gosub SendCmdByte
    		
    	car=W0		'
    	GOSUB SendDataByte	
    	
    	car=W1		' 
    	GOSUB SendDataByte 
    	
    
    	return
    	
    '***** Incrémentation et positionnement jalonnage ***********
     
     
     
     
     
     
     
     
     
     
     
     
    	
    '***** Ecriture du texte fixe sur afficheur *********************************************************	
    texte:	'position du curceur ligne 1 et ecriture du label
    
    	car= $80 | $00	'curseur début ligne1
    	gosub SendCmdByte
    	 	
    	FOR cpt = 6 TO 18	'lecture texte ligne1 
    		READ cpt,car
    		GOSUB SendDataByte
    	NEXT	
    '******** idem  pour ligne 2 ********
     
    	car= $80 | $40	'curseur début ligne2	
    	gosub SendCmdByte
    	
    	FOR cpt =20 TO 35	'lecture texte ligne2 
    		READ cpt,car
    		GOSUB SendDataByte
    	NEXT	
    	return
    	
    '
    
    '***** Sous programmes d'écriture du LCD************ 
    SendInitCmdByte:
     
    	PAUSE 60                        ; Delay 15mS 
     
    SendCmdByte:
     
    	rsbit = RSCMDmask               ; RSCDmask = 0 ;Send to Command register
     
    SendDataByte:
     
    	pinsB = car & $F0 / 4 | rsbit   ; Put MSB out first
     	PULSOUT E,1                     ; Give  pulse on E
    	
    	pinsB = car & $0F * 4 | rsbit   ; Put LSB out second
    	PULSOUT E,1                     ; Give  pulse on E
    		 
    	rsbit = RSDATmask               ; RSDATmask = 1 ; Send to Data register next
    	
    	RETURN
    Attached Images Attached Images

  9. #59
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,834

    Default

    Bonjour,
    Une chose à la fois STP!
    La première chose est de faire un montage correct entre le 14M2 et l'afficheur! http://electromag1.wifeo.com/lcd-alp...-et-picaxe.php
    Reprendre le document de Michel sans modifier les liaisons, sinon ça ne marchera jamais.

    ensuite utiliser son programme et envoyer quelques caractères pour vérifier que ça marche bien.

    il est évident que le programme donné en #41 ne peut fonctionner avec une liaison // . Il sera à adapter dans un second temps.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  10. #60
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,457

    Default

    Bonjour,

    Il y a aussi les adaptateurs I2C, pas cher, avec le réglage de contraste. On utilise les broches I2C du picaxe, il n'y a pas de choix, mais on utilise deux broches au lieu de six.
    http://electromag1.wifeo.com/lcd-i2c...ur-pcf8574.php

    Le bon code est le dernier de la page, l'initialisation est plus compacte que sur les pages des premiers LCD parallèles 4bits

    J'ai acheté le même GPS, pas encore testé.

    MM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •