Tabla de contenido:
Video: Dados digitales de bricolaje: 6 pasos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Este Instructable describe cómo diseñar Digital Dice, un verdadero generador de números aleatorios del 1 al 6. Este dispositivo se puede usar en lugar de los dados de uso común. Tiene una pantalla LED de 7 segmentos de 1 dígito y dos botones: "Ejecutar" y "Mostrar anterior". Los dados digitales se pueden alimentar con una sola batería CR2032. No tiene interruptor de encendido debido a un consumo de energía insignificante cuando está inactivo.
A continuación, describimos los pasos necesarios para comprender cómo se ha programado el chip GreenPAK para crear los dados digitales. Sin embargo, si solo desea obtener el resultado de la programación, descargue el software GreenPAK para ver el archivo de diseño GreenPAK ya completado. Conecte el kit de desarrollo GreenPAK a su computadora y presione el programa para crear el IC personalizado para controlar sus dados digitales.
Paso 1: Arquitectura del dispositivo
El diseño consta de los siguientes bloques:
- Generador de entropía
- Registro de desplazamiento de retroalimentación lineal
- Decodificador de binario a 7 segmentos
- Unidad de control
- Configuración de macrocelda
Paso 2: generador de entropía
El generador de entropía está formado por cuatro osciladores asíncronos. Dos de los cuales se construyen utilizando una LUT de circuito cerrado invertida con retardo (1 MHz y 6,5 MHz). Otros dos son OSC1 de GreenPAK (2.048 MHz junto con una división por 3) y OSC2 (25 MHz dividida por 2).
La entrada de algunas señales de reloj asíncronas en la puerta XNOR es suficiente para obtener una señal impredecible en su salida (ruido o entropía). Pero las macrocélulas dentro del SLG46826V permiten hacer soluciones aún más complicadas. Usando un oscilador más y DFF obtenemos una señal completamente aleatoria.
Paso 3: Registro de desplazamiento de retroalimentación lineal
El LFSR de 3 bits se construye utilizando tres DFF y una puerta XNOR. Este bloque con cada reloj de entrada genera un número pseudoaleatorio de 3 bits. Aquí, en lugar de un pulso de reloj, la señal de ruido entra en la entrada del LFSR, generando un verdadero número aleatorio de 3 bits.
Paso 4: decodificador de binario a 7 segmentos
Para convertir el número aleatorio de 3 bits generado por el LSFR, se utiliza el decodificador binario a de 7 segmentos, consulte la Figura 3. El decodificador está construido con LUT de 3 bits.
Paso 5: Unidad de control
La unidad de control es una parte del dispositivo diseñada para iniciarla y detenerla después del período de 3 segundos. Se configuran dos pines como entradas y se deben conectar dos botones desde VDD a esos pines. Mientras se presiona el botón "Ejecutar", el dispositivo genera continuamente números aleatorios. Inmediatamente después de que se suelta el botón, la generación se detiene y LFSR bloquea sus salidas. Posteriormente, el decodificador activa una pantalla de 7 segmentos. Después de un período de 3 segundos, los dados digitales quedan inactivos. El dispositivo todavía está encendido, pero debido a que se han apagado todas las oscilaciones, el consumo de corriente es extremadamente bajo. Esto permite que el dispositivo "recuerde" el último número aleatorio generado. Si se presiona el botón "Mostrar anterior", se mostrará el último número aleatorio generado hasta que se suelte el botón. Debido a que Digital Dice está diseñado para reemplazar los dados habituales, el LUT12 de 3 bits se usa para reiniciarlo cuando ocurre "0" o "7". Esto asegura que el dispositivo generará un número aleatorio en el rango de 1 a 6.
Paso 6: Configuración de macrocélula
Para cada macrocélula, los ajustes se refieren a las tablas anteriores.
Conclusiones
Los dados digitales se pueden utilizar como reemplazo de los dados habituales en los casinos o cuando se juega a cualquier otro juego en el que se necesiten dados. Tiene un generador de entropía que genera constantemente números aleatorios de 3 bits mientras se presiona el botón "Ejecutar". Se detiene y muestra el resultado solo cuando se suelta el botón, por lo que el factor humano también afecta el número aleatorio generado. Cuatro osciladores asíncronos junto con la variabilidad de la pulsación de un botón humano hacen que el dispositivo sea completa y deseablemente impredecible.