EDU_NA008 - Reloj calendario perpetuo

COMENTARIO TECNICO “Mundo EDUKIT08” Por: Ing. Roberto Simone Ingeniero de aplicaciones Freescale [email protected] Ing. Daniel Di Lella D.F

1 downloads 176 Views 249KB Size

Recommend Stories


IIVSTBliCTIVO Y PERPETUO
IIVSTBliCTIVO Y PERPETUO C A L C U L A D O POE VS N U E V O METODO, QUE CON MAS EXACTITUD ASTRONOMICA T COX MAS FACILIDAD DA LOS MISMOS RESULTADO

RELOJ COMPARADOR STANDARD
RELOJ COMPARADOR STANDARD Código Medida mm. 041019 0 - 10 Lectura 0,01 Vástago Esfera A+B F G H mm. mm. mm. mm. mm. mm. Ø 8 H6 Ø 58

Story Transcript

COMENTARIO TECNICO

“Mundo EDUKIT08” Por: Ing. Roberto Simone Ingeniero de aplicaciones Freescale [email protected]

Ing. Daniel Di Lella D.F.A.E [email protected] [email protected] (MDO_EDUKIT_014)

EDU_NA008 - Reloj calendario perpetuo. Primera Parte. Instituto Don Orione – Victoria. Coordinador general: Eduardo Pavelek. Coordinador de proyecto: Israel Pavelek. Profesor a cargo: Guillermo Teran. Alumnos: Arana Bárbara, Astudillo María Leandra, Cimino Nicolás. Esta serie de artículos estará dedicada a los muy buenos proyectos realizados por las diferentes escuelas técnicas que participaron del programa de entrenamiento con los sistemas didácticos “EDUKIT08”. En esta segunda serie de artículos presentaremos el proyecto realizado por los alumnos del Instituto Don Orione de Victoria, Pcia. de Buenos aires, una de las escuelas participantes de dicho programa.

Especificaciones: ‰

Reloj con calendario perpétuo.

• Utilizar Display LCD con Backlight con función Auto Power OFF. • Fecha / hora / y Día en pantalla (Lunes a Viernes). • Acepta cualquier Año de este milenio (2000 a 2099). • Utilizar RTC / TBM por módulo TBM y xtal. de 32,768KHZ del sistema. • Acepta configuración por Puerto RS-232C SCI1 por medio de comandos sencillos del tipo “interpretados” enviados desde PC con HyperTerminal de Windows. • Implementar comando “Help” “?” para ayuda de configuración de comandos. • Implementar un comando que permita mostrar en pantalla del HyperTerminal al menos 20 países con distintos Husos Horarios y se pueda elegir uno de ellos por medio de un número de orden. • Implementar comando que permita conversión automática de hora GMT / UTC / Hora del Pacífico / CST / EST / MSK.

Acerca del programa de entrenamiento con el “EDUKIT08”... El programa de entrenamiento intenta masificar el uso de los sistemas didácticos / entrenamiento para el aprendizaje del diseño de sistemas con MCUs de la familia Freescale y sus aplicaciones. De esta forma se intentan dar las diferentes opciones de tareas que pueden ser realizadas con este tipo de dispositivos. Dentro de las diferentes opciones que se nos dio a realizar elegimos llevar a cabo el proyecto del reloj calendario perpetuo ya que nos pareció conveniente desde el punto de vista de que cubre o implica muchas aplicaciones interesantes que pueden realizarse con este tipo de elementos. Para conocer el funcionamiento de este tipo de dispositivos decidimos partir de la base de lo que es y como funciona un reloj calendario y para que puede servirnos.

Partes y aplicaciones de un reloj calendario perpetuo: RELOJ:

Se denomina reloj a una herramienta u operador técnico que permite medir el tiempo. Existen diversos tipos, que se adecuan según el propósito: • Conocer la hora actual (reloj de pulso, reloj de bolsillo, reloj de salón o pared). • Medir la duración de un suceso (cronómetro, reloj de arena). • Señalar las horas por sonidos parecidos a campanadas o pitidos (reloj de péndulo, reloj de pulso con “bip” a cada hora). • Activar una alarma en cierta hora específica (reloj despertador)

El reloj que comprende nuestro proyecto es de tipo digital, cuyo objetivo o fin es indicar la hora en el país y también nos da la posibilidad de conocer el horario en 20 diferentes husos horarios, como así también permite adecuar el horario a los diversos cambios que se dan, por ejemplo, en verano por motivos de ahorro de energía. CALENDARIO: Lógicamente es conocido el hecho de que existen diferentes modelos o tipos de calendarios. Existen calendarios digitales que entre sí también cumplen diferentes funciones de acuerdo a lo que se pide de los mismos; también existen calendarios de tipo manual que difieren entre sí, en tamaño, forma, etc. El calendario que incorporaremos en el dispositivo principal de nuestro proyecto será del tipo de calendario perpetuo. El calendario perpetuo es un sistema calendario que permite determinar, de una manera sencilla, el día de la semana para cualquier fecha, dentro de un largo rango de años que usualmente abarca muchos siglos (en este caso se tendrán en cuenta los años comprendidos entre el año 2000 y 2099). Los calendarios perpetuos consistían originalmente en una serie de tablas que permitían calcular el día de la semana de una fecha. Más recientemente se han hecho calendarios perpetuos implementados como dispositivos mecánicos, electrónicos, digitales, o programas de computadora. HUSOS HORARIOS: Al mismo tiempo que la Tierra se traslada alrededor del Sol, va efectuando el movimiento de rotación en torno a su eje imaginario. Este movimiento giratorio es realizado de oeste a este, en un tiempo de 23 horas, 56 minutos y cuatro segundos, tiempo que se aproxima a 24 horas. Como consecuencia del movimiento de rotación de la Tierra, se origina la sucesión del día y la noche. Como la Tierra es una esfera iluminada por el Sol, éste no puede iluminar toda la esfera al mismo tiempo, por lo cual mientras una parte se mantiene iluminada, está de día; y cuando la otra se encuentra en la oscuridad, es de noche. También se origina a partir de la rotación de la Tierra la diferencia horaria que existe entre los diversos lugares del planeta. Es fácil entonces concluir que, debido a la distinta iluminación de los rayos solares sobre la Tierra, no todos los puntos del globo terrestre poseen la misma hora, por lo cual se hizo necesario crear un sistema para establecer la hora que correspondería a cada lugar. La Tierra demora 24 horas en dar una vuelta sobre su eje imaginario (movimiento de rotación) recorriendo 360°; al dividir los 360 ° por 24 se obtienen 24 sectores de 15° cada uno. De esta forma se ha dividido la Tierra en 24 sectores de 15° de longitud, equivalentes a una hora, cada uno de los cuales es llamado Huso Horario. Se facilita así la determinación de la hora a nivel internacional, pues los territorios

comprendidos dentro de un Huso Horario poseen la misma hora. Cabe señalar que es ésta una situación convencional, pues en realidad entre cada grado de longitud existen 4 minutos de diferencia. Al establecer los Husos Horarios fue necesario determinar un meridiano a partir del cual se comenzaría a contar un nuevo día. Surge de esta forma la llamada Línea Internacional de la Fecha, que corresponde a una línea imaginaria que se extiende de polo a polo, la cual corresponde aproximadamente al meridiano de los 180°. Aplicación del sistema de husos horarios Como la Tierra realiza el movimiento de rotación en sentido Oeste - Este, en el momento en que un lugar recibe los rayos del sol perpendicularmente, se habla de mediodía y por el sistema de husos horarios el meridiano que se ubica 15° al oeste del anterior recibirá los rayos solares una hora después, por lo cual los relojes deberán marcar las 11; de manera similar, en el meridiano situado 15° hacia el este los rayos solares pasaron una hora antes, por lo tanto aquí los relojes deberán marcar las 13 horas. HORARIOS DE VERANO: Durante el Horario de Verano, este cambia al de la Zona del Pacífico (del UTC -8 al UTC -7). En México se observa el Horario de Verano entre el primer domingo de Abril y el último domingo de Octubre, por lo que el Zona Centro, cambia este periodo del huso UTC -6 al UTC -5. La Zona Pacífico, cambia este periodo del huso UTC -7 al UTC -6, con excepción del estado de Sonora, que es el único en México que no observa el horario de verano, en concordancia con el vecino Arizona, que tampoco lo hace. El estado de Baja California, ubicado en la Zona Noroeste, ha utilizado el horario de verano desde hace muchas décadas, y hasta 1996 era el único estado mexicano en utilizar el horario de verano. Horario de verano europeo

Zonas horarias de Europa:

*Los colores claros indican los países sin horario de verano. El Horario de Verano Europeo o European Summer Time (EST) es el horario de ahorro de luz solar practicado en Europa, periodo durante el que los relojes se adelantan una hora en relación con el tiempo oficial observado durante el resto del año. Se lleva a cabo en todos los países de Europa, con excepción de Islandia (que observa el horario UTC durante todo el año). Este periodo se extiende desde la 01.00 UTC del último domingo de marzo hasta la 01.00 UTC del último domingo de octubre de cada año. Existen diferentes criterios para implementar el horario de verano y los cambios de hora. Por lo tanto decidimos implementar uno de los que se utilizan el cual consta de adelantar una hora al horario vigente en el primer día de la primavera (el 21 de septiembre) la cual luego será atrasada nuevamente el día que de comienzo al otoño (el 21 de marzo), elegimos este criterio ya que es el que se supone que se utiliza aquí, en Argentina.

Introducción al programa (resumen y explicación general): A continuación daremos los detalles generales que utilizamos para llevar a cabo el programa y algunas cosas a tener en cuenta para la realización del mismo como por ejemplo el hecho de la existencia de los años bisiestos y demás: Lo primero que decidimos hacer fue definir las pantallas de tal manera de implementar como primera medida las pantallas de bienvenida.

Luego definimos el esquema de muestreo de la fecha y hora quedando de la siguiente manera: DDD: Día de la semana Lun, Mar, Mie, Jue, Vie, Sab, Dom FF: Fecha MM: Mes AA: Año

Luego de definir este concepto de la elección de la pantalla de bienvenida fue necesario determinar la forma en la cual se implementaran los botones. En este caso tomamos la decisión de realizarlo utilizando tres botones. Como primera medida hay que tener en cuenta que el horario puede ser modificado en caso de que se desee, al entrar en modo de programación el usuario notara que el número a modificar parpadea. De los tres botones utilizados el primero es aquel que controla el back Light (luz de fondo) el cual se mantiene encendido por un periodo de diez segundos luego del cual se apaga con el fin de evitar un gasto de energía innecesario, hasta el momento en que el usuario presione dicho switch. El segundo botón es el que permite “entrar” en el modo de programación, luego de presionado este pulsador, comienza a “titilar” el dato a modificar, al presionarlo nuevamente se desplaza a lo largo de los posibles caracteres a cambiar para finalmente poder incrementarlos mediante el tercer y último botón.

Programación de horas, minutos y segundos (utilización del modulo de Time Base): Para empezar con la explicación de la programación del reloj partiremos de la base de cuantos segundos constituyen un minuto, cuantos minutos constituyen una hora, cuantas horas corresponden al periodo de un día, cuantos días "entran en un mes", debemos tener en cuenta por ejemplo que los meses no son todos iguales, hay meses de 30 días, de 31 días y febrero de 28 días. Finalmente que doce meses corresponden al equivalente de un año. Hay que tener en cuenta los años bisiestos en los cuales febrero sería un mes de 29 días. Utilizamos el Time Base como modulo principal generador de la frecuencia patrón de 1 segundo, la metodología de funcionamiento de este modulo se basa en nada mas y nada menos que un divisor de frecuencia variable (un contador) es decir, a la frecuencia del cristal externo (32.768 Khz.) la divide por un factor y eso es la frecuencia de trabajo del modulo. La siguiente tabla nos muestra los valores de división para el mismo.

El modulo de Time Base, lo trabajamos por interrupciones, es decir, el modulo luego de 1 segundo irá a ejecutar una porción de código escrita solo para tal efecto. Allí incrementamos una variable llamada “seg” e instantáneamente después la comparamos con su valor máximo 60 en caso de no ser igual nos vamos de la interrupcion, caso contrario borramos el valor de la variable y pasamos a incrementar los minutos haciendo nuevamente todo el procedimiento igual al efectuado con los segundos, luego pasamos a trabajar con las horas con el mismo procedimiento antes mencionado con la salvedad de que las horas tienen como valor máximo el valor 24, seguido se hace con la fecha, mes, y año (de nuevo con la salvedad que la comparación de la fecha, mes y año tiene un limite variable y dependiente de los otros parámetros ya configurados).

En relación a la programación de las horas debemos tener presente la idea de que existen dos formas de mostrarlas en las pantallas de cada reloj; podemos utilizar un método en el cual se muestran desde el horario 00:00:00 hasta 23:59:59 y comience nuevamente el ciclo al incrementarse los días o también podemos realizarlo de forma tal que en pantalla se visualice hasta el número 12 y luego nuevamente hasta el numero doce pero diferenciando entre horarios que corresponden a la mañana y a la tarde (AM y PM). En nuestro caso coincidimos en utilizar el reloj con las veinticuatro horas del día, es fácil su implementación y dejamos al lector el procedimiento de pasaje al otro formato de hora. Las horas pueden ser programadas a partir de comparaciones al igual que lo hicimos con los minutos y los segundos donde comparábamos constantemente con el numero sesenta para incrementar la unidad siguiente. Al llegar a la programación de los días al incrementarse de forma progresiva debemos tener presente lo explicado con anterioridad en el hecho de que no todos los meses (la unidad siguiente que se visualizara en la pantalla) poseen la misma cantidad de días por lo tanto deberemos utilizar una rutina diferente para meses de 28,30, 31 y 29 en los casos de los años bisiestos. Sin embargo en parte esto es similar a las rutinas que corresponden a las horas, minutos y segundos ya que en todos los casos se compara para resetear los dígitos e incrementar o sumar una unidad a, en este caso, los meses. Solamente hay que tener en cuenta que dependiendo del mes en que este en el momento el reloj-calendario se compare con los valores correspondientes a los días de cada mes.

La programación de los meses es también muy simple sin embargo, como ya fue explicado, es necesario hacer diferentes secuencias o rutinas para los distintos meses. Continuará ........ El lector puede encontrar este y otros artículos anteriores del “Mundo EDUKIT08” , así como el código de ejemplo, en el sitio web dedicado a la educación y al kit didáctico y sus programas de ejemplo: http://www.edudevices.com.ar/articulos_edukit.htm Solicite mayor información en: EduDevices www.edudevices.com.ar e-mail: [email protected]

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.