Voyez-le en action dans les films quicktime attaché !
Il y a plusieurs façons d’afficher l’heure en analogique et en numérique, mais on a jamais vu par la plupart est une horloge numérique à chiffres romains. J’ai créé un en utilisant les pièces suivantes :
-Kit de démarrage PIC18F8F46K20
-PICKit2 de Microchip.
Alimentation électrique -9 V
-MPLAB IDE 8,40 pour l’écriture et la compilation du code (Téléchargement gratuit depuis le site de Microchip)
Exemple - RTC (real time clock) programme avec kit de démarrage modifié pour ce instructable.
Matériel
La planche de kit de départ a un petit écran OLED approprié pour l’affichage de l’heure en chiffres arabes comme tout comme les chiffres romains.
Système de numérotation romaine n’inclut pas un « 0 » il rend l’horloge un peu bizarre parfois comme vous le verrez.
Le romain, système de numérotation est le suivant :
0 pas de zéro en chiffres romains et nous utilisons des espaces
J’ai 1
II 2
III 3
IV 4
V 5
6 VI
VII 7
VIII 8
IX 9
X 10
XI 11
XII, 12
XIII 13
XIV, 14
XV 15
XVI, 16
XVII 17
XVIII, 18
XIX 19
XX 20
XXI 21
XXII, 22
XXIII, 23
XXIV, 24
XXV 25
XXVI 26
XXVII 27
XXVIII 28
XXIX 29
XXX 30
XXXI, 31
XXXII 32
XXXIII, 33
XXXIV, 34
XXXV 35
XXXVI 36
XXXVII 37
XXXVIII 38
XXXIX, 39
XL 40
XLI 41
XLII 42
XLIII 44
XLIV 44
XLV 45
XLVI 46
XLVII 47
XLVIII, 48
XLIX 49
L 50
LI 51
IIL 52
LIII 53
LIV, 54
LV 55
LVI 56
LVII 57
LVIII 58
LIX 59
Une explication de la façon dont chaque numéro est formé se trouve à :
http://en.wikipedia.org/wiki/Roman_numerals
Vue d’ensemble
Dans les exemples de programmation que fournit de Microchip est exemple de code pour un real-time-horloge (RTC). J’ai adapté ce code pour créer une chaîne de chiffres romains basée sur des chiffres générés par le code de la CCF. Étant donné que les heures sont uniquement 1 à 12 que les espaces plus les chiffres romains peuvent occuper sont 4. Minutes et secondes, les deux vont de 1 à 59 et 38 a la plus romaine des caractères de chiffres à sept ans, donc chacune de ces chaînes doit être sept caractères au minimum de temps. J’ai utilisé un deux-points ':' comme un séparateur entre les heures, minutes et secondes sur l’écran le même que l’horloge décimale. C’est pourquoi la chaîne totale requise est 4(hrs)+1(colon)+7(mins)+1(colon)+7(secs) ou 20 caractères qui rentrera dans une ligne à travers l’écran OLED.
L’écran OLED
L’écran OLED est différent et LCD en ce que chaque pixel est une LED active. À la différence et écran LCD ce qui nécessite une source de lumière séparée à transmettre par l’intermédiaire ou réfléchir hors de l’affichage de chaque pixel OLED émet sa propre lumière. Si tous les pixels sont éteints il y a très peu d’énergie utilisé et que vous tournez sur plus de pixels plus de puissance est utilisé, mais ce pouvoir est encore beaucoup moins que le rétro-éclairage de type LCD.
Fonctionnement de l’horloge :
Il y a quatre boutons associés à l’horloge, que le bouton supérieur gauche incrémente heures, le bouton supérieur droit incrémente minutes. Le bouton inférieur gauche synchronise l’horloge sur la zéro seconde en tenant jusqu'à ce que la référence de temps affiche 00 secondes et puis relâchant immédiatement. Lorsque ce bouton est maintenu vers le bas de l’écran couleurs est inversé et l’horloge ne met pas à jour.
Le bouton inférieur gauche permet de sélectionner le format d’affichage comme indiqué ci-dessous : horloge numérique décimal tout à fait normal, horloge numérique numéro romain ou les deux à la fois. Il vous maintenez ce bouton vers le bas de l’écran formats permet de faire défiler tous les trois, changeant une fois chaque seconde.
Le firmware :
Le firmware est presque identique au firmware d’origine fourni par Microchip, sauf que j’ai ajouté les tableaux aux polices. C de créer myfonts.c (anciennement fonts.c) en ajoutant que les chiffres romains et main.c est devenu rtcmain.c où j’ai changé le code à ajouter à ce qui était nécessaire pour afficher les chiffres romains mais aussi de basculer entre l’affichage de formats. J’ai aussi modifié OLED. C pour créer des caractères sur deux hauteur les polices originales fournies pour les rendre plus visibles.
Si vous ne souhaitez pas apporter des modifications, puis tout ce dont vous avez besoin est de programmer le fichier RTC.hex dans la planche de kit de départ et vous aurez une horloge chiffre romain.
Explorations futures
Étant donné la petite taille et la puissance relativement faible de l’écran OLED, il devrait être possible de faire cela dans une montre-bracelet roman. Autres polices plus grandes pourraient être créées pour le rendre plus lisible avec heures, minutes et secondes chacun sur leur propre ligne. Le code source est bu ci-dessous.