aie ... léger problème
au niveau de l'affichage multiplexé ... les segments ne s'éteignent pas aussi rapidement ... ce qui implique qu'il reste légèrement allumer ... on a même l'impression qu'il affiche le numéro précédent ... peut être que je dois changer un truc au niveau des résistances du PMOS ... si vous avez une idée ...
![]()
Dernière modification par Sloch ; 15/08/2017 à 08h54.
C'est ce qu'on appelle un problème de blanking
Quand tu changes de digit , cela ne se fait pas instantanément dans l'électronique.
Donc, pendant le changement, il faut invalider l'affichage (par la pin 13 des HC595)
- Mise à "1" de la pin 13 ( extinction de l'affichage)
- Tempo
- Chargement des infos pour le digit suivant
- Mise à "0" de la pin 13 ( validation de l'affichage)
J'aime pas le Grec
mmm .. la pin 13 du HC595 ... dit : output enable ... dans mon cas elle est directement liée à la masse (0) ... je vais voir si peux la controler via arduino et jongler avec pour supprimer ce problème de blanking
merci
Tu as une solution logicielle :
Le mot de 16bits que tu envoies en SPI au HC595 est de la forme (sauf erreur de ma part)
DDDD xxxx SSSS SSSx
S = état segment
x = Indifferent
D = Digit à allumer (1 parmi 4)
Donc tu as envoyé 0010 0000 1111 1110 allumage d'un 8 sur le digit 2
Pour l'éteindre, tu balances 0000 0000 0000 0000 pas d'allumage (équivalent du Enable="1")
J'aime pas le Grec
bon niveau modification logicielle :
j'ai ajouter cette partie apres chaque affichage de digit :
ca permet d’éteindre tous les digit ...digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, 0); //Set no digit
shiftOut(dataPin, clockPin, LSBFIRST, 0); //Set no segment
digitalWrite(latchPin, HIGH);
delayMicroseconds(800);
amélioration ... oué peut être ...
1502801326-007-n.jpg
c'est un 6 ...
1502801327-008-n.jpg
là c'est un ... eeeh ... 11 ...
1502801327-009-n.jpg
là par contre c'est un 12 ... non 15 ...
enfin ... c'est acceptable ... 7/10 ... j'essai encore d'améliorer le résultat ...
pas moyen de faire une amélioration hardware ... par exemple : placer une résistance de 330 ohm entre la base et l’émetteur du transistor ??
Dernière modification par Sloch ; 15/08/2017 à 14h06.
A quelle vitesse tu fais le balayage des 4 digits ?
J'aime pas le Grec
finalement c'est un problème de masse ..
elle n'est pas belle mon horloge
Je préfère ma pendule avec une clef !
Dans 40 ans , ton horloge donnera encore l'heure ?
J'aime pas le Grec
d'ici 40 ans (année 2057) est ce que on auras encore besoin de connaitre l'heure ...Je préfère ma pendule avec une clef !
Pièce jointe 348176
Dans 40 ans , ton horloge donnera encore l'heure ?
Merci DAUDET pour votre aide sur ce projet
elle est bien précise ta pendurle à clé ! ... moi mon DS1307 est un peu léger ... j'ai environ 5s de perdu par jour
j'ai lu votre message dans un ancien sujet :
mais le lien ne marche plus ... si vous pouvez me donner plus de renseignement afin de placer ce condensateur variable ...Le condensateur permet d'ajuster la fréquence du quartz à 32768,0000000000Hz.
http://doumai.pagesperso-orange.fr/1...lateur_32k.htm
Ensuite le quartz va dériver en fonction de la température, du vieillissement ..... etc
Les horlogers ont des fréquencemètres étalons pour faire ce réglage. Pour toi, tu regardes sur 24H, tu rectifies un peu, 24H, tu rectifies un peu et petit à petit tu seras au mieux.
PS: utilise une horloge de référence pilotée par DCF77