Reloj digital v1.0: Reloj con displays de 7 segmentos y modulo RTC DS1307 (Update v0.0.1)

Saludos! Para esta primera parte vamos a correr una demo basica para comprobar el funcionamiento de nuestro reloj, estare usando el DS1307 para obtener el tiempo y mostarlo en los modulos de 7 segmentos. De momento solo nos enfocaremos en el tiempo y solo mostraremos los datos de "hora y minutos" (HH:MM) ya que no tengo otros dos displays para los digitos de los segundos en cuanto pueda conseguirlos hago una actualizacion.  

Circuito:
Para ilustrar el circuito he realizado un pequeño diagrama a bloques con las conexiones principales que se requieren para que nuestro reloj funcione adecuadamente. Para garantizar el entendimiento del circuito en generar recomiendo primero haber leido el post "Modulo BIG7SEG 2Display: Modulo para control de displays 7 segmentos 1.8 pulgadas (anodo y catodo comun)" para saber como esta conectado, configurado y soldado los displays de 7 segmentos, tambien darle un vistazo a "PIC18BT MCE Development Board v1.0". 


La alimentacion general es de 12V, la cual alimenta la board del PIC y un regulador buck para obtener 5.5V y alimentar el modulo de los displays (soltaje recomentadado para esto color, segun la hoja de datos), tambien pude haber sacado 5V de la PIC18BT Board pero no quise demandarle mucha corriente y que en un futuro se caliente el regulador.

Código:
Para entender el codigo recomiendo haber leido los ejemplos del post "Modulo BIG7SEG 2Display" y tambien "PIC18F4620 & XC8: Probando el modulo Tiny RTC DS1307" en donde probamos el modulo de RTC.

Para este primer codigo mostrado la configuracion y fecha del modulo RTC lo vamos hacer mediante codigo ya que de momento no tengo ningun tipo de entrada (botones, encoder, etc). Asi que el primer paso seria colocar los datos corectos en la funcion RTC_Initialize(), en este ejemplo tenemos los siguientes datos: 

void RTC_Initialize(void){
    // Set initial time
Set_DS1307_RTC_Time(PM_Time, 11, 30, 0); // Set time 11:30:00 PM
// Set initial date
Set_DS1307_RTC_Date(4, 8, 23, Friday); // Set 04-08-2023 Friday
}

Despues en "SYSTEM_Initialize()", descomentamos la funcion RTC_Initialize() para que se ejecute y configure el RTC, se entiende que esto va a ser que cada que reinicies tu PIC se vuelva a configurar la hora y fecha. Asi que Despues de configurar recomiendo comentar la fucnion y volver a cargarle el HEX a tu PIC, mas abalo el enlace para el codigo completo.

Recuerda que este proyecto aun esta en contruccion por lo tanto si esntras al repositorio original vas a encontrar la ultima version disponible, si quieres descargar la version de este ejemplo (version en el titulo) recomiento entrar en Releases del repositorio.


Ahi encontes puedes encontrar la version de este ejemplo.




Vídeo:
Aquí un pequeño vídeo del circuito en funcionamiento: 


Descargas:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.



Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.


Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.

Links:

Publicar un comentario

0 Comentarios