Verlo en acción en las películas de quicktime adjunto!
Hay muchas maneras de visualizar el tiempo en análogo y digital, pero uno nunca visto por la mayoría es un reloj digital de números romanos. He creado uno con las siguientes partes:
-Kit de inicio PIC18F8F46K20
-PICKit2 de Microchip.
-9 V de alimentación.
-MPLAB IDE 8.40 para escribir y compilar el código (descarga gratuita desde la Página Web de Microchip)
-RTC (reloj en tiempo real) en el ejemplo se programa con kit de arranque modificados para este instructable.
Hardware
La Junta de kit de arranque tiene una pequeña pantalla OLED conveniente para mostrar el tiempo en dígitos árabes como ell como números romanos.
Sistema de numeración romano no incluye un '0' por lo que hace el reloj mira un poco raro a veces como se verá.
Sistema de numeración romano es como sigue:
0 no hay cero en números romanos para que usar espacios
I 1
II 2
III 3
IV 4
V 5
VI 6
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
LII 52
LIII 53
LIV 54
LV 55
LVI 56
LVII 57
LVIII 58
LIX 59
Una explicación de cómo se forma cada número se encuentra en:
http://en.wikipedia.org/wiki/Roman_numerals
Resumen
En los ejemplos de programación que provee Microchip es código de ejemplo para un real-time-clock (RTC). Yo he adaptado este código para crear una cadena de números romanos basándose en los números generados por el código RTC. Ya que el horario es sólo de 1 a 12 que puede tomar la mayoría de los espacios los números romanos son 4. Minutos y segundos que ambos van de 1 a 59 y 38 tiene más romano números caracteres a las siete, por lo que cada una de esas cadenas debe ser largo mínimos siete caracteres. He utilizado dos puntos ':' como un separador entre las horas, minutos y segundos en la pantalla lo mismo que el reloj decimal. Por lo tanto la cadena total necesaria es 4(hrs)+1(colon)+7(mins)+1(colon)+7(secs) o 20 caracteres que caben en una línea en la pantalla OLED.
La pantalla OLED
Es diferente de la pantalla OLED y LCD en la que cada pixel es un LED activo. A diferencia de y LCD que requiere una fuente de luz independiente o transmitir a través de reflejar en la pantalla cada pixel OLED emite su propia luz. Si todos los pixeles están apagados hay muy poca potencia y como encender más píxeles se utiliza más energía, pero este poder es todavía mucho menor que la típica luz de fondo LCD.
Operación reloj :
Hay cuatro botones asociados con el reloj que el botón superior izquierdo incrementos de horas, el botón superior derecho incrementa minutos. El botón izquierdo inferior sincroniza el reloj en el segundo cero sujetándolo hasta que la referencia aparezca 00 segundos y luego soltándolo inmediatamente después. Mientras este botón la pantalla los colores se invierte y el reloj no se actualiza.
El botón izquierdo inferior permite seleccionar el formato de presentación como se ve abajo: normal decimal reloj digital, reloj digital número romano o ambos al mismo tiempo. Se mantenga pulsado este botón hacia abajo de la pantalla formatos pasará por los tres cambian una vez cada segundo.
El firmware:
El firmware es casi idéntico al original firmware suministrado por Microchip excepto he añadido las tablas a las fuentes. C myfonts.c (anteriormente fonts.c) agregando los números romanos y main.c se convirtió en rtcmain.c donde he cambiado el código para añadir lo que se necesita para mostrar los números romanos, así como cambiar entre la pantalla de crear formatos. También modifiqué OLED. C crear doble altura de caracteres de las fuentes originales para hacerlas más visibles.
Si usted no quiere hacer los cambios entonces todo lo que necesita es programar el archivo RTC.hex en la placa del kit de arranque y usted tendrá un reloj de números romanos.
Futuras exploraciones
Dado el pequeño tamaño y energía relativamente baja de la pantalla OLED debe ser posible hacer esto en un nuevo reloj de pulsera. Fuentes más grandes, se podrían crear para que sea más legible con horas, minutos y segundos cada uno en su propia línea. Código fuente es bebiendo a continuación.