Pages: [1] 2 3   Go Down
Author Topic: Marcador Electronico para Padel/Tennis (Scoreboard)  (Read 6191 times)
0 Members and 1 Guest are viewing this topic.
Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

« Last Edit: April 26, 2011, 04:09:20 pm by yOPERO » Logged

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

     

[SOLUCIONADO]

Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

     

[SOLUCIONADO]

Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
___________

Logged

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

     

[SOLUCIONADO]

Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

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

     

[SOLUCIONADO]

Castellon, España
Offline Offline
Sr. Member
****
Karma: 7
Posts: 341
OR ganizando
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@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.
Logged

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

     

[SOLUCIONADO]

Castellon, España
Offline Offline
Sr. Member
****
Karma: 7
Posts: 341
OR ganizando
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

¿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.
Logged


Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Podrías usar vectores, ya que se te simplificaría mucho el código
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Qué sentido tiene el botón para disminuir puntuación?
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@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
Logged

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

     

[SOLUCIONADO]

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

buen puente!!
Logged

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

     

[SOLUCIONADO]

Alicante
Offline Offline
Full Member
***
Karma: 0
Posts: 156
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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....
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muy buena idea Imagina !!
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Pages: [1] 2 3   Go Up
Jump to: