Tabla de contenido:

Juegos de 4 botones con una entrada analógica: 6 pasos (con imágenes)
Juegos de 4 botones con una entrada analógica: 6 pasos (con imágenes)

Video: Juegos de 4 botones con una entrada analógica: 6 pasos (con imágenes)

Video: Juegos de 4 botones con una entrada analógica: 6 pasos (con imágenes)
Video: ¡Estoy Contado Objetos y Personas usando el circuito 4026 | #utsource 2024, Mes de julio
Anonim
Image
Image

Este instructivo se centra en el uso de una línea de entrada analógica para varios botones que se pueden detectar de forma independiente entre sí.

Y para resaltar el uso de estos botones se incluye un software para jugar a cuatro juegos diferentes de 4 botones. Todos los juegos (8 en total) aquí usan una pantalla de escalera LED (consulte el proyecto anterior: instructables: Juegos de pantalla LED de una sola línea).

Puede usar su propio conjunto de 4 botones con otras salidas de pantalla, simplemente utilice la función 'scanButtons ()' de uno de los bocetos incluidos. Y use esos bocetos, por ejemplo, su uso.

Los juegos son un juego de habilidad: Whack-a-Mole, un juego de memoria: Simon Says, juegos de lógica Sea Hunt y Flip'd, un juego para dos jugadores similar a Reveri. Más adelante, en este instructivo, también presentaré cuatro juegos de dos personas de competencia cara a cara.

Paso 1: Determinar la configuración óptima de los botones

El simple hecho de usar algunas resistencias en serie con botones pulsados entre cada una funcionará si nunca tiene que preocuparse de que una pulsación de un botón obstruya a otra. En tal configuración, cada botón, cuando se presiona, bloquea todos y cada uno de los que están debajo. Incluso cuando solo necesita dos botones y solo le importa uno a la vez, como en una implementación de ping-pong; Sería un problema si un jugador falla (simplemente siendo demasiado lento o maliciosamente) para quitar el dedo de su botón antes de que el otro tenga que presionar el suyo.

A menudo, se han conectado varios botones a una sola línea analógica, cada uno con sus propios valores de resistencia diferentes que van a la entrada. Puede, con bastante facilidad, diferenciar qué botón o par se presiona cuando solo hay 2 o 3 botones. Pero no de manera confiable con más botones o más de dos presionados, ya que la combinación de lecturas en el peor de los casos se vuelve ambiguamente demasiado cerca.

Aquí, con lo que llamo una configuración de doble Y de cuatro botones y resistencias, puede discernir de manera confiable cualquier botón simple, doble, incluso triple o los cuatro botones que se presionan. El controlador de software para hacerlo se explica en la siguiente sección y en la lista de códigos.

Con el deseo de tener cuatro botones conectados a una entrada analógica donde se pudiera detectar la pulsación de cada botón independientemente del estado de los otros botones, modelé varias configuraciones en una hoja de cálculo. Descubrí que una configuración de doble Y (que consta de 2 juegos de tres resistencias) ofrecía las mejores posibilidades. Consulte el diagrama esquemático de cableado a continuación. Los estaba evaluando basándome en la mayor separación de la resistencia total entre dos combinaciones de botones presionados. Además modelé valores analógicos calculados. Consulte el archivo de hoja de cálculo a continuación.

Para determinar los mejores valores para usar en las configuraciones anteriores, escribí una simulación, que probó exhaustivamente todas las posibles permutaciones de los valores de resistencia potenciales, encontrando el conjunto que produjo la máxima diferencia mínima entre las posibles entradas de lectura. He proporcionado el código que utilicé. Esta fue una herramienta de fuerza bruta que armé, obtuve lo que quería y lo dejé a un lado, por lo que no estaba optimizado de ninguna manera. Está totalmente como está, solo como referencia histórica (Solve_4R.html a continuación).

Aquí está su salida para revisión:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 minR delta: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 minR delta: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 minR delta: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 minR delta: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 minR delta: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 minR delta: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 minR delta: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 minR delta: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 min delta de R: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 min delta de R: 11,4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR delta: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 min delta de R: 12,7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 min delta de R: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 minR delta: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 minR delta: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 minR delta: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 min R delta: 15,220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 min R delta: 18,8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 min R delta: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 minR delta: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 minR delta: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 minR delta: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 minR delta: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 min R delta: 24,380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 min R delta: 24,380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 min R delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 minR delta: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 minR delta: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 minR delta: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 min delta de R: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 min delta de R: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 minR delta: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR delta: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 minR delta: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 minR delta: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 min R delta: 30,8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 min R delta: 30,9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 min R delta: 33.2525545171

Paso 2: mi ensamblaje de 4 botones

Mi conjunto de 4 botones
Mi conjunto de 4 botones

Para mis cuatro botones utilicé estos botones y un PCB perforado y resistencias como se indica en el diagrama de arriba. La forma en que implementa físicamente sus cuatro botones está muy abierta y depende de usted y de sus necesidades de proyectos. Siempre que sea eléctricamente lo que está en el diagrama de arriba. Asegúrese de que su montaje de construcción sea tal que no haga ningún contacto con el cableado de los botones, ya que eso alterará las lecturas y provocará un comportamiento erróneo de los botones.

Tengo un pequeño botón agregado en mi tablero que uso como una tecla de 'Función'. Está en serie con una resistencia de 2 megaohmios, lo que no altera significativamente mis otras lecturas de entrada; aunque solo puedo detectarlo cuando solo se presiona. Puede ignorarlo o verificar el código para comprender mejor cómo lo utilizo.

El boceto de prueba 'Test_12Leds_6Btns' se puede utilizar para probar la detección de pulsaciones de botones por parte de su MCU y el conjunto de botones real. Su salida está configurada para ser vista con una escalera LED o el monitor en serie. Se podría modificar fácilmente para que se genere a través de cualquier tipo de pantalla que tenga.

Es posible que deba ajustar el conjunto de lecturas de referencia del código con el que compara la entrada, debido a las posibles diferencias en la resistencia pull-up interna de su MCU o a las tolerancias de las resistencias que utiliza. Si lo prefiere, podría usar resistencias de precisión, con suerte para no tener que hacer ajustes de calibración. Por cierto, no utilicé un pull-up externo ya que interferiría con otros usos que planeo para uno de mis proyectos.

Una de las acciones clave tomadas por el software, para garantizar que la determinación de qué botón (s) se presionan no se vea afectada por el nivel de voltaje de suministro (y / o la variación de MCU), es escalar la entrada analógica en función de su lectura máxima que a su vez se ve afectado por la tensión de alimentación.

El 'controlador' de software que da servicio a estos botones es la rutina 'scanButtons ()'. Espera a que se establezca el valor de entrada analógica y luego mapea la lectura en una serie de valores predeterminados; y lo traduce a los estados correspondientes para la colección de botones. Esta rutina, y las variables públicas que comparte con el software de la aplicación, es todo lo que se necesita para hacer un uso similar de este conjunto en botones independientes.

¡Nota! La versión actual de 'scanButtons ()' no intenta identificar de forma única todas las posibles combinaciones de tres botones ya que, para mí, no era realmente necesario y complicaría aún más el código y la precisión de calibración requerida.

Paso 3: Juego

Cualquiera de los bocetos, 'LadderGames4' o 'Head2head' se pueden cargar y ejecutar en la mayoría de los MCU Arduino, pero LadderGames4 debe tener 'SimonSays' o cualquiera de los otros dos juegos comentados para que quepan en los 8K Bytes de espacio del programa en un Attiny-85. El audio también es un problema con un ATtiny-85, consulte el proyecto anterior mencionado anteriormente. El código está configurado con compilación condicional y se sabe que funciona con Nano, Uno y ATtiny-85.

Con cada uno de estos bocetos después de la inicialización, se le presenta el Menú, con un color a la vez iluminando todos los Leds Rojo… Amarillo… Verde… Azul, correspondientes a las cuatro opciones de juego posibles. O presiona Btn1 cuando la opción deseada está encendida o en cualquier momento presiona Btn2-4 para los juegos 2-4. La forma redundante de seleccionar es que sea compatible con implementaciones y juegos de dos y cuatro botones. Si hay varias versiones del juego, tendrás que seleccionar rojo intermitente para la versión 1, amarillo intermitente para la versión 2, y así sucesivamente.

Juegos de 4 botones

Un juego de memoria, un juego de coordinación ojo-mano y dos juegos de estrategia.

Simon dice que esta es una reimplementación del juego desde la forma en que lo tenía, en estos proyectos anteriores:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Se juega como la mayoría de los juegos de "Simon Says".

Sin embargo, aquí agregué la versión para dos personas (cuando seleccionas la opción 2, parpadeando en amarillo), donde cada jugador, a su vez, agrega una nueva nota de luz a la serie. El primero en no repetir correctamente todo lo que vino antes pierde el juego.

Aplasta un topo

Durante 30 segundos aparecen lunares diferentes (rojo, amarillo, verde, azul) 1, 2 o 3 a la vez. Debe 'golpearlos' presionando los botones correspondientes Btn1-4. Solo se aceptarán las pulsaciones de un solo botón, no se aceptarán pulsaciones simultáneas de varios botones. El tiempo que permanece un par de lunares se acorta a medida que avanza el juego. Si golpeas todos los lunares que se muestran, aparecerá un nuevo conjunto; de modo que más rápido seas, más lunares tendrás la oportunidad de golpear.

Una vez que se termina un juego, la pantalla reflejará la puntuación, encendiendo un LED por cada 10 lunares que fueron golpeados. Como el juego obtiene 10 puntos por cada golpe de topo, 5 leds encendidos representarían una puntuación estándar de Whac-a-Mole de más de 500. Para jugar otra ronda tendrás que volver a seleccionar el juego.

Utilizo un dedo en cada botón para una acción rápida y puntuaciones altas. Para un desafío más adecuado, solo se debe usar un dedo en una mano, respondiendo al uso de un mazo.

Mi puntaje típico con un dedo es de 500, con 4 dedos (uno por botón) es más de 600. Mi puntaje más alto es 700+. Usar varios dedos es especialmente complicado porque si hay una superposición al presionar uno y otro, el software no aceptará el segundo, lo que requiere que suelte todos los botones antes de que se acepte otro. Si alguien consigue que los 12 leds se enciendan, para una puntuación de más de 1200, háganoslo saber.

Sea Hunt

Hay un submarino invisible que se mueve a través de las profundidades. Su ubicación y dirección inicial es aleatoria. Hace un movimiento a lo largo de su curso después de cada turno. Debes predecir su paradero a través de informes de sonar y hundirlo con una carga de profundidad. Un sonar que emite ondas (en ambas direcciones) desde su ubicación inicial como una luz tenue y se ilumina (junto con un ping) a la distancia del submarino. Sin embargo, tenga en cuenta que el submarino podría estar en cualquier dirección de usted y se está moviendo en una dirección desconocida. Una carga de profundidad explota muy por debajo de donde se lanza. Escuchas una explosión amortiguada si no hay nada, o hay, de lo contrario escuchas la gran explosión del submarino y un destello brillante.

Para mover el cursor dirigido a donde desea dejar caer una boya de sonda o carga de profundidad, se realiza con Btn2 y Btn3 para izquierda y derecha. El botón 1 se utiliza para lanzarlos.

En la versión 1, cada intento es una combinación de carga de profundidad e informe de sonar; y puede utilizar un número ilimitado de ellos.

En la versión 2, Cara a cara, turnándose, para ver quién logra hundir al submarino. El jugador 1 usa Btn1 y el segundo jugador usa Btn4 para lanzar sus cargas de profundidad.

En la versión 3, Btn1 y Btn4, respectivamente, lanzan informes de sonar y cargas de profundidad de forma independiente. Solo tienes tres cargas de profundidad disponibles. Puede obtener todos los informes de sonda que desee. Pierdes si no lo consigues con esos cargos.

En la versión 4, el submarino podría moverse a una velocidad de 1-3 espacios por volea, y por lo demás juega como la versión 3, pero obtienes 6 cargas de profundidad.

Historia: Creé por primera vez el juego 'Sea Hunt' en la década de 1970. Entonces, el dispositivo de entrada y salida era un teletipo. Sin embargo, entonces el mar era una cuadrícula de 2 dimensiones, a diferencia de unidimensional como lo es aquí.

NOTA: Comenté la limitación de la carga de profundidad en el código, con la idea de que ya era lo suficientemente difícil de jugar para la mayoría de la gente.

Volteado

Este juego de dos jugadores se parece un poco a Reveri, en el sentido de que intentas cambiar todas las celdas a tu color, pero esto se logra de manera diferente.

En este juego para dos jugadores, el objetivo de un jugador es apagar todas las luces y el otro encenderlas todas. Un jugador usa Btn1 para apagar un grupo de luces del otro jugador o renuncia a una sola de sus "luces apagadas" (encendiéndolas). El otro jugador usa Btn4 para encender un grupo de "luces apagadas" o apagar una sola de su espalda.

El tablero comienza con un conjunto aleatorio de leds encendidos. Cuando es el turno del primer jugador, hay una atenuación o iluminación rápida en el LED en el 'cursor', el punto de interés, que potencialmente se puede girar. Durante el turno del jugador # 2 hay un destello largo de un LED como indicador de cursor. Si el jugador equivocado presiona su botón, fuera de turno, se escucha un pitido muy corto. Btn2 mueve el cursor a la izquierda y Btn3 a la derecha. El jugador perdedor comienza el siguiente juego.

La estrategia sobre qué voltear puede ser significativa.

Paso 4: Concursos cara a cara

Juegos de dos botones / dos jugadores

En el primer conjunto de juegos de 4 botones, solo 'Whack-a-Mole' realmente se basa en la total independencia del procesamiento de los botones. También he implementado cuatro juegos cara a cara, todos los cuales dependen de la detección de botones independientes. Estos juegos son: Quick Draw, Tug a War, Chicken y Hot Hands (Slapsies).

Dibujo rápido (prueba de reacción)

El concurso comienza con un 'Listo' / rojo, 'Conjunto' / amarillo y un '¡Dibujar!' / Verde; siendo bastante aleatorio en cuanto a cuándo te da luz verde. El primero en presionar su botón gana. Golpea demasiado pronto y te deshonra con un zumbido.

El jugador 1 usa Btn1 (a la izquierda) y el jugador 2 usa Btn4 (a la derecha).

Tira y afloja

Comienza con un 'Listo', 'Conjunto' … '¡VAMOS!'. Aparece un objeto en el medio, un 'arco' en una cuerda. Luego, los jugadores presionan sus botones lo más rápido y a menudo que pueden. El arco se moverá hacia el jugador con más golpes. Una vez que el arco llega a un extremo, ese es el ganador.

Pollo

Este concurso se inicia de manera similar. Después del sonido y el destello verde de 'Go!' los jugadores presionan y mantienen sus botones, destellos de luz (sus carros) comienzan a moverse de ellos hacia el otro. El ganador es el que suelta su botón (salta de su carro) el último, justo antes de que los dos blips chocan entre sí. Si alguien se libera demasiado tarde o no lo hace, se estrella y pierde. Si ambos saltan (sueltan) demasiado tarde, nadie gana.

Al principio, un par de leds opuestos recorren la pantalla, en este momento si presionas Fnc-Btn2, la velocidad del juego aumentará. Esto se puede repetir varias veces.

Manos calientes

Una versión digital del juego de bofetadas (también conocido como Red-Hands o Slapsies). Para comenzar, los dos jugadores presionan sus botones juntos, un lado suelta y luego intenta presionar su botón dos veces antes de que el otro lado pueda soltar su botón. A continuación, el otro lado intenta hacer lo mismo. El jugador al que le toca el turno se indica al comienzo de una ronda mediante la iluminación de los leds de su lado. Descubrí que un solo botón era demasiado rápido y fácil, así que hice dos requeridos, lo que requiere más acción y tiempo, como tener que girar una mano por encima y por encima de las otras y luego golpear hacia abajo. TBD: En una segunda versión, es gratis para todos, en cualquier momento cualquiera de los jugadores puede intentar sacar lo mejor del otro.

Aviso ! Te aconsejo que imprimas las reglas de funcionamiento de los juegos anteriores y las vuelvas a leer antes de jugar a un juego que no hayas jugado recientemente. De lo contrario, puede frustrarse; pensar que el juego no está funcionando correctamente cuando de hecho lo está, pero tú y el juego tenéis diferentes formas y expectativas. Yo mismo he sido víctima de esto más de un par de veces.

Con los ocho juegos aquí y los cuatro en mi proyecto anterior Single-Line-LED-Display-Games, eso hace que el software esté disponible para jugar 12 juegos con esta combinación de hardware de escalera de cuatro botones + LED.

Tengo al menos cuatro actividades recreativas más para este hardware (pantalla de botones) antes de fin de año.

Paso 5: Controladores de 2 jugadores opcionales

Controladores de 2 jugadores opcionales
Controladores de 2 jugadores opcionales
Controladores de 2 jugadores opcionales
Controladores de 2 jugadores opcionales
Controladores de 2 jugadores opcionales
Controladores de 2 jugadores opcionales
Controladores de 2 jugadores opcionales
Controladores de 2 jugadores opcionales

Para los juegos que solo requerían dos botones, podría haber usado, por supuesto, el PCB de 4 botones con esos juegos; sin embargo, al jugar a estos juegos uno tiende a ponerse bastante físico. Por lo tanto, utilizo conjuntos de botones de tipo émbolo separados, hechos de un trozo de tubo de plástico cubierto con una empuñadura de bicicleta y un botón grande.

Piezas de botón tipo émbolo:

  • Tubería de goteo de 1/2 ", separador de rociadores o PVC (ferretería)
  • Empuñadura de bicicleta (Walmart)
  • Grandes pulsadores (eBay)
  • 2 resistencias

Para mantener la compatibilidad, un botón tiene una resistencia de 75 ohmios en serie con él y el otro tiene una resistencia de 36-39 ohmios en serie; de modo que el software los verá como Btn1 y Btn4 respectivamente.

Puede usar tubos de, por ejemplo, una escoba o un mango de escobilla de goma desechados.

Incluso se podría hacer un adaptador al que se podrían conectar los joysticks de las consolas de juegos antiguas; hacer que los botones de disparo de uno estén conectados como Btn1 y Btn4 para el otro, mientras comparten Btn1-4 yendo a los botones de navegación de los joysticks.

Abril de 2018: ahora prefiero usar acopladores de compresión de 5/8 como cuerpo para los botones de estilo de émbolo externo. Los botones grandes (con un poco de cinta sobre sus hilos añadidos) encajan perfectamente en ellos y encajan muy bien en la mano. Como mi A los niños les gusta usar un par de estos, agregué un par de pines de encabezado para conectar fácilmente un botón externo de mano a través de los contactos Bnt1 y uno para Btn4.

Paso 6: Actualización (es)

Actualización (es)
Actualización (es)

Hice una carcasa de consola impresa en 3D para albergar la pantalla de escalera LED en línea y los botones.

He combinado los 12 juegos que creé hasta ahora, para esta pantalla de 12 LED, en un boceto 'Menu_12Games'. Este software requiere el hardware de este proyecto implementado con una MCU flash de 32 KB (por ejemplo, Nano o Uno) y 5 botones, 4 principales + una FncKey.

El menú de selección ahora tiene dos niveles; primero selecciona 1 de 4 grupos de juegos, luego el juego 1-4 dentro de ese grupo,… como se indica a continuación. Mientras espera las pantallas de selección, escanee R-Y-G-B periódicamente, presione Btn1-4 como su selección en cualquier momento, no importa lo que se muestre cuando presione su selección. Durante la selección de 'grupo', todos los Leds están al menos parcialmente iluminados durante el escaneo RYGB. Para salir de cualquier juego o hacer una copia de seguridad de la selección de 'juego' a 'grupo', presione FncKey-Btn1.

Todavía tengo que codificar el último 4. Tengo 3 escritos (incluido 'LeMans'). No se me ocurrió cuál sería el último juego. Envíame un mensaje con cualquier idea.

Actualización 25 17 de enero: Para aquellos de ustedes que disfrutan del acceso a una impresora 3D, es posible que les interese el estuche de la consola de juegos que hice para mi dispositivo: https://www.instructables.com/id/3D-Printed-Case- para consola con pantalla LED en línea y /

Actualización 17 17 de febrero: Agregué los 4 juegos finales, que ahora están disponibles como "Menu_16Games.ino" en "Paso 7: Actualización, más juegos" de Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino is ahora no existente)

Juego de grupo: 1– Rojo 2- Amarillo 3 - Verde 4 - Azul

1 rojo PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

Recomendado: