Autor Tema: Contador de Días  (Leído 6633 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
Contador de Días
« en: 20 de Octubre de 2005, 06:58:00 »
Hola Muchachos: No tengo mucha experiencia con pic por lo que les piedo por favor si me pueden pasar alguna rutinita en C para armar un contador de días con un pulsador de reset. Al ser un contador de días debe contar 24H y un reset para cuando se presione, el contador vuelva a cero.

Gracias

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Contador de Días
« Respuesta #1 en: 20 de Octubre de 2005, 08:06:00 »
No creo que nadie te regale nada ... intenta plantearla tu mismo y te ayudaremos con los errores. Para empezar, deberias dar mas datos, por ejemplo si necesitas mucha precisión requeriras un cristal de un valor para que el conteo de segundos sean perfectos.
Si juegas contra el mejor, pierdes como los demás.

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
RE: Contador de Días
« Respuesta #2 en: 20 de Octubre de 2005, 08:42:00 »
OK,Tenés razón. El tema es que me lo han pedido que lo haga urgente. Por otro lado si es necesario que el conteo lo haga lo mejor posible, por lo que SI necesitaría un cristal. Lo que necesito armar es un contador de días sin accidentes para una empresa. La verdad nosé por donde empezar. La idea es que el pic controle un display de 7 seg de 4 digitos y tenga un botón de reset para cuando ocurra un accidente.

Saludos

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
RE: Contador de Días
« Respuesta #3 en: 20 de Octubre de 2005, 09:03:00 »
Aqui en el subforo de c en ejemplitos en c hay un programa que maneja 4 display"s de 7seg, es un contador ascendente....solo tendrias que programar lo que necesitas....y para el boton de reset ponlo en la patita de reset externa del pic:MRCL.....aqui el enlace(mira en el indice SUPER CONTADOR 0000a9999):
http://miarroba.com/foros/ver.php?foroid=46840&temaid=4061462
Suerte!!!Giño
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado alex22ra

  • PIC10
  • *
  • Mensajes: 41
RE: Contador de Días
« Respuesta #4 en: 20 de Octubre de 2005, 09:05:00 »
Lo mas facil seria utilizar un reloj de tiempo real y que lo haga el todo no?

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Contador de Días
« Respuesta #5 en: 20 de Octubre de 2005, 10:29:00 »
Si lo unico que va hacer el PIC es eso, el RTC para esta apliación le va sobrao, solo tendria que estar multiplexando los displays y contando el tiempo mediante interrupciones, y cuando haga X, sumará 1. Con 4 digitos hay para 9999 días que son 27 años Muchas risasMuchas risasMuchas risas en una empresa sin accidentes, con 3 vas muy sobrao. Intenta ajustarte al máximo los gastos para la utilidad que tendrá.
Si juegas contra el mejor, pierdes como los demás.

Desconectado manusilcar

  • PIC10
  • *
  • Mensajes: 9
RE: Contador de Días
« Respuesta #6 en: 21 de Octubre de 2005, 03:27:00 »
Hola amigos:

  Si se va la luz, ..., ¿no se pondrá a cero el contador, verdad?, ...Sonrisa GiganteSonrisa GiganteSonrisa Gigante, Os propongo que almaceneis el valor de la cuenta en la EEPROM del PIC, para que delante de pequeños accidentes (desconexiones fortuitas, ajenas a todos,AvergonzadoAvergonzado), siempre pueda el programa al inicio, recuperar la cuenta, y siempre, de forma manual poner a cero, cuando proceda, dicho valor (usando cualquier PIN de un puerto del PIC).

 Es una sugerencia, basada en experiencias,...GiñoGiñoGiño

 ¿Que os parece?...SALUDOS..

Desconectado alex22ra

  • PIC10
  • *
  • Mensajes: 41
RE: Contador de Días
« Respuesta #7 en: 21 de Octubre de 2005, 06:05:00 »
Si vas a tener en cuenta posibles desconexiones, tendras que hacer tambien un programa (con su correpondiente hard) para actualizar los registros que utilizes para el conteo, para cuando vuelva la electricidad. A no ser que tampoco te importe perder unos minutos u horas en dicho conteo.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
RE: Contador de Días
« Respuesta #8 en: 22 de Octubre de 2005, 11:56:00 »
Hola, no pensaste la opcion de un timekeeper? o sea, lo que queres hacer ya estaria mas que solucionado con eso, ya que la mayoria de estos IC, cuentan segundos,minutos,hora,dia de la semana,dia del mes, mes,año,y calculan solo el año bisiesto, con un error infimo.
Bueno, digo, porque no son caros, y por ahi te convendria. Si aun asi lo vas a hacer con pic, ponele un oscilador de pocos  Hz y alta precision, asi minimizas el error que se arrastra con el tiempo. Saludos
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
RE: Contador de Días
« Respuesta #9 en: 22 de Octubre de 2005, 12:02:00 »
Para el programa tendrias que tener en cuenta que: el error por año en el calenadario Gregoriano(es el que usamos nosotros) es de 5 horas 56 minutos, por eso se hace el año bisiesto cada 4 años(el año debe ser multiplo de 4), pero para corregir el error sobrante(los 4 minutos), se hace que si el numero de año es multiplo de 400, se saltea el año bisiesto que le correspondira x ser multiplo de 4. Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
RE: Contador de Días
« Respuesta #10 en: 24 de Octubre de 2005, 06:19:00 »
Muchachos: Antes que nada Gracias por la ayuda y buena Onda.
Voy a responder algunas de las cosas que me preguntan:

Vszener: Gracias por el link, está muy bueno. Lo voy a estudiar para y tratar de implementar a ver si me anda.

Manusilcar: Es verdad lo que decis, me parece que debería almacenar en la eemprom del pic por si se corta la luz, etc. Como se hace esto? Que pic vienen con esa posibilidad?

Radon: Sería seguro usar el RTC para el conteo. O tendría que usar un reloj en tiempo real, como implementaría esto último?

Alex22ra: Idem Manusilcar. Como podría usar un reloj de tiempo real?. Como se lo agregaría al pic?

BrunoF: Nose que es un timekeeper. Se programan? en C? Talvez me sirva aunque no me interesa el dia del año, ni el mes, ni el año. Si me podría interesar que los días lo cuente bien, es decir que llegada las 24h cambie el contador. Talvez en ese caso me pueda servir, pero como te dige antes no se que es  y como se usa.

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Contador de Días
« Respuesta #11 en: 24 de Octubre de 2005, 07:21:00 »
que digo yo... poniendonos en el peor de los casos... se va la luz varias veces al dia... llegará un momento en que el contador realice mal la cuenta (si se van acumulando todas las idas de luz), por mucho q se restaure desde la EEPROM la cuenta, cuando está apagado no cuenta Giño

Lo mejor y mas seguro es hacerlo con un RTC como el DS1307 por ejemplo, q en caso de desconexión de la luz el sigue operando gracias a la bateria.

Para usar el DS1307 es muy sencillo con I2C y programando en C, si buscas en el foro de lenguaje C encontraras varias librerías para el control de este dispositivo, yo postee una que es la que uso normalmente y hasta el momento va perfecta... dale unas cuantas vueltas a un diagrama de funcionamiento y seguimos Sonrisa

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
RE: Contador de Días
« Respuesta #12 en: 24 de Octubre de 2005, 11:18:00 »
Un timekeeper es muy similar a un reloj serial de tiempo real(DS1307 por ejemplo)...
Vienen algunos con bateria de respaldo, como este DS1307 que menciona J1M. Controlarlo con el PIC es bien sencillo.
Cabe destacar que estamos hablando de un integrado aparte, no es un programa del PIC.
Y no se programan, simplemente, puedes setear fecha y hora(como seteas un reloj despertador) y leer hora y fecha luego.
Exitos...
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
RE: Contador de Días
« Respuesta #13 en: 25 de Octubre de 2005, 12:57:00 »
De vuelta Muchas Gracias. Voy a ver las distintas alternativas. Una pregunta mas: Que consideración tengo que tener al momento de armar el circuito.? Es decir circuito donde conectaré los display y como conecto el DS1307 al pic?

Gracias

Desconectado kuauhtemok

  • PIC16
  • ***
  • Mensajes: 116
RE: Contador de Días
« Respuesta #14 en: 25 de Octubre de 2005, 16:23:00 »

Pues la verdad es muy sencillo la conexion de RTC al PIC, es por conexion I2C.

La verdad no son caros estos circuitos el DS1307 cuesta 4 USD. Vale la pena y te ahorras muchos dolores de cabeza.

Entonces debes usar un PIC con modulo SSP.

Yo te recomiendo el 16F628... asi tienes 2 lineas de I2C , 7 de los segmentos, 4 de los digitos y uno para el RESET. Por lo que ocuparias 14 lineas de las 16 con que cuenta el PIC.

La direccion del Datasheet del DS1307  es http://pdfserv.maxim-ic.com/en/ds/DS1307.pdf
La felicidad no es mas q la ausencia momentanea del dolor