Je me suis mis en tête de faire une horloge le plus simplement possible avec l'arduino.
J'ai commencé simple :
ne pas utiliser d'horloge externe
Initialiser une heure au démarrage de l'arduino
Afficher l'heure toutes les 10 ou 30 secondes
Utiliser 2 matrices 64 LED que j'ai en stock
le principe que j'ai utilisé :
j'ai une heure initiale qui est initialisée dans le setup,
toutes les 30 secondes j'ai une interruption qui affiche l'heure actuelle.
L'heure actuelle est égale à l'heure initiale + la fonction millis() (avec les conversions qui vont bien )
je sais que j'aurais un problème dans 50 jours, mais pour l'instant je ne cherche pas à résoudre ce problème.
Par contre : Le principe fonctionne plutôt bien, l'heure s'affiche correctement mais toutes les 24h j'ai environ 2 minutes de décalage .
je ne trouve pas pourquoi ce décalage , et est-il possible de le corriger ?
L'horloge 16 MHz des cartes Arduino utilise la plupart du temps non pas un quartz mais un résonnateur céramique que dont la précison est n'est que de 0,5%, parfois même 1%
Une erreur de deux minutes sur 1440 minutes reste dans la tolérance de ce type d'oscillateur.
Sur le papier on peut imaginer une modification de la carte Arduino en rempaçant le résonnateur par un quartz accompagné de ses deux consensateurs (dont l'un peut être ajustable). Dans les faits mieux vaut utiliser une horloge externe ayant une 'précision horlogère'. L'horloge de la carte Arduino a pour fonction le cadencement du microcontrolleur....sans prétention 'horlogère'
je vais donc passer à l'achat d'un DS3231 et d'un module TEA5767 pour la radio.
je profite de ce post :
Est-ce qu'un module tea5767 simple est suffisant ou faut-il amplifier le signale de sortie (c'est pour un radio réveil pas besoin d'aller très fort) ?
pascal_b:
je profite de ce post :
Est-ce qu'un module tea5767 simple est suffisant ou faut-il amplifier le signale de sortie (c'est pour un radio réveil pas besoin d'aller très fort) ?
Ouvre en plutôt un autre avec le titre qui ira bien....