Sprintf / Horloge LCD

Bonsoir !

Il y a quelques mois, j'avais conçu une horloge numérique composée d'un arduino Uno et 4 écrans LED matrix8x8

Ayant eu beaucoup de problèmes avec les RTC (se remettent à minuit en 1970, ou perdent des minutes chaque jour), j'ai donc fait en sorte que l'arduino avance l'heure tout seul (delay1000 puis variable sec++, ect...)

J'ai ensuite été bloqué sur l'affichage des deux variables int (heures et minutes) sur les LCD via la librairie Parola. Grâce à ce forum, le système fonctionne parfaitement à l'aide de :

    char str[20];
    sprintf(str,"%d:%02d",heure,minutes);
    P.displayText(str, CENTER, 0, 0, PRINT, NO_EFFECT);
    P.displayAnimate();

Je souhaite désormais aller un peu plus loin, j'ai donc commandé les mêmes LCD pour afficher une deuxième horloge à côté. Tout est prêt au niveau de la gestion de la 2e horloge, il y a donc une nouvelle variable (secndheure), mais comment faire pour l'afficher après l'heure de France et un espace ?

Merci :slight_smile:

Vous avez bien entendu lu la doc de sprintf(), n'est-ce pas?

Vous n'avez pas une petite ligne de code à nous proposer ?

J-M-L:
Vous avez bien entendu lu la doc de sprintf(), n'est-ce pas?

Vous n'avez pas une petite ligne de code à nous proposer ?

#include <MD_Parola.h>    // Lib Parola
#include <MD_MAX72xx.h>
#if USE_LIBRARY_SPI
#include <SPI.h>
#endif

                       // DATA,CLK,CS,Devices
MD_Parola P = MD_Parola (10, 8,   9,   4);
                       // DATA,CLK,CS,Devices
MD_Parola Q = MD_Parola (6,   5,   7,   4);

int heure = 13;
int minutes = 37;
int sec = 0;
int secndheure = 8;

void setup(void)
{
P.begin();
Q.begin();
}

void loop(void)
{
    char str[20];
    sprintf(str,"%d:%02d",heure,minutes);
    P.displayText(str, CENTER, 0, 0, PRINT, NO_EFFECT);
    P.displayAnimate();

    char str[20];
    sprintf(str,"%d:%02d",secndheure,minutes);
    Q.displayText(str, CENTER, 0, 0, PRINT, NO_EFFECT);
    Q.displayAnimate();
}

Sauf qu'il n'y a que le premier écran qui s'allume :frowning:

Up...

Si vous échangez P et Q dans le;code est-ce que le second s'allume (juste pour voir s'il fonctionne?)

J-M-L:
Si vous échangez P et Q dans le;code est-ce que le second s'allume (juste pour voir s'il fonctionne?)

J'ai tenté, et ce n'est que le 2nd écran qui s'allume... De même, j'ai essayé avec le code de départ de brancher le 2nd écran sur les pins du 1er, et inversement, même résultat, il n'y a que le P. qui s'allume :frowning:

Essayez en les chaînant sur le même bus SPI (et utilisez le SPI materiel) et utilisez les fonctions de zones de la librairie.