# Reloj + Timbre para colegio con PIC



## JorgeBogdanoff (Sep 7, 2005)

Quisiera armar un pequeño circuito que me permita programar horarios en que suene un timbre por unos 10 segundos cada 40 minutos y otros intervalos diferentes, 

si se puede usar el PIC 16f84 mejor, sino, acepto sugerencias.


----------



## Marcelo (Sep 8, 2005)

Jorge, puedes basarte en el circuito del link (más abajo) para desarrollar el proyecto.

Lo único que habría que hacer es cambiar el software para que la alarma dispare cada 40 minutos y reducir el tiempo de señalización de la alarma de 1 minuto a 10 segundos, pero en lo que se refiere al circuito creo que te serviría.

http://users.skynet.be/langewouters/clock.html

Pero la verdad es que si tiene un conputador cerca, puedes diseñar un simple circuito controlado por puerto paralelo o serial y un software sencillo que haga sonar la alarma cada vez que quieras. De hecho, si el PC no está cerca tampoco importaría, ya que puedes "cablear" el circuito o la bocina hasta ella.
El único drawback que tiene esto es que debes tener prendido el pc.

Saludos
Marcelo.


----------



## JorgeBogdanoff (Sep 9, 2005)

Quiero saber, dada tu experiencia, si es posible programar el pic para que suene en horarios diferentes, prque existen recreos, etc.

7:00
7:40
8:20
9:00

9:10
9:50

Etc. 
Gracias por tu ayuda


----------



## Marcelo (Sep 9, 2005)

Saludos Jorge,

Nunca he hecho un proyecto como ese pero si, si se puede.

Todo depende de la experticia y el ingenio que se tenga para hacerlo. Seguro que por aquí habrá más de uno que se le ocurra otra forma.

Tal cual como tienes pensado tu proyecto, tienes dos caminos.  Espero que me haga entender en la explicación:

Primera Opción) Encontrar un circuito que funcione como un reloj y que esté basado en un PIC, que posea además la capacidad de disparar una alarma (tal como el que te mandé en el post anterior).

Luego es cuestión de modificar el software del mismo para que lea las alarmas en forma cíclica desde la memoria EEPROM que tienen los PIC.

Como se me ocurre que podría funcionar es de la siguiente forma, el algoritmo podría ser algo como lo siguiente y habría que cambiar el software original del reloj para que funcione así:

a) En la memoria EEPROM del pic se cargan en forma secuencial es decir, en orden, las horas en las que la alarma debe funcionar. Esto lo harías con el programador de PIC al momento de "flashearlo".

b) Cuando el reloj se enciende y se pone en hora el programa leerá el primer valor de alarma de la lista almacenada y la mantiene como el valor activo de alarma hasta que suena. Ten en cuenta de que si la hora de la primera alarma es más temprana que aquella en la que se encendió el reloj, el sistema empezará a funcionar correctamente al día siguiente. Hay formas de evitar esto pero habría que agregar algún hardware básico de disparo, encender el reloj antes de la hora de la primera alarma o almacenar las alarmas en otro orden.

c) Al momento que el programa llega a la hora de la alarma, la hará sonar y en la misma rutina en que se manda a activar la bocina se leerá el siguiente valor de alarma almacenada y la colocará como la activa. Así sucesivamente hasta llegar al final donde deberás mandarla de nuevo a la primera posición de la EEPROM. Darás la vuelta a toda las direcciones de memoria grabada una y otra vez. 
Deberás tener el control de la dirección de memoria en curso (la dirección en la EEPROM de la Alarma actual) para saber donde buscar la próxima.

Segunda Opción) La otra opción es diseñar otro circuito con otra lógica y su programa desde 0.

Pero te repito, es más fácil hacerlo desde un PC controlando un timbre. Esto es muy sencillo y tómalo como una tercera opción que sería la recomendada, a no ser que el colegio sea tan grande que necesites varios circuitos todos sincronizados,pero también se podría hacer con un solo computador.

Saludos.
Marcelo.


----------



## JorgeBogdanoff (Sep 12, 2005)

No la verdad que que el colegio es pequeño, solo que no queria usar una pc para esto que me parece algo sencillo (a su nivel),  yo tengo el programador, y preferia hacer con algun 16F84, pero pede ser cualquier, el puede contar y dar la hora en un reloj por ejemplo?


----------



## Marcelo (Sep 12, 2005)

Si, con un 16F84A por ejemplo, se puede hacer un reloj tal como el que tenemos en casa.

Para poder ver la hora y ponerlo a punto, por lo general se usan siete segmentos o un LCD . 

Gran parte del trabajo lo puedes encontrar hecho en Internet, como estos (en castellano):

http://perso.wanadoo.es/chyryes/circuitos/relojdesp.htm



http://www.pablin.com.ar/electron/circuito/mc/reloj/index.htm

http://www.josepino.com/6/indexsp.html

Solo debes cambiar lo que te expliqué de las alarmas en el código.

Si quieres hacer el progama un poco más primitivo, o se te dificulta el manejo de las interrupciones para la lectura/escritura de la eeprom del pic, puedes fijar los valores de alarma (si conoces cuantas son y las horas de cada una) y repetir n veces el código que ya está escrito y que hace sonar el timbre, dejando el valor de cada hora de alarma fijo, pero cuando necesites cambiar la hora deberás modificar el firmware.

También puedes preguntarle a los creadores de los circuitos que te di en los links, a ver si tienen implementado el software con multialarma. Seguro te ayudan.

Saludos,
Marcelo.


----------



## JorgeBogdanoff (Sep 13, 2005)

Gracias por las direcciones, he visto que el circuito del reloj esta lindo, sera que en el programa no se puede dividir el tiempo en 1440 minutos, (que es un dia) y decirle que a los 420, de un pulso, a los 490 otro, etc?

 no importa si no muestra el reloj lo que me interesa es el programita.


----------



## Marcelo (Sep 13, 2005)

Bueno, eso podría ser una solución, pero deberás controlar muy bien el tiempo de instrucciones del PIC para que no atrase o adelante. Como lo planteas podría funciona bien.

Lo único que necesitarías es activar una de las salidas para que te dispare el timbre  por X segundos cada vez que el contador llegue a uno de los valores.

Te recomendaría que te decidieras por cualquiera de esos proyectos y te bajes el ASM o el programa fuente y lo analices para luego ver como cambiarlo o agregarle alarmas. Me parece que así será más fácil empezar.

Saludos
Marcelo.


----------



## JorgeBogdanoff (Sep 14, 2005)

Entonces seria factible, eso esta bien. Yo encontre un pequeño proyecto con un 16f84 que traduce para usarlo con 4 displays, lo que me quedaria es ver el programa y analizar donde decirle que en tales horas, le haga sonar al timbre... Solo que no conozco nada de assembler, podria contar contigo para ello¿¿, saludos


----------



## Marcelo (Sep 15, 2005)

Jorge,

Puedes contar con todos los del foro. La idea de este espacio es que aprendamos cosas nuevas todos los dias, consigamos ayuda y compartamos experiencias. Si deseas puedes publicar aquí  las dudas y te damos una mano para que poco a poco termines tu proyecto. 

Saludos.
Marcelo.


----------



## tiopepe123 (May 21, 2006)

Tambien puedes utilizar un PLC tipo logo de siemens


----------



## joga (Ago 2, 2006)

A todos los amigos que desean hacer algo con cuestiones de tiempo, les recomiendo el circuito integrado ds1307 que es un reloj en tiempo real que sirve para llevar el conteo de horas minutos y segundos y se puede comunicar directamente con un pic a travez de interfaz I2C y de esta forma no ahorramos todo el rollo de hacer el reloj y podemos ocupar el pic para disparar alarmas mostrar la hora en lcd etc. ya he visto en algunas paginas en internet y en agunas incluso hay codigo para stear este RTC y hacer las consultas. de momento no lo he podido conseguir aca en mexico pero en cuanto lo tenga seguro que empiezo a hacer algo y lo compartire con todos.

Saludos


----------



## nietzche (Sep 23, 2008)

http://html.rincondelvago.com/reloj-digital-con-39-alarmas-programables.html

reloj digital con 39 alarmas programables

ese puede servir, no lo he probado pero supongo que sirve, el problema es que me parece que no menciona los componentes, si alguno de ustedes pueda esquematizar mejor el circuito se agradeceria.

tambien esta este enlace, creo que es lo mismo, pero viene mal hecho, si alguien tiene el archivo, favor de subirlo


----------



## santiago (Sep 23, 2008)

una pc con un 486+qbasic o visual basic , puerto paralelo, las ventajas principales son que usas la hora y fecha del sistema, esto permite que un fin de semana no se prenda el timbre (en caso de que quede prendida continuamente)

en mi escuela tenemos algo asi, pero con las pcs de la oficina de preceptoria, ejecutan un programita de pocas lineas (los preceptores) y cuando termina el dia apagan la pc, pero mientras el dia pasa el timbre suena automaticamente 

saludos


----------



## Marangellos (Nov 19, 2010)

Hola creo tener la solucion al problema que propones. Seria utilizar un circuito RTC con un PIC no importa cual PIC..si tienes dudas puedes consultarme


----------



## djtalo (Abr 29, 2012)

Marangellos dijo:


> Hola creo tener la solucion al problema que propones. Seria utilizar un circuito RTC con un PIC no importa cual PIC..si tienes dudas puedes consultarme



seria bueno conocer tu idea para ver si puedo mejorar la mia 
 yo realice un timbre escolar programable con dos timer digitales como este http://www.codelec.cl/uploads/timer_5343405_grande.jpg en donde en uno programe los toques de entrada y salida y en el otro los toques de cambios de hora el problema es que estos timer se puede programar con un tiempo mínimo de 1 minuto es decir la campana tendria que estar sonando un minuto por toque (que era demasiado) , por lo que a las salida de cada timer le instale un rele controlado por un 555 que se encargaba de cortar ese minuto a  20 segundos para los toques de entrada y salida y 10 seg para los cambios de hora, y hasta el momento me anda de lujo



seria bueno conocer tu idea para ver si puedo mejorar la mia 
 yo realice un timbre escolar programable con dos timer digitales como este http://www.codelec.cl/uploads/timer_5343405_grande.jpg en donde en uno programe los toques de entrada y salida y en el otro los toques de cambios de hora el problema es que estos timer se puede programar con un tiempo mínimo de 1 minuto es decir la campana tendria que estar sonando un minuto por toque (que era demasiado) , por lo que a las salida de cada timer le instale un rele controlado por un 555 que se encargaba de cortar ese minuto a  20 segundos para los toques de entrada y salida y 10 seg para los cambios de hora, y hasta el momento me anda de lujo


----------



## Miquidela17 (Oct 4, 2013)

Alguno podría subir alguna imagen de su circuito por*-*q*UE* tengo que hacer un timbre para mi colegio y no tengo idea de como empezarlo estuve viendo algunos circuitos con rtc y temporizadores pero me confunden algunos podría  brindarme alguna ayuda saludos


----------



## mtv1967 (Ene 11, 2014)

Tienes el modelo de los timers digitales? la página del link esta abajo, gracias.




djtalo dijo:


> seria bueno conocer tu idea para ver si puedo mejorar la mia
> yo realice un timbre escolar programable con dos timer digitales como este  en donde en uno programe los toques de entrada y salida y en el otro los toques de cambios de hora el problema es que estos timer se puede programar con un tiempo mínimo de 1 minuto es decir la campana tendria que estar sonando un minuto por toque (que era demasiado) , por lo que a las salida de cada timer le instale un rele controlado por un 555 que se encargaba de cortar ese minuto a  20 segundos para los toques de entrada y salida y 10 seg para los cambios de hora, y hasta el momento me anda de lujo
> 
> 
> ...


----------



## miguelopez (Ene 16, 2014)

Hola.

Te pueden servir:
http://mlopic.blogspot.com/2012/11/reloj-temporizador-usb.html

http://mlopic.blogspot.com/2011/03/reloj-ir.html

Saludos


----------



## mtv1967 (Ene 16, 2014)

Gracias, miré los links que enviaste es una buena base, saludos.

Mario


----------



## tek_nikkos (Feb 8, 2014)

Hola. Aquí  les dejo un reloj - timbre electrónico.
Lo hice hace muchos años, el primero fue con interrupción interna tmr0 pero tenía el inconveniente de que se atrasaba mucho.
 Luego al mismo programa le puse un módulo generador de pulsos de 1Hz en la entrada RB0.
 Es el mismo esquema para ambos.


----------



## jerry101 (Feb 17, 2014)

tek_nikkos dijo:


> Hola. Aquí  les dejo un reloj - timbre electrónico.
> Lo hice hace muchos años, el primero fue con interrupción interna tmr0 pero tenía el inconveniente de que se atrasaba mucho.
> Luego al mismo programa le puse un módulo generador de pulsos de 1Hz en la entrada RB0.
> Es el mismo esquema para ambos.



¿Puedes colgar los esquemas en pdf y dejar una explicación mas extensa? Me interesa este proyecto


----------



## D@rkbytes (Feb 17, 2014)

Mientras tek_nikkos te responde, puedes ir viendo los esquemas de su proyecto.
Los adjunté en su mismo post _#*21*_

Saludos.


----------



## tek_nikkos (Feb 23, 2014)

hola.....aquí el proyecto que presente a la institución donde trabajo......con una breve descripción..........del reloj - timbre 
https://mega.co.nz/#!iJIzyBgQ!MRZdwthOqRl-QuwYzGQJg83OJzJqWIrzXxMzzwbPbZs


----------



## jerry101 (Feb 24, 2014)

tek_nikkos dijo:


> hola.....aquí el proyecto que presente a la institución donde trabajo......con una breve descripción..........del reloj - timbre
> https://mega.co.nz/#!iJIzyBgQ!MRZdwthOqRl-QuwYzGQJg83OJzJqWIrzXxMzzwbPbZs



Estoy intentando comprender el circuito pero no entiendo como se conecta la etapa de control con la etapa de potencia, no se como se debe conectar J1 y J2, además de la batería de respaldo para interrupciones de energía, espero me puedas asesorar


----------



## tek_nikkos (Feb 24, 2014)

aquí el archivo en proteus............el generador de pulso lo saque de un reloj de pared que no utilizaba......


----------



## jerry101 (Mar 4, 2014)

tek_nikkos dijo:


> aquí el archivo en proteus............el generador de pulso lo saque de un reloj de pared que no utilizaba......



Intenté simular el circuito colocando el pulso de reloj de 1 Hz y no logro visualizar nada en el display


----------

