Autor Tema: Proyecto Marcador Electronico  (Leído 6953 veces)

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

Desconectado LeSs

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 81
Proyecto Marcador Electronico
« en: 18 de Mayo de 2007, 19:54:48 »

Saludos Foristas!

Aqui les dejo un pequeño aporte, espero sirva de guia de para los que recien inician en el mundo de los Pic´s.

Se trata de un Marcador electronico para Basquet, es casi del tipo profesional en el sentido que tambien controla las faltas cometidas por los jugadores individualmente, el codigo esta dividido en dos partes, el programa principal basado en un PIC16f876a controlo la consola principal, 1 teclado 4x4, un LCD 2x16 y una comunicacion RS232(en la simulacion no estan las interfaces) que brinda movilidad al arbrito de hasta 25 metros de la consola principal al Panel de visualizacion. Para mostrar los datos en los 16 displays de 7 segmentos utilice un pic 16f870, que multiplexa los datos a mostrar( a mi parecer esta fue la opcion mas economica y eficiente para hacerlo) pues al comienzo pretendí untilizar 4 saa1064, pero no los consegui y los datos no se podrian transmitir tan lejos con esos integrados.

Ahora una pequeña explicacion del funcionamiento.

El Modo de Funcionamiento es el siguiente:
el programa comienza con ciertos mensajes bienvenida,
1º para salir de ese estado se debe presionar cualquier tecla.
2º Un mensaje de configuración pregunta si se desea un juego nuevo( borra toda la memoria) o  si se desea cargar los datos almacenados.
3º Aparece un mensaje de instrucción d que solo se puede seguir si se presiona Start"A"
4º comienza la cuenta regresiva.
5º Para aumentar los puntos del equipo local en 1,2 o 3 se debe pulsar 1 2 o 3 respectivamente.
Para aumentar los puntos del equipo local en 1,2 o 3 se debe pulsar 4 5 o 6 respectivamente.   
   Cada incremento se almacena inmediatamente en la memoria interna del micro.

6º Si por cualquier motivo se desea parar el juego se presiona stop/start y se sale del estado de espera.

7º Si se presiona la tecla B, se pide la opción de tiempo muerto, que es 1 minuto, donde el teclado no responde a ningún incremento de puntajes ni otra opción. Pasado el  minuto hay una alarma audible que indica que se termino el tiempo y bueno se carga el temporizador con los valores a visualizar y listo.

8º Si se presiona C se entiende cometieron falta a un jugador. El programa te pregunta que equipo la cometió, el equipo local o visitante. dependiendo de eso se incrementa las faltas generales que ha cometido el equipo local o el visitante en 1 unidad, el dato se graba en la eeprom inmediatamente.
Luego te pide que ingreses el numero distintivo del jugador que cometió la falta, ingresa el 1º y el 2ºdigito solo acepta números del 0 al 9, bueno como los números ingresados entran en Hex como unidades y decenas hago una rutina de multiplicación que transforma a un solo numero en Hex y corresponde a la dirección de memoria a grabar, pero esto depende si es del eq local o visitante, para que no se monte el dato si es local suma 0 a la dirección de memoria a grabar y si es visitante suma 100, bueno lee la dirección que contiene el numero de faltas personales de cada jugador, la incrementa en una unidad, y luego la graba y muestra en pantalla. Espera 1 segundo. luego
Carga el tiempo en modo estático( no se debe incrementar) y si es el equipo local para incrementar puntos anotado desde tiros libres se debe presionar 1, bueno el operador debe determinar si fueron 1,2 o tres saques. cuando termine se debe salir con la tecla"C" nuevamente.
Lo mismo es para el equipo visitante pero se debe presionar la tecla 4 para incrementar los puntos.


Para visualizar los datos se va a usar otro micro un 870, y que el 876 envie los datos serialmente mediante el protocolo RS232 al otro micro con un código de cabezera que indique a que registro se debe guardar para no enviar los 16 registros cada vez. y que este los maneje multiplezados.


Para concluir les digo que el codigo se puede mejorar en muchos aspectos( uno de ellos es que detengo el timer para que no evolucione el conteo, cambiando para que cuente eventos externos, es q el PC se me colgaba cada q simulaba de otra forma) pero como se me acerco la fecha de entrega ya no lo pude mejorar ni optimizar. Funciona ok aca tambien les dejo unas fotos del proyecto implementado en PCBs.

Posibles ampliaciones muchas, agregarle sensores de humedad y temperatura, que la comunicacion entre la consola principal y el Panel sea Wireless, una pequeño cartel pasante para animar al publico entre otras.

Cualquier duda o sugerencia no duden en contactarme, estamos para ayudarnos.

Un abrazo!

L.E.S.S.

El hambre produce poemas inmortales. La abundancia únicamente indigestión y torpezas.
Aprendiendo a programar en C.

Desconectado LeSs

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 81
Re: Proyecto Marcador Electronico
« Respuesta #1 en: 18 de Mayo de 2007, 19:56:38 »
Aqui les dejos los archivos.
El hambre produce poemas inmortales. La abundancia únicamente indigestión y torpezas.
Aprendiendo a programar en C.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Proyecto Marcador Electronico
« Respuesta #2 en: 18 de Mayo de 2007, 20:17:15 »
Aun no lo vi.
Pero queria escribirte para felicitarte por poner en forma tan desinteresada tu conocimiento al servicio de los demas!! :-/ :-/

Veo que interpretaste fielmente el espiritu de este foro!!

Felicitaciones!! :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: Proyecto Marcador Electronico
« Respuesta #3 en: 18 de Mayo de 2007, 20:28:03 »
hola

me sumo al ciento por ciento a lo dicho por MGLSOFT...

vayan tambien mis felicitaciones

Desconectado Marioguillote

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Proyecto Marcador Electronico
« Respuesta #4 en: 18 de Mayo de 2007, 20:56:24 »
Hola LeSs

El mismo concepto que los demás.
GRACIAS por compartir tu esfuerzo, tus noches sin dormir, tus avances y retrocesos y todo lo que ha hecho que quedara plasmado en este proyecto que estuve mirando un poco y a pesar de haber muchas cosas que no comprendo, seguramente con la charla de los demás iremos despejando todas las dudas.

Me resultó muy ingenioso el uso del 870 para los displays. Muy bueno.

Lo de hacer inalámbrica la conexión entre la consola y el tablero, hay material de sobra en el foro, eso no será un problema para vós y respecto a las demás ampliaciones, tú serás quién decida cómo y cuándo hacerlas. Con gusto seremos tus ayudantes en ésto, mientras nuestros conocimientos alcancen.

Muy Bueno y nuevamente Gracias.
Saludos

Mario

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Proyecto Marcador Electronico
« Respuesta #5 en: 18 de Mayo de 2007, 23:19:44 »
Hay drivers de visualizacion serial como el MAX7219 y el MAX7221, que manejan 8 displays multiplexados cada uno y se conectan en cascada, estudialos que son muy interesantes y es mas vienen en Proteus, con lo cual puedes simularlos...

Todo cuanto podamos aportarte esta a tu disposicion... :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.


Desconectado PolloX

  • PIC10
  • *
  • Mensajes: 7
Re: Proyecto Marcador Electronico
« Respuesta #7 en: 22 de Mayo de 2007, 13:58:14 »
excelenbte  trabajo, pero a mi no me andubo la simulacion en el proteus. aqui dejo los siguientes errores que me lanzo, para ver si alguien me puede ayudar.

Unable to open HEX file ´MainVisual.HEX´.
Unable to open HEX file ´MainProgF3.HEX´.
Real Time Simulation failed to Start

realmente en esto de los pic soy novatisimo, pero con muchas ganas de aprender.

Desconectado LeSs

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 81
Re: Proyecto Marcador Electronico
« Respuesta #8 en: 24 de Mayo de 2007, 13:54:14 »
Gracias a todos por sus palabras de aliento, la verdad que me demore mas o menos haciendo ese proyecto, pero lo mas importante es que aprendí muchas cosas nuevas que no habia utilizado antes. Como les dig el cod lo pueden mejorar a su gusto.

PolloX.

Para generar los archivos .Hex, en el proteus debes ir a Source/Build all, con eso se generan los archivos que necesitas. O puedes utilizar el MPASM. aunque automaticamente al iniciar la simulacion deberia generar el archivo fuente, eso lo debes revisar en la configuracion de tu simulador en la misma pestaña de Source.

Saludos!
El hambre produce poemas inmortales. La abundancia únicamente indigestión y torpezas.
Aprendiendo a programar en C.

Desconectado PolloX

  • PIC10
  • *
  • Mensajes: 7
Re: Proyecto Marcador Electronico
« Respuesta #9 en: 28 de Mayo de 2007, 01:10:48 »
sisisi tenia problemas con el mplab pero ya está todo solucionado, ahora he tenido problemas con la simulacion en el proteus, eso está realmente complicado.

repito excelente proyecto el que tienes. te felicito.

Desconectado LeSs

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 81
Re: Proyecto Marcador Electronico
« Respuesta #10 en: 28 de Mayo de 2007, 22:35:20 »
PolloX

Me indicas cual es el problemita que tienes para ver si te puedo ayudar??

Aqui subo una Fotito de como me quedo el proyecto.....
El hambre produce poemas inmortales. La abundancia únicamente indigestión y torpezas.
Aprendiendo a programar en C.


 

anything