¿Circuito para la cuadrícula del juego de matemáticas? [cerrado]

3

Soy un estudiante graduado de matemáticas y quiero diseñar algunos circuitos eléctricos para un taller de juegos de matemáticas. Sé que la física solo en un nivel de secundaria.
Al principio, vamos a explicar el juego y sus reglas, Supongamos que tenemos una tabla \ $ 3 \ por 3 \ $, y hay una luz en cada cuadrado, Cuando pulsamos el interruptor correspondiente de cada luz, el estado de esa luz y todas las demás luces adyacentes cambiará. Por ejemplo, consideremos este ejemplo:

Sipresionamoselinterruptorcorrespondientedelcuadradoconsignoazul,elestadodelcuadradoconsignoazulytodosloscuadradosconsignorojocambiarán.Enelsiguientepaso,
Sipresionamoselinterruptorcorrespondientedelcuadradoconsignorosa,elestadodelcuadradoconsignorosaytodosloscuadradosconsignonaranjacambiarán.

¿Cómodebodiseñaruncircuitoasí?

Queremosreemplazareltablero\$3\por3\$,conotrostableroscomo:

Pero las reglas son las mismas que las del ejemplo anterior.

  

¿Cómo debo diseñar los circuitos correspondientes a   \ $ (4 \ times 4) \ $ o \ $ (\ star \ star \ star) \ $?

    
pregunta Davood

3 respuestas

5

El circuito real es solo un microcontrolador que lee un montón de interruptores y controla un grupo de luces.

Podría obtener un microcontrolador con muchos pines, o usar expansores de E / S, y conectar cada luz y cambiar a su propio pin. O bien, puede hacer algo llamado multiplexación . Los interruptores y luces se organizarían en una cuadrícula. El microcontrolador escanea la matriz según sea necesario. Así es como funcionaría cualquier producto similar diseñado profesionalmente. Sin embargo, especialmente si es nuevo en micros, le será más fácil dar a cada interruptor y luz su propio pin dedicado (posiblemente a través de expansores de E / S). Para una sola vez, eso estaría bien.

Hay otro enfoque que es más complicado eléctricamente, pero conceptualmente más simple. Use un pequeño microcontrolador para cada cuadrado. El micro tiene conexiones a sus 4 vecinos. Cuando un micro detecta su botón presionado, complementa su luz y envía una señal a sus vecinos. Cuando el micro ve una señal de un vecino, complementa su luz.

Esto hace que el firmware de cada micro sea muy simple y solo requiere 6 conexiones de E / S. Estos son 1 para la luz, 1 para el botón y 4 líneas para cada uno de sus vecinos. Las líneas adyacentes se levantarán de forma pasiva y un micro las presionará durante un tiempo mínimo (unos pocos µs) para indicar un interruptor.

No te olvides de rebotar la entrada del conmutador.

Una vez que tengas este bloque de construcción básico, lo replicas para hacer la matriz del tamaño que quieras. Este sistema es escalable a matrices grandes.

El resto es firmware.

    
respondido por el Olin Lathrop
1

Te recomiendo que comiences por investigar las máquinas de estado de Mealey. Al convertir su juego en una máquina de estado, podrá crear fácilmente su circuito a partir de puertas lógicas digitales. Si desea ir un paso más allá, puede utilizar un FPGA y un lenguaje de descripción de hardware como Verilog para diseñar su circuito. Sin embargo, esto requiere una comprensión de la lógica digital, las máquinas de estado y, por supuesto, cómo utilizar un lenguaje como Verilog. Puede parecer una exageración para una tarea tan simple, pero te permitirá incorporar fácilmente la lógica de tu juego para, literalmente, cualquier configuración de tablero en la que tu FPGA tenga suficientes pines.

    
respondido por el Jonathan Riley
1

Puede crear una única placa de PC pequeña para cada botón que contenga la lógica como la que se muestra a continuación. La placa recibe entradas (y tierra) de los interruptores adyacentes que alternan un flip flop cada vez que se activa el interruptor en una tarjeta adyacente o en la propia tarjeta. Los interruptores deben ser rebatidos antes de conducir el reloj flip flop para que alterne solo una vez por cada pulsación del interruptor.

simular este circuito : esquema creado usando CircuitLab

Puede usar una 74HC4075 triple entrada O OR para las compuertas OR. Puede usar un flip flop estilo D de 74HC74 y hacer que un reinicio basado en RC conduzca la entrada de reinicio a Borrar todos los FFs en el encendido. Para crear un flip flop que alterna para cada reloj desde un flip flop D, realimente la salida invertida a la entrada D como se muestra a continuación.

(De enlace )

    
respondido por el crj11

Lea otras preguntas en las etiquetas