​ ​ ​ ​ matrice leds - Page 2
Page 2 of 3 FirstFirst 1 2 3 LastLast
Results 11 to 20 of 24

Thread: matrice leds

  1. #11
    New Member
    Join Date
    Dec 2014
    Location
    haute loire
    Posts
    26

    Default

    Bonjour PieM ,
    ce n'est pas l'envie qui manque
    juste les compétences , mais je vais essayer
    de comprendre ce code,avec de la patiente peut être .
    merci bonne journée
    Georges

  2. #12
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,503

    Default

    Quote Originally Posted by jojo5001 View Post
    Bonjour PieM ,
    ce n'est pas l'envie qui manque
    juste les compétences , mais je vais essayer
    de comprendre ce code,avec de la patiente peut être .
    merci bonne journée
    Georges
    Bonjour,

    C'est "avec de la patience...sûrement". Mais l'envie est indispensable.
    Une matrice 5x5 c'est bien, mais pourquoi pas 8x8, tant qu'on y est ?
    Le 08M2 est minimaliste, et si il faut ajouter quelques réglages (vitesse, luminosité, etc), le 14M2 est plus confortable, avec en plus la commande "table".

    Il faut de toute façon un module matrice 8x8 avec le max7219, (comme sur le site). On en trouve partout, chez Gotronic, sur eBay, en France ou en Chine à partir de 1,47 euro port gratuit.

    Ajout:
    Je relis cette page sur la matrice de leds et il me semble que le sous programme de remplacement shiftout, inspiré de la doc est "assez" maladroit.
    Je vais en tester un autre, plus simple, j'espère.
    Et cette page manque de commentaires....à refaire!

    MM
    Last edited by MGU; 23-04-2018 at 22:09.

  3. #13
    New Member
    Join Date
    Dec 2014
    Location
    haute loire
    Posts
    26

    Default

    bonsoir ,

    Merci MGU et PieM que de patiente avec les bricolos comme
    moi.Je trouve un moment pour me poser et consulter
    le blog a tête reposée .
    bonne soirée
    Georges

  4. #14
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,503

    Default

    Voici un programme expurgé, affichant uniquement le chiffre 5

    Description des variables
    Avec un 14M2, le "5" est décrit dans une suite de 8 octets de la mémoire "table" (voir doc)

    initialisation du max7219

    Un sous programme "lectable" recherche et lit un à un les 8 octets (colonne) de la matrice 8x8

    Avec le sous programme shiftt, chaque octet est ensuite envoyé, bit à bit dans le registre du max7219 et affiché.
    Le sous programme remplaçant de shiftout n'est pas celui de la doc.

    Code:
    ;Afficheur driver MAX7219
    ;Matrice de leds 8x8
    ;MM 27/10/2013
    
    ;Format des registres MAX 7219 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|
    
       #picaxe 14M2
    	#no_data
       setfreq m32	
       symbol 	DIN   = pinB.1   ;Entrée Data In de l'afficheur
       symbol  	LOAD  = B.2   ;Entrée Load de l'afficheur
       symbol  	CLK   = B.3    ;Entrée CLK de l'afficheur
       symbol  	TEST  = pinC.3
       symbol  	LEN   = 1        ;durée impulsion 1ms
       symbol	regbit= bit0
       symbol  	num   = b1    ;lecture température    
       symbol  	cpt   = b2      ;compteur   
       symbol  	chif  = b3
       symbol 	val   = b4   
       symbol  	regis =w13    ;=(b27,b26) chaque bit sera envoyé dans le registre
       dirsB=%10		;B.1 en sortie pour pinB.1	
       low LOAD
       low CLK
    
    ;chiffre "5": description des 8 colonnes du chiffre "5", 8 octets à partir du n°50
        table 50,(0,%1000111,%10000101,%10000101,%10000101,%1111001,0,0)
    
    ;******** initialisation 7219 *******
        b27=$09  'mode décodage
        b26=%00000000  'pas de décodage code B mais segments
        gosub shiftt
     
        b27=$0b  'limite scanner = Nbre de digits
        b26=$07    '$04=5 digits ,$03=4 digits,, etc...
        gosub shiftt
     
        b27=$0c  'shutdown mode
        b26=$01  '=normal (afficheur actif)
        gosub shiftt      
    
        b27=$0a  'luminosité
        b26=$04  '=croissante de 0 à 15, ici c'est 4
        gosub shiftt
          
        b27=$0f  'display test
        b26=$00  '=normal
        gosub shiftt
    ;**********************************************
    ;affichage du chiffre:
    	val=5			;val contient le chiffre à afficher
    	gosub lectable
    	stop ; fin du programme d'affichage
    ;**********************************************
    lectable:	; sous programme de lecture de "table", 8 octets à partir de l'octet n°50
     	For num =1 to 8   ;n° de colonne
      	     b27=num           ;adresse registre
                 chif=val*10 +num-1 ;calage sur le premier octet du chiffre val
                 readtable chif,b26 ;lecture de l'octet "donnée colonne"
                 gosub shiftt       ;affichage colonne  
     	next         
     	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|
    
    ;La broche DIN va prendre successivement la valeur de chaque bit de w13, scanné de gauche à droire
    shiftt:
       for cpt=1 to 16      	;test des 16 bits de w13
    		DIN=w13/$8000   	;w13 = b27,b26 ;valeur de broche DIN = 1er bit à gauche de w13   		
    		pulsout CLK,LEN     	;envoie 1 pulse  pour valider DIN
                   w13=w13*2            ; on décale w13 vers la gauche pour examiner le bit suivant
       next cpt
       pulsout LOAD,LEN    		;chargement du registre terminé, un pulse sur load valide le registre 
       return
    MM
    Last edited by MGU; 23-04-2018 at 22:35.

  5. #15
    New Member
    Join Date
    Dec 2014
    Location
    haute loire
    Posts
    26

    Default

    Bonjour MGU

    Un grand merci je n ai plus
    d excuses pour ne pas réussir .
    je commande un max7219 ou peut être mon tlc5940 est il compatible
    je récupère les datasheets pour contrôler .
    le week-end sera chargé .
    Merci encore pour votre précieuse aide .
    bonne journée Georges

  6. #16
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,503

    Default

    Bonjour,

    Non, j'ai survolé la doc, c'est un driver 16 leds, le code sera totalement différent.
    Achète plutôt un module matrice de 64 leds : max7219 sur eBay, il y a le choix. ou chez Gotronic.

    Donc, la description du symbole à afficher est dans une série de 8 octets. La mémoire table peut contenir 512 octets sur les M2 soit 64 symboles possibles.
    Dans mon exemple, ils sont rangés de 10 en 10 (10,20,...) , une numérotation octal serait une meilleure idée pour densifier ($10,$20...).

    Bon week end

    MM
    Last edited by MGU; 24-04-2018 at 20:13.

  7. #17
    New Member
    Join Date
    Dec 2014
    Location
    haute loire
    Posts
    26

    Default

    Bonsoir ,
    merci MGU pour l info
    max7219 commandé en chine
    mais je pense en commander un deuxième chez Gotronic
    bonne soirée

  8. #18
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,918

    Default

    Pour reprendre l'idée de départ concernant l'utilisation de symboles, il y a une astuce qui permet d'écrire dans le programme high aa,bb
    C'est d'utiliser les directives:

    #define aa B.1, C.1
    #define bb B.2, C.2
    '.....
    do
    high aa, bb ' sera remplacé par high B.1,C.1,B.2,C.2
    pause 1000
    low aa,bb
    loop

    Mais je n'ai pas voulu en parler car le problème restait entier !
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  9. #19
    New Member
    Join Date
    Dec 2014
    Location
    haute loire
    Posts
    26

    Default

    bonsoir PieM ,
    alors comme ça on me cache des choses
    j enregistre cette astuce mais je vais
    tout de même faire l effort de réfléchir sur
    la piste du max7219 des réception merci pour votre aide
    bonne soirée georges

  10. #20
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,918

    Default

    Quote Originally Posted by jojo5001 View Post
    bonsoir PieM ,
    alors comme ça on me cache des choses
    j enregistre cette astuce mais je vais
    tout de même faire l effort de réfléchir sur
    la piste du max7219 des réception merci pour votre aide
    bonne soirée georges
    Bonjour,
    Mais je confirme que cette méthode n'est pas la bonne solution, la seule étant de passer par un max7219, comme dit dès le début;
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

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
  •