Usando la pantalla LED

0

Este es mi circuito actual. Es un juego de adivinanzas de color para 2 personas. La primera persona elegirá el código de color que el otro jugador tiene que probar y adivinar usando los registros de la izquierda y luego establecer el código de color transfiriéndolo a los registros de la derecha haciendo clic en el botón configurar código en la parte inferior. El segundo jugador intentará adivinar el color. Para verificar si el jugador tiene el código de color correcto, presionarán el botón de adivinar color. Si los 2 colores se han adivinado correctamente, la pantalla hexadecimal mostrará 2. Si se ha adivinado 1 color correctamente, la pantalla hexadecimal mostrará 1 y si no se han adivinado correctamente los colores, la pantalla hexadecimal mostrará 0. Así que, por ejemplo, en la ilustración anterior. En la imagen, si el jugador presionó el botón de adivinar color atm, se mostrará el número 2 ya que todos los colores están en su posición correcta.

La última parte es con lo que necesito ayuda. No tengo idea de cómo cablear el circuito para que pueda verificar si las conjeturas son correctas o no. Cualquier ayuda es muy apreciada ya que todavía estoy aprendiendo.

    
pregunta Mike

2 respuestas

1
  • Debe comenzar por definir la teoría de operación del juego y todas las permutaciones de N colores (N = 4) en 4 posiciones.
  • Estos pueden definirse por los colores ABCD y las posiciones 1234.
  • Los resultados se pueden mostrar como un LED bicolor B / G con hasta 4 indicadores por suposición.
  • Tanto las suposiciones como los Resultados se pueden mostrar Y guardar para cada una de las 12 conjeturas.
  • Los indicadores azules o verdes muestran el recuento de los colores correctos en las posiciones falsas (F) y verdaderas (T) en un formato binario discreto
  • cada indicador de resultado tiene dos salidas para el recuento de posición F / T, no la posición real
  • cada entrada de conjetura puede usar un interruptor decimal de rueda de dedo BCD para indicar un número de color para cualquier número de colores, como 4 o incluso más
  • Un juego típico de Mastermind permite 12 conjeturas. por lo que se pueden mostrar 4 entradas y 4 adivinanzas bicolores
  • Un color en blanco como una quinta opción = 0 podría considerarse o incluso más colores para el jugador avanzado. Esto conduce a permutaciones de N ^ C.

El algoritmo de visualización

  • Un conteo de 0,1,2,3,4 es 5 resultados diferentes, requiere un conteo de 3 bits y puede mostrarse usando un indicador LED RGB con asignaciones de color arbitrarias.

  • La conjetura de cada posición debe compararse de manera secuencial para contar los resultados B / G utilizando un XOR de 1 a 4 colores o números ingresados.

  • Esto requiere una operación XOR para contar tanto el color correcto como el color y la posición correctos, y restarlos para indicar la cantidad de conjeturas correctas de posición azul o incorrecta.

Un 2k ROM uC podría realizar estas operaciones para establecer una interfaz y controlar estas pantallas con hasta 4x12 LED RGB de suposición de entrada y 4x12 LED bicolor para resultados que proporcionan 96 LED para interactuar utilizando LED controlados por I2C.

  • Si desea editar mis especificaciones y simplificarlas, siéntase libre de copiar y pegar en su pregunta lo que prefiera.
  • Recuerde que el mejor diseño siempre comienza con una buena especificación clara de "Must Haves" y Nice to Haves (o tendrá o restricción menor, puede tener )
respondido por el Tony EE rocketscientist
1

No estoy familiarizado con Mastermind pero si entiendo lo que estás haciendo, debería hacerlo. Una simple máquina de estados EPROM.

Creo que mi única suposición es que no hay eventos aleatorios.

Esta es una máquina de estado finito donde los LED determinan el estado actual. Los interruptores de botón determinan la transición al siguiente estado.

El registro de datos está cronometrado a 10 hz, por lo que detectará cada vez que se presione el botón rápidamente y el rebote no será un problema. Es posible que necesite un reloj más lento si no puede soltar el interruptor lo suficientemente rápido. También puede remediar mantener el interruptor cerrado programando en la tabla de estados de EPROM, donde la única forma de salir del estado es presionando un interruptor diferente para pasar de un estado a otro. En otras palabras, presionar el mismo interruptor dos veces no pasará a otro estado.

Noestoysegurodesiestáfamiliarizadoconestecircuito,creoqueesbastantecomún.Sino,nocreoqueelconceptoseademasiadodifícildeentender.BusquéeltérminomáquinadeestadosEPROMyobtuveesteenlacetutorial: Controlador lógico programable de máquina de estado finito

No he hecho uno desde 1985, pero creo que esto lo hará. Recuerdo 1985 porque el producto final estaba en una portada de abril de 1986 de PC Week Magazine, como la primera tarjeta Ethernet de IBM para una PC cuando lanzaron la Micro Channel PC.

    
respondido por el Misunderstood

Lea otras preguntas en las etiquetas