Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Horloge 60 leds , qui prend ce sujet
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1067
Âge : 60
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#81 Message par Gérard » dim. 28 avr. 2019 14:37

Bonjour à tous,

Je me joints à tout le monde pour dire :bravo: Paul. C'est une belle réalisation.
Le 18 / 04 / 2019 je suis devenu papy de jumeaux, une fille et un garçon. Quel bonheur.

Horloge 60 leds , qui prend ce sujet
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1286
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#82 Message par paulfjujo » dim. 28 avr. 2019 20:57

Jérémy a écrit :Puis je me permettre une suggestion ? Pourquoi l'écart entre les chiffres n'est pas équidistant ? Tout les chiffres sont alignés à gauche mais avec les ":" du coup cela donne un rendu visuel pas optimum je trouve ! C'est vraiment pour chipoter que je dis ça !


je n'ai que 4 digits pour afficher HH:MM
J'ai donc cadré tous les chiffres à gauche , justement pour pouvoir mixer les 2 points separateur avec le digit des heures
sinon il faudrait couper en 2 le circuit imprimé de 4 Matrices MAX7219
et rajouter 2 leds entres les 2 groupes de 2 .
nota: les chiffres ne font 5x8 au lieu de 8x8 dans la font initiale.
pour que les 2 points ne se colent pas trop pres d'un chiffre

une autre soluce ?
Aides toi, le ciel ou Fantastpic t'aideras

Horloge 60 leds , qui prend ce sujet
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 582
Âge : 33
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#83 Message par venom » dim. 28 avr. 2019 21:03

Peut être trop compliqué (ou moche) mais si tu décale les 2 chiffres de gauche au max vers la gauche et les 2 chiffres de droite au max vers la droite ? Et de passer en 7x8 ou 6x8
C'est peut être idiot. :oops:







@++
En fait tout est une question de BIT ? :-D

Horloge 60 leds , qui prend ce sujet
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1286
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#84 Message par paulfjujo » lun. 29 avr. 2019 16:20

bonjour,


venom a écrit :Peut être trop compliqué (ou moche) mais si tu décale les 2 chiffres de gauche au max vers la gauche et les 2 chiffres de droite au max vers la droite ? Et de passer en 7x8 ou 6x8
C'est peut être idiot. :oops: @++


non, pas idiot,
mais cela suppose que j'aie 2 jeux de fontes decimales de 0 à 9
une cadrée à gauche
une cadree à droite
le separateur :: est constitué de 4 points ( 2 en haut et 2 en bas
et que je mettes la moitié du separateur constitué de 2 points : à gauche (dans l'unites des heures) et l'autre : à droite
dans les dizaines de minutes
je le ferai peut etre ...
Aides toi, le ciel ou Fantastpic t'aideras

Horloge 60 leds , qui prend ce sujet
Jérémy
Administrateur du site
Administrateur du site
Messages : 2310
Âge : 40
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#85 Message par Jérémy » lun. 29 avr. 2019 17:10

Après nous on dit ça on dit rien ! dehors!!
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Horloge 60 leds , qui prend ce sujet
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1286
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#86 Message par paulfjujo » mer. 1 mai 2019 13:38

Jérémy a écrit :Après nous on dit ça on dit rien ! dehors!!


tu en as trop dit , je me suis senti obligé de regler ça.


Time_and_Temper_190501.jpg



en dessous , juste la partie de code assurant la symetrisation.
leprojet complet
et une video sur ma page.

Au passage, reduction :
200 bytes utilisés pour les definitions de caracteres au lieu des 1024 pour la fonte complete char 0 à127



Code : Tout sélectionner


Horloge Anneau
                 
 
// separateur HH et MM
static unsigned char Lettre_Sep_D[8]   ={ 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 };//  Char 058 ( :)
static unsigned char Lettre_Sep_G[8]   ={ 0x00, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00 };//  Char 106 (: )
static unsigned char Point_D[8]        ={ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01 };// Char 250 (. )
static unsigned char Point_G[8]        ={ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80 };// Char 251 ( .)
static unsigned char Lettre_Degre_C[8] ={ 0x70, 0x50, 0x77, 0x04, 0x04, 0x04, 0x04, 0x07 };// Char 127 (°C)}
static unsigned char Chiffres_G[10][8]={
        {0x70, 0x88, 0x88, 0x98, 0xA8, 0xC8, 0x88, 0x70},// Char 048 (0)
    {0x20, 0x60, 0xA0, 0x20, 0x20, 0x20, 0x20, 0xF8},    // Char 049 (1)
    {0x70, 0x88, 0x08, 0x38, 0x60, 0xC0, 0x88, 0xF8},    // Char 050 (2)
    {0x70, 0x88, 0x08, 0x38, 0x08, 0x08, 0x88, 0x70},    // Char 051 (3)
    {0x18, 0x28, 0x48, 0x88, 0xF8, 0x08, 0x08, 0x08},    // Char 052 (4)
    {0xF8, 0x80, 0x80, 0xF8, 0x08, 0x08, 0xC8, 0x70},    // Char 053 (5)
    {0x78, 0xC0, 0x80, 0xF0, 0x88, 0x88, 0x88, 0x70},    // Char 054 (6)
    {0xF8, 0x88, 0x18, 0x30, 0x20, 0x20, 0x20, 0x20},    // Char 055 (7)
    {0x70, 0x88, 0x88, 0xF8, 0x88, 0x88, 0x88, 0x70},    // Char 056 (8)
    {0xF8, 0x88, 0x88, 0xF8, 0x08, 0x08, 0x08, 0xF0}    // Char 057 (9)
    } ;
static unsigned char Chiffres_D[10][8]={
        {0x0E, 0x11, 0x11, 0x13, 0x15, 0x19, 0x11, 0x0E},    // Char 096 (0)
    {0x04, 0x0C, 0x14, 0x04, 0x04, 0x04, 0x04, 0x1F},    // Char 097 (1)
    {0x0E, 0x11, 0x01, 0x07, 0x0C, 0x18, 0x11, 0x1F},    // Char 098 (2)
    {0x0E, 0x11, 0x01, 0x07, 0x01, 0x01, 0x11, 0x0E},    // Char 099 (3)
    {0x03, 0x05, 0x09, 0x11, 0x1F, 0x01, 0x01, 0x01},    // Char 100 (4)
    {0x1F, 0x10, 0x10, 0x1F, 0x01, 0x01, 0x19, 0x0E},    // Char 101 (5)
    {0x0F, 0x18, 0x10, 0x1E, 0x11, 0x11, 0x11, 0x0E},    // Char 102 (6)
    {0x1F, 0x11, 0x03, 0x06, 0x08, 0x08, 0x08, 0x08},    // Char 103 (7)
    {0x0E, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11, 0x0E},    // Char 104 (8)
    {0x1F, 0x11, 0x11, 0x1F, 0x01, 0x01, 0x01, 0x1E}    // Char 105 (9)
        };

        
void Affiche_Text_Matrice
(Byte *p1, Byte Type)
{
Byte cx;
int i,j,n;
    k=0;
    n=0;
    j=0;
     while (*(p1)>0)
     {
     cx=*(p1)-48;
        for (i=0;i<8;i++)
        {
           switch (n)
          {
            case 0:
               Aff_buffer[j+i]= Chiffres_G[cx][i];
               break;
            case 1:
               Aff_buffer[j+i]= Chiffres_G[cx][i];
               if ((Type==0) && (Sec%2==0))Aff_buffer[j+i]= Aff_buffer[j+i] | Lettre_Sep_D[i] ;
               if (Type==1)  Aff_buffer[j+i]= Aff_buffer[j+i]  |  Point_D[i];   // point decimal temperature
               break;
            case 2:
                Aff_buffer[j+i]= Chiffres_D[cx][i];
               if ((Type==0) && (Sec%2==0)) Aff_buffer[j+i]= Aff_buffer[j+i] | Lettre_Sep_G[i] ;
               if (Type==1) Aff_buffer[j+i]= Aff_buffer[j+i] | Point_G[i] ;
               break;
            case 3:
               Aff_buffer[j+i]= Chiffres_D[cx][i];
                if (Type==1) Aff_buffer[j+i]= Lettre_Degre_C[i];
                break;
            }
          SPI_Write_To_4x7219(i+1,Aff_buffer[24+i],Aff_buffer[16+i],Aff_buffer[8+i],Aff_buffer[i]);
        }
      //  j++;
       j=j+8;
       p1++;
       n++;
     }
   }

   
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aides toi, le ciel ou Fantastpic t'aideras


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Bing [Bot] et 5 invités