Reloj + Timbre para colegio con PIC

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.
 
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.
 
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
 
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.
 
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?
 
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.
 
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.
 
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.
 
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
 
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.
 
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
 
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
 
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
 
Última edición por un moderador:
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
 
Última edición:
Alguno podría subir alguna imagen de su circuito por-qUE 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
 
Última edición por un moderador:
Tienes el modelo de los timers digitales? la página del link esta abajo, gracias.


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



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
 
Atrás
Arriba