Autor Tema: contador configurable mediante teclado matricial  (Leído 4814 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado willy

  • PIC10
  • *
  • Mensajes: 5
contador configurable mediante teclado matricial
« en: 28 de Diciembre de 2006, 11:22:10 »
hola foro
saludos a todos
ando en el siguiente rollo
resulta que tengo que hacer el siguiente trabajo

 Contador para envasadora configurable mediante teclado matricial

a.       Teclado matricial de hasta 16 teclas

b.      Display LCD para indicar las condiciones de configuración y de operación

c.       El rango de conteo puede estar entre 1 y 100000

d.      Entrada digital de conteo (TTL compatible) mediante sensor óptico

e.       Una vez configurado el dispositivo puede comenzar el conteo. Una vez comenzado el conteo, si no se recibe señal del sensor óptico durante más de 1 minuto, indicar “Fallo del conteo” en el display y activar una alarma sonora.
me pasa lo siguiente
ya tengo la rutina para el lcd y para atencion al teclado matricial
lo que me pasa que no se como guardar el rango de conteo y como compararlo
adjunto el proyecto hecho en proteus
muchas gracias de antemano
willy


 

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: contador configurable mediante teclado matricial
« Respuesta #1 en: 28 de Diciembre de 2006, 13:36:10 »
Que tal willy,

Mira lo que pudieras hacer es utilizar BCD para que no te complicaras la existencia. Utilizar un byte para cada uno de los digitos necesarios, es decir; un byte para unidades, otro para decenas, otro para centenas, otro para millares, otro para decenas de millares y otro para centenas de millares, asi cada byte debera llegar solamente a 9 y cuando sea diez el siguente incremente uno y el que llega a diez se haga 0. Estos datos los puedes grabar en la EEPROM interna para despues comparalos.

Yo voy a revisar tu codigo y si me permites ayudarte con gusto lo hare.

Saludos

Elreypic

Desconectado willy

  • PIC10
  • *
  • Mensajes: 5
Re: contador configurable mediante teclado matricial
« Respuesta #2 en: 28 de Diciembre de 2006, 15:18:51 »
muchas gracias por tu respuesta amigo
si miras el codigo veras hasta donde llegue, y esa es la intencion, si puedes lo revizas y me dices que tal.
la verdad que estoy super preocupado con eso, pues no se como darle solucion, si puedes me explicas como es lo del bcd, pero por favor, aterrizalo un poco mas , pues soy nuevo en esto , fijate en el codigo y el esquema
un saludo cordial amigo
willy

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: contador configurable mediante teclado matricial
« Respuesta #3 en: 01 de Enero de 2007, 17:40:37 »
Que tal Willy,

Mira esto es lo que hice con tu contador.
Puede contar hasta 999999. El valor a comparar se guarda en la EEPROM interna del micro que lo predefino por codigo, ya tu lo puedes modificar para que ese valor lo cambies haciendo uso de teclado tal como lo necesitas.

Agregue la rutina de interrupcion externa en donde genera el contador, es comparado con un 20 (predefinido en la EEPROM) y cuando lo alcanza el conte comienza a destellar asi como sonar el buzzer cada 500 milisegundos.

Espero te sirva para tu objetivo.

Saludos
Elreypic.

Desconectado willy

  • PIC10
  • *
  • Mensajes: 5
Re: contador configurable mediante teclado matricial
« Respuesta #4 en: 03 de Enero de 2007, 10:31:49 »
saludos , felicidades por el año nuevo, oiga señor no tengo como agradecerle la verdad
no tienes idea de la ayuda que me has brindado, lo que si tenemos un problemita ahi, te dire cual es
que el rango de conteo, tiene que ser configurable, es decir, que cdo el programa arranque, te pide el rango de conteo, y de ahi, se lo entras por teclado, y ese es el valor hasta el cual se debe contar.
oye pero asi y todo, increible hermano, llevo dias y dias intentando terminar, y nada de nada, cuanto te demoro esto ?
fuerte abrazo
willy

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: contador configurable mediante teclado matricial
« Respuesta #5 en: 03 de Enero de 2007, 11:07:41 »
Que tal Willy,

Pues de nada amigo. Si miras el codigo solo necesitas hacer la rutina para cunado leas el teclado cada numero lo asignes a una variable y ya despues lo guardes en la eeprom como esta. Yo lo hice asi porque pense que ya tenias esa parte y lo unico que necesitabas era como hacer la comparacion. Realizar el codigo que te envie solo me tomo un par de horas que gracias a estas fiestas de anio nuevo tuve.

Es para mi un gusto ayudar, solo que en ocasiones no tengo el tiempo suficiente, pero vere que puedo hacer por ti.

Saludos.

Elreypic.

Desconectado willy

  • PIC10
  • *
  • Mensajes: 5
Re: contador configurable mediante teclado matricial
« Respuesta #6 en: 03 de Enero de 2007, 11:42:10 »
mira te mandare hasta lo que hice anoche, y veras que en eso estaba ,. tratando de salvar lo que se entra de teclado
mira te mando lo que hice y me dices como puedo acoplarlo con lo que hiciste tu , que es la mayor parte
es decir, como poder enganchar la rutina

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: contador configurable mediante teclado matricial
« Respuesta #7 en: 04 de Enero de 2007, 12:37:32 »
Que tal Willy,

Fijate que no entendi lo que intentabas hacdr con el codigo ya que  lo hacias cada vez mas complicado, asi que me tome la molestia de hacerlo por ti. Para ello elimine algunas lineas de codigo para el teclado matricial asi como cambiar algunas por no tener funcionalidad. Tambien elimine los 3 diodos que colocaste en el teclado ya que no son necesarios.

El funcionamiento quedo asi:
Al inicio como lo propusite se coloca el mensaje solicitando la cantidad a contar. En ese instante tecleas la cantidad que siempre sera de 6 digitos asi si necesitas contar 5, deberas teclear 000005, una vez que inserta el sexto digito correspondiente a las unidades, se mostrara ese letrero por 1.5 segundos cambiando despues al mensaje de "CONTEO ACTAL" "000000". Una vez alcanzada la cuenta el contador numerico conmensara a destellar a una frecuencia de 1 Hz y emitir un beep intermitente.

Tambien coloque un beep cada vez que presionas una tecla en del teclado. Te hago la mencion de que las teclas de # y * las ignoro por programa ya que por el momento no tendrian alguna funcion, ya tu mas tarde le puedes dar alguna funcion y cambiar esa parte del codigo.

Asi cada vez que el micro se resetee necesitaras configurar la cantidad a contar, pero eso lo puedes cambiar para que te lo solicite cuando despues de terminar la cuenta, si presionas "*" comienze a contar nuevamente con el el valor que ya habias programado o bien si presionas la tecla de "#" te lleve al mensaje donde te solicita la cuenta. Pero eso ya dependera de ti.

No esta implementado que despues de 1 minuto si no se ha recibido senial del contador emita alguna alarma y/o muestre algun mensaje. Eso ya te lo dejo a ti para que lo implementes al igual que la funcion de las teclas de "#" y de "*".

Saludos

Elreypic.

P.D Si tienes alguna duda hazmela saber