Go Down

Topic: Marcador Electronico para Padel/Tennis (Scoreboard) (Read 6651 times) previous topic - next topic

yOPERO

Apr 25, 2011, 06:26 pm Last Edit: Apr 26, 2011, 11:09 pm by yOPERO Reason: 1
Debido a diferencias de opinion con unos amigos cuando jugamos al padel, he decido montar un Scoreboard o Marcador Digital para padel/tennis.

Mi idea para el hardware es la siguiente:


Como siempre empezare a hacer el montaje en un breadboard, mi intencion es tener el software  antes de lanzarme con el hardware para lo cual utilizare una breadboard con cuatro pulsadores y el serial como pantalla para ver los resultados.

2 pulsadores para cada equipo, optare por wireless cuando ya tenga todo funcionando. Un pulsador da puntos (+) y el otro quita(-).

La pantalla debera mostrar 5 columnas y dos filas, seguro que hare todo con leds.

columna 1 =set 1
columna 2 =set 2
columna 3 = set 3
columna 5y4 = puntos que se juegan.

Bueno por el momento esto es lo que tengo, espero vuestras opiniones y sugerencias que me vendran muy bien en especial el tema de la programacion. Ire editantando este post con mis desarrollos.

Saludos.

Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

yOPERO

Edit1

Antes de empezar a programar le he dado unas cuantas vueltas para ser exacto muchas vueltas.

Finalmente os presento mi razonamiento inicial:

Para comenzar necesitare ver los puntajes como 0, 15, 30 y 40 dado que no son proporcionales los pondre como text strings.
Internamente representaremos los puntajes como dos variables (0, 0) osea "0 - 0", (1 ,0) osea "15 - 0", (1 , 3) osea "15 - 40"

Ahora viene la parte dificil que es manejar el tema de Ventaja/Deuce. Cambiaremos de dos variables a una; -1 es ventaja para el Player1, +1 es ventaja para el Player2 y 0 significa Deuce.

Hay dos maneras de ganar el juego, el primer modo  seria si uno de los Players  llega a 4 y el otro es 2 o menos (60 -30), el segundo modo es cuando el valor es o -2 o +2

El cambio del primer modo  a "Ventaja/Deuce" ocurre cuando el puntaje es (3 ,3) (40-40)

Para introducir los puntos usare 4 pulsadores:

  • Pulsador 1 = Añade puntos al player1

  • Pulsador 2 = Quita puntos al player1

  • Pulsador 3 = Añade puntos al player2

  • Pulsador 4 = Quita puntos al player2



Bueno ahora que tengo la idea me toca programar y la verdad que cualquier ayuda me vendra genial.

gracias.
Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

yOPERO

Edit2

Acabo de terminar la primera parte que es el manejo de los puntos cuando un Jugador  consigue ganar un juego la variable "set" aumente en uno.

Tengo un monton de "if"s supongo el codigo se podra simplificar un poco pero al menos me funciona. Pronto lo posteare

Unos ejemplos del output en el serial:
puntos--set1--set2-set3

___________
JG--0--0--0
00--0--0--0
___________
Juego Player1

40--2--0--0
40--0--0--0
___________
40--2--0--0
40--0--0--0
___________
Ventaja Player2
Ventaja Player2
Ventaja Player2
Ventaja Player2
Ventaja Player2
Deuce
Deuce
Deuce
Deuce
Deuce
Deuce
Ventaja Player1
Ventaja Player1
Ventaja Player1
Juego Player1
0--0
00--2--0--0
00--0--0--0
___________

Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

yOPERO

Edit 3

Por si alguien esta interesado en analizar el codigo lo podeis encontrar en el siguiente link :

http://yopero-tech.blogspot.com/2011/04/tennispadel-scoreboard.html
Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

josemanu

Mi consejo es que desarrolles al mismo tiempo el programa y el hardware en protoboard, así puedes ir probando el programa a medida que lo vas haciendo.

Lo desarrollas por pasos, primero que lea los pulsadores y controlas las salidas, luego los envíos a la pantallas, etc...

Si falla depuras con el monitor serie.

Quizá sea más laborioso, pero es más sencillo probar trozos pequeños de código en los que pueden fallar pocas cosas que tener un programa largo darle marcha, que no vaya y ponerte a buscar el por que.

Un saludo.
http://www.ardumania.es/

Iniciación

yOPERO

@josemanu

Eso es lo que he hecho; Tengo 4 pulsadores, 2 para cada jugador uno aumenta y otro disminuye y el display se muestra en el monitor de serie.

Por el momento lo de los puntos funciona correctamente. Me queda pendiente programar que cuando se gane un set salte al siguiente:

Tengo 2 variables que almacenan el puntaje de ambos jugadores(int=score0 ; int score1), no estoy seguro si deberia añadir este tipo de variables para cada set.
Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

josemanu

¿Por que no? seguro que se puede hacer sin ellas y con ellas, solo tienes que buscar la forma en que sea más sencillo para ti como programador.
http://www.ardumania.es/

Iniciación

chiva

Podrías usar vectores, ya que se te simplificaría mucho el código
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Sergegsx

como forma de evitar 'trampas'.

que te parece que el equipo contrario tenga el pulsador de sumar puntos del otro equipo.
y que el pulsador de quitar puntos este en el lado del equipo al cual se quitan.

ademas, se puede añadir un altavoz que emita un sonido en concreto al sumar un punto (pulsar el boton) y otro sonido distinto al restar un punto.
si le añades un delay o un debounce largo, evitaras que un equipo sume o quite puntos aprentando varias veces muy rapido.

chiva

¿Qué sentido tiene el botón para disminuir puntuación?
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

yOPERO

@Chiva
El boton de disminución de puntos es por si acaso, con la calentura del partido algun jugador podria apretar dos veces, habia pensado que para el modelo real podria usar  un pulsador mas pequeño para este el de disminución.

s2
Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

chiva

Yo le pondría un límite de 1 pulsación por cada 5 segundos para evitar eso, aunque si que vendría bien tener un interruptor por si se marca el tanto quien no le toca.
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

yOPERO

Gracias a todos por las ideas y sugerencias, a ver si aprovecho el lunes para avanzar un poco mas.

buen puente!!
Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

Imagina

Le podrias poner un solo boton de borrado del ultimo registro...  o incluso eliminar los dos botones de borrado y detectar pulsaciones largas de los mismos pulsadores, me explico un poco mejor...

Boton 1: Pulsacion corta = Sumar un punto Jugador 1
            Pulsacion larga (2 segundos) = Borrar punto Jugador 1

Boton 2: Pulsacion corta: Sumar un punto Jugador 2
            Pulsacion larga: (2 segundos) = Borrar punto Jugador 2

Asi simplificas mas....

Sergegsx


Go Up