HORLOGE : pour quand lire une horloge est trop facile

Sur Hackaday.io, [danjovic] présente cloCkTAL, une horloge LED simple pour ceux d’entre nous qui luttent avec le concept même de faciliter la lecture de l’heure. Éloignez-vous des horloges binaires, vous êtes facile, parlons octal codé binaire. Oui, c’est une chose. Nous allons le laisser [danjovic] pour décrire comment y lire l’heure :

N’essayez pas de faire le calcul en utilisant 6 bits. L’astuce pour lire cette horloge est de lire chaque chiffre de 3 bits en binaire et de multiplier les MSB par 8 avant de faire la somme des LSB.

Simple. Si vous êtes assez éveillé, bien sûr. Quoi qu’il en soit, nous sommes un grand fan de la méthode de construction brute simplifiée utilisant des panneaux perforés et des déchets de bois. Aucun détail caché ici. Le circuit est simple, étant basé sur une configuration minimale nécessaire pour piloter le PIC16F688 et une poignée de LED disposées dans une matrice 3×4.

Un détail intéressant est l’utilisation de l’algorithme de Bresenham pour dériver l’événement par seconde nécessaire pour garder une trace du temps. Et non, ce n’est pas l’algorithme de ligne de Bresenham le plus célèbre avec lequel vous êtes peut-être plus familier, il est beaucoup plus simple, mais fonctionne sur le même principe de remplacement des opérations de division arithmétique coûteuses par des erreurs incrémentielles. L’algorithme original de Bresenham a été conçu pour être utilisé avec des traceurs XY, qui avaient une résolution limitée, et était destiné à permettre des mouvements qui étaient dans un rapport imparfait à cette résolution. Il a été développé en une méthode d’approximation des lignes, puis étendu pour couvrir les cercles, les ellipses et d’autres types de dessins.

L’algorithme de Bresenham vous permet de créer l’événement que vous voulez, avec tout période de tout fréquence de l’oscillateur, et c’est vraiment très utile. Maintenant, évidemment, vous n’obtenez rien pour rien, et l’inconvénient est la gigue périodique, mais au moins c’est déterministe. La façon dont cela fonctionne est d’alterner la période à compter entre deux rapports de division de puissance de deux (ou quelque chose de facilement créé à partir de cela) de sorte que la période moyenne soit ce que vous voulez. D’un cycle à l’autre, il y a une erreur, mais dans l’ensemble, ces erreurs ne s’accumulent pas et nous obtenons la période moyenne souhaitée. L’exemple donné dans [Roman Black]La description de est d’alterner 16 cycles et 24 cycles pour obtenir une moyenne de 20 cycles.

Le côté logiciel des choses peut être inspecté en se rendant sur le horloge GitHub qui utilise le compilateur Small Device C qui prend en charge un bon nombre d’appareils, au cas où, chers lecteurs, vous ne l’auriez pas encore rencontré.

La vidéo montre l’horloge soumise à un test simple démontrant la gradation de la LED en réponse à la lumière ambiante. Dans l’ensemble, une construction assez simple et efficace.