El cubo de hielo electrónico reemplaza la influencia humana

[Will] le gustan sus juegos de mesa, pero parece incapaz de evitar soltar los dados. Ha estado usando los programas de teléfonos móviles durante algún tiempo y ha decidido que es hora de crear un microcontrolador especial.

El cerebro detrás de los dados es un microcontrolador chipKIT uC32. Siete pines de salida están conectados a 7 LED dispuestos correctamente en la parte superior del dado. Solo hay un componente eléctrico adicional, un interruptor momentáneo, que se usa para volver a enrollar. Cuando se presiona el botón, se genera un número aleatorio entre 1 y 6 y luego el LED lo muestra de acuerdo con un dado verdadero. [Will] escribió su propio código para este proyecto y lo pone a disposición de todos para que lo descarguen. La carcasa está impresa en 3D y fue diseñada en Tinkercad, cuyos archivos también están disponibles. El chipKIT está conectado a la base impresa en 3D mediante un par de clips zUNO. Encuentre un video corto de esto en acción después del descanso …

¿Para buscar la posibilidad de la tirada pero perder la realidad de los dados? Eche un vistazo a este dado real. ¿Necesitas dos dados electrónicos? Échales un vistazo.

https://www.youtube.com/watch?v=Y3jnwRO5Rt4

  • kylehbrinkerhoff dice:

    estimamos cuán aleatorios son realmente esos roles …..

  • John U dice:

    Trineo martillo, conoce una nuez …

  • Jjouni dice:

    A veces me pregunto por qué estos proyectos se publican aquí en la-tecnologia.

    Este dispositivo no es un truco, ni es algo nuevo. Solo necesita que los procesadores posean un número aleatorio (que probablemente no sea “aleatorio”) e iluminen los cueros.

    La gente debería usar esto para cualquier%% aleatorio: https://code.google.com/p/avr-hardware-random-number-generation/

    • Trui dice:

      La función rand () es simple pero suficiente para este propósito. El mayor problema puede ser la semilla aleatoria. Si se restablece al mismo valor cada vez que se reinicia el dispositivo, la secuencia será idéntica.

      • Gerrit dice:

        Ni siquiera necesita un margen () para esto. Simplemente deje que el controlador revise los 6 números posibles siempre que se presione el botón. Haga esto con una frecuencia bastante alta (kHz si lo desea) y es lo suficientemente rápido como para que el elemento aleatorio sea el momento en que el usuario presiona el botón. Para mayor diversión, cuando se suelta el botón, puede lanzar los dados lentamente hasta que el tiempo requerido para eso se tome de los últimos dígitos del temporizador del sistema, que funciona tan rápido como se puede configurar.

        • meninosousa dice:

          Vine aquí pensando (tantos otros como sea posible) que esto no es una coincidencia … pero todavía estoy en este método;)

        • Trui dice:

          Combinaría las dos ideas: mientras se presiona una tecla, mostrar un número aleatorio, seguido de una breve pausa. Esto combina la animación rodante y mezcla algo de entropía.

          • Tony dice:

            Combine un rebote de botón, presione la longitud y use el temporizador de apagado (longitud variable debido al oscilador RC) y eso será “lo suficientemente bueno” para la mayoría de las personas.

          • Trui dice:

            Suena más complicado que simplemente llamar a rand (), que también es bastante bueno.

        • Almiar dice:

          me recuerda el primer proyecto de laúd que nos dieron en la escuela. Dados electrónicos.

          Laminó exactamente la misma secuencia en cada diente. 2,1,3,4,6,5. No importaba cuánto tiempo mantuviera presionado el botón. Lamentablemente, hubo algunas personas en mi clase y otras que no notaron que la secuencia se repetía. Comprobó unas 30 marchas, exactamente la misma secuencia.

          algunos de nosotros cortamos el botón e insertamos un interruptor giratorio que se soltaba. Encenderlo nos dio un número aleatorio de pulsos.

          las cosas se volvieron estúpidas a partir de ahí. la ruleta aleatoria se convirtió en el controlador de la radio AM. donde la ruleta se detuvo, la señal enviaría un pulso cada vez que la señal pasara un umbral preseleccionado durante aproximadamente 1 segundo. Luego intentamos aleatorizar el umbral. Entonces el tiempo. Terminamos con un dispositivo del mismo tamaño que una computadora de escritorio 386 que solo podía ejecutar D6.

          Aprendimos una lección valiosa sobre un campo de proyecto en ese vecindario.

        • Greenaum dice:

          Así que casi todos los planes sobre matrices LED y artículos de revistas lo hacen. Haga circular los números muy rápidamente y deténgase cuando se presione el botón. No necesitas un procesador, solo una calculadora y algunos diodos para decodificar la pantalla.

  • dados rodantes dice:

    Muchas opciones de ingeniería excesiva

  • METRO dice:

    Vamos, ¿qué nerd que se respete a sí mismo crearía una estratagema para tirar d6s? 😉

    • repkid dice:

      al menos dale la opción de ir a d20

      • Gregkennedy dice:

        Estos dados van al 11.

    • Ingenuo de patas azules dice:

      Supongo que se supone que debes contar las tuberías. Bromas sobre ti: binario. : V

  • Indyaner dice:

    Es un gran software para tan pocos LED. Por mucho que ame a mis Arduinos, iría con ATtiny dentro del cubo.

    • Indyaner dice:

      Además: ubicación de botones extraña. Puede reemplazar el tablero enorme con un botón del mismo tamaño para que active correctamente la función de tirar dados.

      • Chisporroteo dice:

        o una envoltura aún más fresca dentro de un estilo ligero de grifo (un poco como un botón de grapado fácil), y tiene LED gigantes que brillan a través de la tapa de plástico.

    • Trui dice:

      Si ya tiene el software, las herramientas y la experiencia, es una solución más rápida y sencilla que migrar a ATtiny.

      • Tony dice:

        … y en ese caso debes saber que puedes hacerlo con 555 & 4017, o incluso con un PIC de 6 pines p. 10F200.

  • Sim Bradshaw dice:

    correcciones para el artículo – perder no perder, arreglar no arani.
    y para Karl: rodar, no rodar.

    Por [will] mueva el botón o haga que todo el dado sea el botón para que presione hacia abajo para rodar. O, oye, imprime algunos dados si sigues perdiéndolos.

    • Wittenbunk dice:

      correcciones por comentario – Kyle no Karl

    • crampones dice:

      “Abrir mis dados en la mesa” también se aplica … Quizás este tenga la ambigüedad suficiente para que ambas grafías puedan ser correctas.

  • Duwogg dice:

    Odio ver que los “tableros de desarrollo” se utilicen de esa manera. Es un desperdicio terrible. Algunos de ustedes parecen tener dificultades para comprender ese hecho. Es como si tuvieras dinero ilimitado para tirar. Es su dinero, haga con él lo que quiera, pero es un uso muy estúpido de recursos que podría usar para otras cosas. ¡Ganar dinero con las cosas es todo lo contrario de lo que se supone que son “hacks”! Esto podría hacerse sin un micrófono casi al mismo tiempo que se tardó en codificar el firmware, con una posibilidad real de comenzar. Pero no, hagamos un pseudoaleatorio en un tablero de desarrollo para encender 6 cueros … eso es realmente ingenioso. Si iba a desperdiciar una micro-mezcla en algo tan simple, ¿por qué no AVR o PIC por su cuenta? ¿Por qué tenemos que desperdiciar una placa de desarrollo completa en conectores USB sin conectar y hardware de soporte cuando los PIC y AVR pueden ser independientes? Simplemente no lo entiendo. Si intentas algo, claro, adelante, REGRESAR está bien, pero ¿uno se está muriendo? esto ya se ha hecho un millón de veces en implementaciones de hardware mucho mejores. Me canso de todos los “reinventemos la rueda” en las publicaciones de arduino (u otro software). Puedes comprar un kit para uno que ni siquiera usa un micro, o puedes comprar un kit que usa un micro. ¿Qué pasa con algunos kits de relojes? ¡Si tan solo hubiera más publicaciones sobre cosas que se están haciendo, una y otra vez!

    • Trui dice:

      Cálmate. Es fácil conseguir que el software se reutilice para otra cosa.

    • chango dice:

      Feliz viernes a ti también.

      Entonces, si entiendo su saqueo, ¿nadie debería usar hardware destinado a ahorrar tiempo mientras crea prototipos para crear prototipos porque construir algo sin comenzar desde los primeros principios es de alguna manera vergonzoso?

    • tekkieneet dice:

      Usar soluciones prefabricadas (por ejemplo, marco Arduino, placas de desarrollo, pantallas) es como comer una cena de televisión. Está bien moderadamente cuando estás ocupado, pero no es bueno para ti a largo plazo. Es más caro e infla su código. Ciertamente no impresionará al comensal.

    • Ingenuo de patas azules dice:

      @Duwogg
      Obviamente, no atribuye ningún valor a su tiempo.

  • Xtremegamer dice:

    por qué no, poner 6 cueros a cada lado | agregar un interruptor en movimiento | hacer todo lo que hay adentro – cuando se lanza, mostrará el número de ojos en ambos lados | Vaya aún más salvaje y agregue un cargador magnético para que cuando “agite” los dados, realmente lo encienda para mostrar. así es como haría algo así 🙂 – puede que se haga un poco más grande, pero bueno.

    función de trampa: una secuencia de batidos hace que siempre sea el número que desea.

    • DigiGram dice:

      ¡Ahora necesito construir tu idea! ¡Me encanta la función de trampas ocultas!

  • tilk dice:

    Estos dados electrónicos se pueden construir con un solo 4060 y varios LED.
    http://www.eeweb.com/blog/extreme_circuits/dicing-with-leds

  • elromula dice:

    ¡Excelente construcción!

    Sin embargo, hay una pequeña descripción general … Este código no generará números distribuidos uniformemente … Es decir, algunos números son más probables que otros.

    La razón es que el rango de números generados por rand es un número que (lo más probable) no se puede dividir por 6 (generalmente es una especie de potencia de 2). Debido al principio de un casillero, la inserción de los números en los 6 contenedores dará como resultado que algunos contenedores tengan más números. No mucho, y si el número aleatorio es lo suficientemente grande, el efecto es pequeño.

    • Trui dice:

      Con un rand de 32 bits (), el efecto es de aproximadamente 1 entre mil millones. No es suficiente para preocuparse.

  • Gerrit dice:

    Recuerdo haber construido un dado electrónico en los años 80. Entonces el circuito era mucho más simple, solo 2 chips TTL (uno de ellos 7490 si mal no recuerdo) más algunas cosas pasivas. Puedes encontrar circuitos en la red que lo hagan con 555 y 4017.

    ¿Por qué desperdiciar todo el software con un microcontrolador por algo que una lógica simple puede manejar? Un efecto secundario es que aprendes a usar circuitos lógicos.

    • Trui dice:

      Y un efecto secundario de usar un tablero de desarrollo es cómo se usan los tableros de desarrollo. No todo el mundo se preocupa por los chips lógicos.

      • Gerrit dice:

        Bueno, el otro problema con el uso de un tablero de desarrollo es que generalmente son limitados, la mayoría de las veces el controlador en sí puede hacer mucho más. Por lo tanto, permanecer en una placa de desarrollo puede limitar sus opciones en comparación con la construcción de su propia placa (ya sea que use un microcontrolador o una lógica fija)

        No necesita preocuparse por los chips lógicos, pero de manera más similar, el conocimiento limitado limita sus opciones y, de repente, la única forma de hacer parpadear un LED que puede imaginar es usar un microcontrolador.

  • Juan Rodríguez (@JuanToMany) dice:

    Probablemente habría usado dos pantallas de siete segmentos en su lugar para acomodar mis listas d20 también. Tal vez un botón para alternar entre los “modos” de dados para poder elegir qué dados laterales me gustaría lanzar.

  • andrewjhull dice:

    http://s1.hubimg.com/u/4764316_f520.jpg

    .. ahora tengo derecho a tomarme el resto de la tarde para hacer algo útil con mi software, por favor …

    • Chuck Rohs dice:

      Este fue mi primer intento de dardos electrónicos. http://zethus.ca/wp/?p=388

  • Arkid dice:

    Hice esta mierda hace 7 años como un proyecto GCSE, lo actualicé a una pantalla de 7 segmentos y usé un sensor de inclinación para replicar agitando los dados …

  • Galane dice:

    ISTR era un proyecto en una revista electrónica de 1970 que usaba 555, tenía una bonita caja de madera y “enrollaba” dos D6.

    Lo que sería realmente bueno es un dado con una cámara web USB y un programa que se ejecuta en el host para reconocer ópticamente el lanzamiento de dados reales. El dieetilo *, que se lee alrededor de la base como D4, también sería difícil de leer.

    El propósito de esto sería incrustar listas realmente aleatorias en juegos de computadora. Hágalo funcionar, luego llame a Hasbro …

    Si hubiera algo como un chip que combina RFID y un giroscopio de estado sólido, incluida su propia bobina de corto alcance, la plataforma rodante podría identificar cada dado y su orientación en la plataforma y enviar automáticamente los números de rollo al sistema de alojamiento. Probablemente difícil de equilibrar.

    Otro método más podría ser pares de contactos eléctricos de cada pip y una cuadrícula muy fina en la almohadilla que puede leer cuántos pares de contactos lo tocan. Debe haber una cara opuesta para los dados de lectura superior …

    * Die es una versión única de un cubo de hielo. Llame a un dado “dado” y el fantasma de Gygax lo perseguirá.

  • Matti Virkkunen (@mvirkkunen) dice:

    ¿Tienes un software de $ 35 y todo lo que hiciste fue parpadear muchos LED? Quiero decir, claro, es bueno para comenzar un proyecto de microcontrolador (puedo decirlo por el código), pero no es exactamente nada para escribir en casa.

    O escribe sobre La-Tecnologia sobre.

  • DaveO dice:

    Escuché que la NASA gastó millones en desarrollar una “muerte espacial” en los años 60 que funcionaría en gravedad cero.

Miguel Vidal
Miguel Vidal

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *