Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 33

Picaxe affichage sur 2 digits



  1. #1
    guillaume55

    Picaxe affichage sur 2 digits

    Bonsoir,
    Je voulais réalisé un cadence mètre (j'ai deja demandé de l'aide a ce sujet) mais j'ai du laisser de coté par manque de temps.
    Je m'y remet donc mais n'arrive pas a comprendre ce programme (l'affichage):
    Code:
    ;Cadencemètre peudo multitaches
    
    
    #picaxe 20M2
    
    
    start0:
    symbol CLK = B.1
    symbol DIN= B.2
    symbol load	=B.3
    
    symbol unit=b4
    symbol diz=b5
    symbol cadence=b6
    symbol cpt=b7
    symbol ncoup=b8
    ;w13 et w12 utilisées pour affichage
    symbol temps=w11
    
    
    	pullup %0100000000000000  ;activation résistance pullup sur C.6 
    	
    ;******** initialisation 7219 *******
    	b27=$0f  'display test
    	b26=$00  '=normal
    	gosub shiftt
    
    	b27=$09  'mode décodage
        b26=%11111111  'code B 
        gosub shiftt 
          
    	b27=$0b  'limite scanner = Nbre de digits      
    	b26=$01  '$04=5 digits ,$03=4 digits,, etc...;
    	gosub shiftt
    
    	b27=$0c  'shutdown mode
    	b26=$01  '=normal (afficheur actif)
    	gosub shiftt      
    
    	b27=$0a  'luminosité
    	b26=$06  '=croissante de 0 à 15, ici c'est 4
    	gosub shiftt 
    	     
    	diz=8	;test
    	unit=8	;affichage
    	gosub affich
    	
    ;**** Boucle principale *****	
    	do
    		temps=0
    		ncoup=0
    		do
    			do loop while pinC.6=1	;attente appui		
    			do loop while pinC.6=0	;attente relachement
    			inc ncoup				;incrémentation ncoup
    		loop while ncoup < 10 		;comptage 120 coups
    		cadence=6000/temps			;calcul cadence
    		cadence=cadence//100		;écrétage 2 digits		
    		diz=cadence/10				;dizaines
    		unit=cadence//10			;unités
    		gosub affich				;affichage		
    	loop
    	
    ;**** Compteur 1/10 de secondes **********
    start1:
    	Do 
    		inc temps
    		pause 100
    	loop
    	
    ;**** Option RAZ au bout de 12 secondes sans action	
    start2:
    	do
    		if temps>120 then 
    			unit=0:diz=0
    			gosub affich
    			temps=0				
    		endif			
    	loop 
    	
    ;**** Sub affichage ***************	
    affich:
    		
    	b27=2         ;digit 3
        b26=unit        ;ascii -> numérique
        gosub shiftt    ;affichage
        b27=1
        b26=diz    
       	gosub shiftt    ;affichage
        
    	return
       
    
    ;******** Sous programme affichage *************************
      ;Format du registre sur 16 bits:
    
    ;|------------------------------w13------------------------------|                                                               |
    ;|-----------b27-----------------|------------b26 ---------------|
    ;|-X-|-X-|-X-|-X-|--ADRESSE------|----------DONNEES--------------|   
    ;|D15|D14|D13|D12|D11|D10|D09|D08|D07|D06|D05|D04|D03|D02|D01|D00|
    ;Ex: chiffre 5 dans digit 2
    ;|-X-|-X-|-X-|-X-| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
    
    ;La broche DIN va prendre successivementla valeur de chaque bit de w13, scanné de gauchee à droire
    shiftt:
        for cpt=1 to 16            ;test des 16 bits de w13
            w12=w13 & $8000        ;w13 = b27,b26 & %1000 0000 0000 0000: on ne garde que le 1er bit à gauche de w12   
            low DIN                ; broche DIN à 0 à priori
            if w12=0 then saut     ;w12 contient la valeur (0 ou 1) à transmettre
            high DIN            ;;on ne passe ici que si w12 <> 0, alors DIN =1 (évidemment)
    saut:    pulsout CLK,1     ; envoi 1 pulse horloge pour valider DIN
            w13=w13*2             ; on décale w13 vers la gauche pour examiner le bit suivant
        next cpt
      	pulsout LOAD,1    ;chargement du registre terminé, un pulse sur load valide le registre (commande ou affichage)
      	return
    les variables w12 et w13 sont elle programmées par défaut pour l'affichage? je ne vois pas ou elle sont affectées a ça...
    que veut dire "pullup %0100000000000000 ;activation résistance pullup sur C.6"
    Sur les sorties load et clock on peut envoyer une impulsion quelconque?
    J'ai été voir sur le site de Mag1 pour connaitre la relation des brochages de mon afficheur 2 digits avec max7219 ( Din= Si...) mais je ne trouve pas le sc barre ... j,ai seulement Vcc(V+), GND(0v), Si(DIN), CS#(?), sck(clock?), SO (serial out?)
    Merci pour votre aide
    (Programme de Mag1)

    -----


  2. Publicité
  3. #2
    dje8269

    Re : Picaxe affichage sur 2 digits

    Bonsoir Guillaume,

    Je vais me répéter, mais il existe un forum Français sur les Picaxes , tu trouveras certainement beaucoup plus d'aide . je te redonne le lien : forum PICAXE

    Le max 7219 est a driver pouvant piloter 8 afficheurs 7 segments il me semble

    pullup %0100000000000000 ; activation résistance pullup sur C.6
    C'est marque dans les commentaires , on active la résistance de pull-up interne dans le µC quoi ; ca évite de la mettre sur le circuit

    Sur les sorties load et clock on peut envoyer une impulsion quelconque?
    Non ! un signal d'horloge , et de chargement , rien n'est du au hazard

    les variables w12 et w13 sont elle programmées par défaut pour l'affichage?
    Une variable reste une variable , ca ne se programme pas . c'est juste un casier ou tu range tes données . ici word12 et w13 sont les casiers pour l'affichage
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  4. #3
    mag1

    Re : Picaxe affichage sur 2 digits

    Bonjour,

    J'ai fait une inversion sur le site, c'est CS# et non SC#. En fait, c'est la broche DATA ou DIN (pour DATA IN).
    Pour le reste, c'est OK, SO n'est pas utilisé ici.

    Pour écrire un chiffre sur un digit, il faut remplir un registre de 16 bits (deux octets) dans cet afficheur. Dans le programme, ces deux octets sont logés dans les mémoires b26 et b27. On transfert ensuite ces octets bit par bit dans le registre de l'afficheur. b26 et b27 sont deux variables de 8 bits, elles forment une variable de 16 bits nommée W13. Voir la page du site "les picaxes et leur basic".
    Voir aussi la page sur le site sur le MAX7219 (l'inversion est corrigée).
    J'ai fait un essai avec le petit détecteur IR, ça fonctionne.

    A suivre

    MM
    Dernière modification par mag1 ; 19/10/2014 à 23h53.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  5. #4
    guillaume55

    Re : Picaxe affichage sur 2 digits

    Merci pour votre aide
    Je viens de m'inscrire sur le forum Picaxe et vais me renseigner sur le codage Manchester et sur le programme si je bloque encore après avoir retesté

  6. #5
    guillaume55

    Re : Picaxe affichage sur 2 digits

    N'arrivant pas à publier des posts même après activation du compte je reviens!...
    Ça a avancé... les sorties de mon axe 118 étaient toutes reliées a V+....... donc voici un schéma de mon montage actuel sachant qu'au lieu de l'affichage de l'ancien montage (88) j'ai désormais 00 .... pas bien plus pratique ... schéma 2.png
    Merci pour votre aide
    (Et si quelqu'un peut m'expliquer les limites de la RF par codage manchester et comment l'utiliser ce serait vraiment sympa)

  7. A voir en vidéo sur Futura
  8. #6
    DAUDET78

    Re : Picaxe affichage sur 2 digits

    Tu n'as pas un vrai schéma complet ?
    Que vient faire le code Manchester dans cette galère ?
    Il n'y a pas de condensateur(s) de découplage ?
    Il n'y a pas de resistance PullUp sur le bouton ?
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  9. Publicité
  10. #7
    guillaume55

    Re : Picaxe affichage sur 2 digits

    On a pas activé la résistance "pullup sur C.6" en début de programme? il en faut une "vraie"?
    J'ai du mal a conprendre comment en pourquoi coupler les micro contrôleurs à des condensateurs et autres
    Le code manchester et simplement une question (hors sujet) qui m'est venue

  11. #8
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    On a pas activé la résistance "pullup sur C.6" en début de programme? il en faut une "vraie"?
    J'ai du mal a conprendre comment en pourquoi coupler les micro contrôleurs à des condensateurs et autres
    Le code manchester et simplement une question (hors sujet) qui m'est venue
    Si,si, la R de pullup est activée, inutile d'en ajouter une.

    Je reposte ici le schéma complet, il n'y a pas d'anti rebonds sur l'entrée, on verra à l'usage (pas besoin avec le capteur IR).

    Les condensateurs de découplages sont indispensables. Un chimique (disons 100µF) et un 100nF(il doit être déjà sur la carte).

    Il faut préciser le capteur envisagé, Infra rouge ou autre

    MM
    Images attachées Images attachées
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  12. #9
    guillaume55

    Re : Picaxe affichage sur 2 digits

    "Pièce jointe spécifié(e) non valide. Si vous suivez un lien valide, veuillez notifier l'administrateur"
    Quel est ton logiciel pour les schémas?
    Capteur ... poussoir pour l'instant
    Donc pas besoin de rajouter un 100nF ?

  13. #10
    mag1

    Re : Picaxe affichage sur 2 digits

    Il faut attendre que la pièce jointe soit validée par un modérateur.

    Tu as une carte AXE 118, le 100nF est dessus, regarde.
    Il faut ajouter , pour bien faire, un chimique en parallèle.
    Le code fourni affiche 88 au début, puis 00 si on appuie pas sur le poussoir, normal.
    Ensuite, tu appuies sur le poussoir, pendant au moins 10 coups et tu regardes ce qui s'affiche...

    Pour les schémas, c'est Desselec2000, gratuit, pratique, simple.

    MM
    Dernière modification par mag1 ; 20/10/2014 à 22h10.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  14. #11
    nornand

    Re : Picaxe affichage sur 2 digits

    avec une axe 118 tu as ULN 28030 en sortie rien a voir avec ton schéma !

    voici le schéma de ta carte circuit-axe1181.jpeg les sortie de l'ULN tirent a zéro et pas a 1 il faut te piquer entre le picaxe et l'ULN sur les trous OUT
    Dernière modification par nornand ; 20/10/2014 à 23h51.

  15. #12
    guillaume55

    Re : Picaxe affichage sur 2 digits

    Je me suis branché directement aux sorties out sans passer par l'autre puce
    Merci

  16. Publicité
  17. #13
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    Je me suis branché directement aux sorties out sans passer par l'autre puce
    Merci
    Bonjour,

    Le problème de ces cartes, c'est que le kit et sa doc sont adaptées a un picaxe 20M et non 20M2. Sur le 20M qui a disparu depuis des années, il n'y avait pas le choix des E/S,

    Les sorties étaient d'un côté et les entrées de l'autre, d'où le réseau de résistances qu'il ne faut pas placer si on veut se servir de toutes des possibilités du 20M2.

    Donc, ne pas monter l'uln sur le support si on en a pas besoin.
    Ne pas souder le réseau de résistance pulldown si on ne s'en sert pas. Le remplacer éventuellement par un morceau de barrette sécable pour des essais.

    MM
    Dernière modification par mag1 ; 21/10/2014 à 08h46.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  18. #14
    guillaume55

    Re : Picaxe affichage sur 2 digits

    Pour récapituler:
    Je met un 100µF entre le plus et le - de ma batterie et c'est censé marcher?

  19. #15
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    Pour récapituler:
    Je met un 100µF entre le plus et le - de ma batterie et c'est censé marcher?
    Chez toi, je sais pas...

    Mais chez moi, capteur IR ou poussoir, ça marche!

    Si pas convaincu, je fais une vidéo. J'ai ajouté un point décimal en cas de dépassement de 99 coups/minute, on sait jamais..

    MM
    Dernière modification par mag1 ; 21/10/2014 à 09h50.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  20. #16
    mag1

    Re : Picaxe affichage sur 2 digits

    C'est quoi la batterie?

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  21. #17
    guillaume55

    Re : Picaxe affichage sur 2 digits

    La batterie : 3 pile AA 1.5v
    Je mets le condensateur entre le + et le -? Je peux le mettre sur v+ et 0v sur mon axe118?

  22. #18
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    La batterie : 3 pile AA 1.5v
    Je mets le condensateur entre le + et le -? Je peux le mettre sur v+ et 0v sur mon axe118?
    Tu peux le placer sur la plaque.
    Explication sur les deux condos.

    Le chimique:
    C'est un réservoir, plus la pile s'use, plus il est utile. En s'usant, la résistance interne de la pile (ou batterie) augmente et la tension varie en fonction du courant (qui varie ici en fonction de l'affichage). Le condo chimique atténue ces variations.
    Aux fréquences élevées, le chimique est moins efficace (effet selfique par construction).

    Le condo céramique:
    Découple (court circuite) les variations rapides, il y a toujours un condo de découplage sur les broches d'alimentation des µC qui travaillent à plusieurs MHz.

    Il y a donc deux condos en //

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  23. Publicité
  24. #19
    guillaume55

    Re : Picaxe affichage sur 2 digits

    Ca y est ! Ca marche mais j'ai l'impression qu'il faut laisser un petit temps de répit pour que l'affichage se fasse
    Merci beaucoup a vous!

  25. #20
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    Ca y est ! Ca marche mais j'ai l'impression qu'il faut laisser un petit temps de répit pour que l'affichage se fasse
    Merci beaucoup a vous!
    Ben voilà....
    En fait, il n'y a pas de temps de répit.
    L'affichage 88 (test de l'affichage) apparait immédiatement et passe à 00 au bout de quelques secondes (10 ou 20, sais plus).
    Mais en affichage 88, le programme attend des impulsions et affiche un résultat au bout de 10 impulsions, ensuite, il y a rafraichissement toutes les 10 impulsions.
    Si il n'y a plus d'impulsions (20 ou 30 s env), l'affichage repasse à 0 et attend....

    Fais un essai en appuyant 1 fois par seconde, l'affichage donne 60.

    Tout cela est modifiable

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  26. #21
    guillaume55

    Re : Picaxe affichage sur 2 digits

    Merci pour votre aide en tout cas
    Une dernière question : d'un nombre je veux choisir le chiffre des dizaine ou des unités, quelle est la procédure?

  27. #22
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    Merci pour votre aide en tout cas
    Une dernière question : d'un nombre je veux choisir le chiffre des dizaine ou des unités, quelle est la procédure?
    C'est dans le code:

    Code:
                    cadence=cadence//100		;écrétage 2 digits		
    		diz=cadence/10				;dizaines
    		unit=cadence//10			;unités
    Et un point en plus si la cadence est > 99 ? Intéressé?

    MM
    Dernière modification par mag1 ; 21/10/2014 à 17h20.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  28. #23
    guillaume55

    Re : Picaxe affichage sur 2 digits

    Intéressé oui mais hors du contexte de ce programme ?
    / = division? et //?
    Pour avoir dans B mes unités et C mes dizaines :
    A=A//100
    B=A/10
    C=A//10
    je peux faire cette opération avec logicator?

  29. #24
    mag1

    Re : Picaxe affichage sur 2 digits

    / =division entière 126/10 = 12

    // = modulo
    ou autrement dit le reste r de la division euclidien a=b.q + r
    126//10 = 6

    (C'est le contraire de ce que tu as écrit).

    Je ne connais rien à logicator, ni flowcode, ni flowchart, mais si vous allez sur le site picaxe francophone, vous aurez sans doute une réponse...
    Je sais simplement que ça limite les possibilités de programmation.

    Si la cadence passeà 113, l'afficheur indique 13 . Il pourrait indiquer 13.

    MM

    MM
    Dernière modification par mag1 ; 21/10/2014 à 18h04.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  30. Publicité
  31. #25
    mag1

    Re : Picaxe affichage sur 2 digits

    Bref, je veux dire "13" et "13."

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  32. #26
    guillaume55

    Re : Picaxe affichage sur 2 digits

    Je suis inscrit sur le forum picaxe ... mais on me dit d'attendre qu'un admin valide mon inscription ...j'attends...
    Merci

  33. #27
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    Je suis inscrit sur le forum picaxe ... mais on me dit d'attendre qu'un admin valide mon inscription ...j'attends...
    Merci
    En attendant, A4 a fait un tuto:
    http://www.a4telechargement.fr/Logic...or-v1.0-LD.pdf

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  34. #28
    guillaume55

    Re : Picaxe affichage sur 2 digits

    je m'en doutais un peu mais logicator n'accepte pas la commande //
    est ce que cela peut remplacer le //
    soit D le nombre a analyser
    E=D/10
    E=E*10
    D=D-E
    et là j'ai mon chiffre des unités de D?

  35. #29
    mag1

    Re : Picaxe affichage sur 2 digits

    Citation Envoyé par guillaume55 Voir le message
    je m'en doutais un peu mais logicator n'accepte pas la commande //
    est ce que cela peut remplacer le //
    soit D le nombre a analyser
    E=D/10
    E=E*10
    D=D-E
    et là j'ai mon chiffre des unités de D?
    Le basic est tout de même plus simple... Il utilise // ou % pour cette fonction .

    MM


    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  36. #30
    mag1

    Re : Picaxe affichage sur 2 digits

    Un truc encore, si un jour tu montes ton cadence-mètre sur ton canoë, tu me fais une photo ou mieux, une petite vidéo. Merci

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

Sur le même thème :

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. affichage pour Picaxe 20M2
    Par guillaume55 dans le forum Électronique
    Réponses: 36
    Dernier message: 29/08/2014, 08h52
  2. Last 3 digits
    Par juantheron dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 25/05/2012, 21h02
  3. affichage à partir d'un PIC: LCD/Digits
    Par jim@ dans le forum Électronique
    Réponses: 14
    Dernier message: 10/05/2007, 13h22
  4. Sum of digits
    Par Yalcin dans le forum Mathématiques du supérieur
    Réponses: 27
    Dernier message: 08/06/2005, 22h58
  5. Afficheur 4 Digits Lcd
    Par Cinok dans le forum Électronique
    Réponses: 4
    Dernier message: 20/07/2004, 19h58