Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)



  1. #1
    Poseidon88

    Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)


    ------

    Bonsoir,

    Je suis entrain de réaliser une horloge composée d'un afficheur à matrices 7x5.
    L'afficheur sera composé disons de 20 matrices 7x5.

    Je souhaite faire un programme universel qui me permettra de réutiliser l'afficheur dans d'autres applications et aussi de pouvoir mettre ce programme sur mon site, ce qui pourrait aider d'autres personnes. Je pars du principe que puisqu'on m'aide, alors j'aide les autres.

    Je programme en C sur de l'Atmel.

    Le but:

    Ecrire un programme qui copie exactement le principe d'un afficheur LCD.

    - soit j'utilise un µC dédié à l'afficheur (et je communique en I2C)
    - soit j'utilise la liaison SPI avec des registres à décalage (ca je gère bien).

    Donc quelle est la meilleur solution ? Je répète, je préfère faire simple et surtout ne pas avoir un seul µC qui gère 15000 trucks en même temps avec des IT de partout. Un µC ca coûte 3€...

    Maintenant il faut creer une table de caractères et aussi gérer les coordonnées en X et en Y (si je veux faire défiler un message).

    Tout ca j'en suis capable, mais c'est la manière d'organiser les choses qui me posent problème car je n'ai jamais fais ca et j'ai pas envie de partir de travers alors que certains d'entre vous ont surement de bonc conseils.
    Je pense que tout est une histoire de tableaux ....

    Voilà, merci de m'avoir lu
    @+

    -----

  2. #2
    Poseidon88

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    Ca ne dit rien à personne ?

  3. #3
    DAUDET78

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    Et tu fais quoi comme hard pour le multiplexage de tes afficheurs ? 7x100 , je m'attend au pire !
    J'aime pas le Grec

  4. #4
    Poseidon88

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    Oh bah dans le même principe que ca:

    http://sjeffroy.free.fr/new/index.ph...d=30&Itemid=65

    7 transistors de puissance pour les lignes et des registres pour les colonnes (par paquet de 8).

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

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    OK ... c'est tout bon !
    J'aime pas le Grec

  7. #6
    Poseidon88

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    Lol tu avais peur de quoi ? Juste pour savoir ^^

  8. #7
    DAUDET78

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    Que tu sois un pisseur de ligne qui fasse un soft avec un rapport cyclique de 1/100 ....
    J'aime pas le Grec

  9. #8
    Poseidon88

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    Ah bah non j'ai bien remarqué que le temps d'aller de la colonne 1 à la colonne 100 serait trop long.

    Reste à voir comment gérer le bouzin !

  10. #9
    DAUDET78

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    Ce n'est pas le temps le problème .... c'est qu'une LED allumée avec un rapport cyclique de 1/100 n'éclaire pas !
    Sur ton lien #4, l'explication de la gestion est bien expliqué.
    J'aime pas le Grec

  11. #10
    Poseidon88

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    OK donc j'ai réfléchis sur feuille pour gérer tout ca.

    Maintenant le but c'est de savoir comment je vais faire dans mon programme, lorsque quand je vais écrire par exemple "MERCI", les caractères vont bien être codés.

    Il faut surement utiliser le codage ASCII.

    Quand on connecte un afficheur LCD à un µC, il suffit d'écrire dans le programme:

    LCD_GOTOXY (1,10);
    LCD_PUTCHAR ("MERCI");

    La librairie du LCD va "traduire" le "MERCI" en code ASCII (enfin je pense).

    C'est ce que je voudrais faire avec mon afficheur.

  12. #11
    Poseidon88

    Re : Gérer une matrice de LED (tableau / définir les caractères / les coordonnées)

    La table des caractères...

    Code:
    const unsigned char myChar[570]={
      /*   */  0x00,0x00,0x00,0x00,0x00,0x00,
      /* ! */  0x00,0x00,0xF2,0x00,0x00,0x00,
      /* " " */  0x00,0xE0,0x00,0xE0,0x00,0x00,
      /* # */  0x28,0xFE,0x28,0xFE,0x28,0x00,
      /* $ */  0x24,0x54,0xFE,0x54,0x48,0x00,
      /* % */  0xC4,0xC8,0x10,0x26,0x46,0x00,
      /* & */  0x6C,0x92,0xAA,0x44,0x0A,0x00,
      /* ' ' */  0x00,0xA0,0xC0,0x00,0x00,0x00,
      /* ( */  0x00,0x38,0x44,0x82,0x00,0x00,
      /* ) */  0x00,0x82,0x44,0x38,0x00,0x00,
      /* * */  0x28,0x10,0x7C,0x10,0x28,0x00,
      /* + */  0x10,0x10,0x7C,0x10,0x10,0x00,
      /* , */  0x00,0x0A,0x0C,0x00,0x00,0x00,
      /* - */  0x10,0x10,0x10,0x10,0x10,0x00,
      /* . */  0x00,0x06,0x06,0x00,0x00,0x00,
      /* / */  0x04,0x08,0x10,0x20,0x40,0x00,
      /* 0 */  0x7C,0x8A,0x92,0xA2,0x7C,0x00,
      /* 1 */  0x00,0x42,0xFE,0x02,0x00,0x00,
      /* 2 */  0x42,0x86,0x8A,0x92,0x62,0x00,
      /* 3 */  0x84,0x82,0xA2,0xD2,0x8C,0x00,
      /* 4 */  0x18,0x28,0x48,0xFE,0x08,0x00,
      /* 5 */  0xE4,0xA2,0xA2,0xA2,0x9C,0x00,
      /* 6 */  0x3C,0x52,0x92,0x92,0x0C,0x00,
      /* 7 */  0x80,0x8E,0x90,0xA0,0xC0,0x00,
      /* 8 */  0x6C,0x92,0x92,0x92,0x6C,0x00,
      /* 9 */  0x60,0x92,0x92,0x94,0x78,0x00,
      /* : */  0x00,0x6C,0x6C,0x00,0x00,0x00,
      /* ; */  0x00,0x6A,0x6C,0x00,0x00,0x00,
      /* < */  0x10,0x28,0x44,0x82,0x00,0x00,
      /* = */  0x28,0x28,0x28,0x28,0x28,0x00,
      /* > */  0x00,0x82,0x44,0x28,0x10,0x00,
      /* ? */  0x40,0x80,0x8A,0x90,0x60,0x00,
      /* @ */  0x4C,0x92,0x9E,0x82,0x7C,0x00,
      /* A */  0x7E,0x88,0x88,0x88,0x7E,0x00,
      /* B */  0xFE,0x92,0x92,0x92,0x6C,0x00,
      /* C */  0x7C,0x82,0x82,0x82,0x44,0x00,
      /* D */  0xFE,0x82,0x82,0x44,0x38,0x00,
      /* E */  0xFE,0x92,0x92,0x92,0x82,0x00,
      /* F */  0xFE,0x90,0x90,0x90,0x80,0x00,
      /* G */  0x7C,0x82,0x92,0x92,0x5E,0x00,
      /* H */  0xFE,0x10,0x10,0x10,0xFE,0x00,
      /* I */  0x00,0x82,0xFE,0x82,0x00,0x00,
      /* J */  0x04,0x02,0x82,0xFC,0x80,0x00,
      /* K */  0xFE,0x10,0x28,0x44,0x82,0x00,
      /* L */  0xFE,0x02,0x02,0x02,0x02,0x00,
      /* M */  0xFE,0x40,0x30,0x40,0xFE,0x00,
      /* N */  0xFE,0x20,0x10,0x08,0xFE,0x00,
      /* O */  0x7C,0x82,0x82,0x82,0x7C,0x00,
      /* P */  0xFE,0x90,0x90,0x90,0x60,0x00,
      /* Q */  0x7C,0x82,0x08,0x84,0x7A,0x00,
      /* R */  0xFE,0x90,0x98,0x94,0x62,0x00,
      /* S */  0x62,0x92,0x92,0x92,0x8C,0x00,
      /* T */  0x80,0x80,0xFE,0x80,0x80,0x00,
      /* U */  0xFC,0x02,0x02,0x02,0xFC,0x00,
      /* V */  0xF8,0x04,0x02,0x04,0xF8,0x00,
      /* W */  0xFC,0x02,0x1C,0x02,0xFC,0x00,
      /* X */  0xC6,0x28,0x10,0x28,0xC6,0x00,
      /* Y */  0xE0,0x10,0x0E,0x10,0xE0,0x00,
      /* Z */  0x86,0x8A,0x92,0xA2,0xC2,0x00,
      /* [ */  0x00,0xFE,0x82,0x82,0x00,0x00,
      /* \ */  0x40,0x20,0x10,0x08,0x04,0x00,
      /* ] */  0x00,0x82,0x82,0xFE,0x00,0x00,
      /* ^ */  0x20,0x40,0x80,0x40,0x20,0x00,
      /* _ */  0x02,0x02,0x02,0x02,0x02,0x00,
      /* ` */  0x00,0x80,0x40,0x20,0x00,0x00,
      /* a */  0x04,0x2A,0x2A,0x2A,0x1E,0x00,
      /* b */  0xFE,0x12,0x22,0x22,0x1C,0x00,
      /* c */  0x1C,0x22,0x22,0x22,0x04,0x00,
      /* d */  0x1C,0x22,0x22,0x12,0xFE,0x00,
      /* e */  0x1C,0x2A,0x2A,0x2A,0x18,0x00,
      /* f */  0x10,0x7E,0x90,0x80,0x40,0x00,
      /* g */  0x30,0x4A,0x4A,0x4A,0x7C,0x00,
      /* h */  0xFE,0x10,0x20,0x20,0x1E,0x00,
      /* i */  0x00,0x22,0xBE,0x02,0x00,0x00,
      /* j */  0x04,0x02,0x22,0xBC,0x00,0x00,
      /* k */  0xFE,0x08,0x14,0x22,0x00,0x00,
      /* l */  0x00,0x82,0xFE,0x02,0x00,0x00,
      /* m */  0x3E,0x20,0x18,0x20,0x1E,0x00,
      /* n */  0x3E,0x10,0x20,0x20,0x1E,0x00,
      /* o */  0x1C,0x22,0x22,0x22,0x1C,0x00,
      /* p */  0x3E,0x28,0x28,0x28,0x10,0x00,
      /* q */  0x10,0x28,0x28,0x18,0x3E,0x00,
      /* r */  0x3E,0x10,0x20,0x20,0x10,0x00,
      /* s */  0x12,0x2A,0x2A,0x2A,0x04,0x00,
      /* t */  0x20,0xFC,0x22,0x02,0x04,0x00,
      /* u */  0x3C,0x02,0x02,0x04,0x3E,0x00,
      /* v */  0x38,0x04,0x02,0x04,0x38,0x00,
      /* w */  0x3C,0x02,0x0C,0x02,0x3C,0x00,
      /* x */  0x22,0x14,0x08,0x14,0x22,0x00,
      /* y */  0x30,0x0A,0x0A,0x0A,0x3C,0x00,
      /* z */  0x22,0x26,0x2A,0x32,0x22,0x00,
      /* { */  0x00,0x10,0x6C,0x82,0x00,0x00,
      /* | */  0x00,0x00,0xFE,0x00,0x00,0x00,
      /* } */  0x00,0x82,0x6C,0x10,0x00,0x00,
      /* ~ */  0x80,0x40,0x80,0x40,0x00,0x00};

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/03/2012, 15h05
  2. Déterminer les coordonnées d'un point sur une droite
    Par Loot dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 05/07/2010, 13h47
  3. comment les gérer les fixations de prises et interrupteurs sur torchis + enduit terre
    Par invited6ba8fd7 dans le forum Bricolage et décoration
    Réponses: 3
    Dernier message: 12/05/2010, 16h18
  4. Définir une fonction à l'aide des coordonnées.
    Par madjes dans le forum Mathématiques du supérieur
    Réponses: 24
    Dernier message: 11/04/2008, 07h47
  5. Comment déterminer les coordonnées de points sur une courbe ?
    Par invite2965658b dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 20/05/2005, 09h42
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...