Horloge réglable avec TM1637 + DS3231

Portrait de Halzote

Bonjours à tous,

Alors voilà j'ai cherché depuis quelques jours un code pour aller avec mon écran 7 segments TM1637 et mon RTC DS3231 que je pourrais réglé avec trois boutons et j'ai eu plusieurs soucis.

Pour commencé j'ai cru que mon écran 7 segments était foutu parce que le TM1637 test ne fait pas fonctionné mon écran mais par contre ce code là : https://www.ordinoscope.net/index.php/Electronique/Hardware/Ecrans/TM1637 me prouve que mon écran fonctionne ( même si je ne connecte pas le VCC et ça me perturbe un peu )

Du coup j'ai trouvé ce code qui a exactement le même écrans : http://arduinolab.pw/index.php/2016/06/23/chasy-na-arduino/ mais là comme pour le code test mon ecran ne s'allume pas alors que j'ai suivi le schéma et du coup est-ce qu'une personne pourrait m'expliquer pourquoi ça ne fonctionne pas ou me conseiller un autre code svp ? 

Merci d'avance et très bonne journée à tous. =)

Portrait de Halzote

Coucou Brossden ^^,

Alors pour l'écran il affiche 45: 5 (l'espace entre le : et le dernier 5 est respecté)

Mais j'ai pas pu tout branché parce que je ne comprend pas ce morceau de code :

#define CLK 6
#define DIO 7
#define brightness 6

Alors CLK et DIO j'ai branché l'écran ok mais #define brightness 6 je ne comprend pas :/ Et puis plus bas je vois que tu incorpores le code pour le DS3231 mais je dois le relier à quoi ? 

Merci d'encore essayer de m'aider j'apprécie beaucoup :D

Portrait de Halzote

Voilà ça me donne le même résultat que quand le DS3231 n'était pas branché. J'ai rechargé le code pour être sûr mais rien n'y fait. Les boutons n'ont aucun effet visible. 

9a3c1969-074c-4543-bd4c-3aefeac9527a.jpeg

Portrait de Walter

#define CLK 6
#define DIO 7
#define brightness 6

Sont des constantes, chaîne représentant une valeur fixe, tu peux alors utiliser cette chaîne comme tu le fait avec une variable.
Lors de la compilation(pré-compilation) la chaîne sera automatiquement remplacé par sa valeur.
A la différence d'une variable, cette chaîne n'occupe aucune place en mémoire.

TM1637 tm1637(CLK, DIO);
tm1637.set(brightness);

Portrait de Spy

J'ai écris ce bout de code :

#define CLK 6
#define DIO 7
#define brightness 6
void setup() {
  Serial.begin(9600);
  Serial.println(CLK*DIO*brightness);
}

void loop() {
}

Pas d'erreur à la compilation, sur la console Série j'obtiens : 252 exactement le même résultat que sur la calculette... J'ignorais que l'on pouvait multiplier les chaînes entre elles .... Par contre le compilateur remplace les références à ces constantes par leur valeur au moment de la compilation et de ce fait pas de prise de place dans l'espace dédié au variables par ces constantes.