Tabla de contenido:

E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 y D30: 6 pasos (con imágenes)
E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 y D30: 6 pasos (con imágenes)

Video: E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 y D30: 6 pasos (con imágenes)

Video: E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 y D30: 6 pasos (con imágenes)
Video: edice - electronic dice - Arduino Project 2024, Noviembre
Anonim
Image
Image
E-dice - Arduino Die / Dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 y D30
E-dice - Arduino Die / Dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 y D30

Este es un proyecto arduino simple para hacer un dado electrónico. Es posible elegir de 1 a 6 dados o 1 de cada 8 dados especiales. La elección se hace simplemente girando un codificador rotatorio.

Estas son las características:

  • 1 dado: mostrando grandes puntos
  • 2-6 dados: mostrando puntos y valor total (alternando)
  • Dados de 4, 5, 8, 10, 12, 20, 24 y 30 caras que muestran el valor y el indicador del dado elegido
  • animación para lanzar dados al presionar el botón

Es posible colocar todo en un cubo de 7 cm por 7 cm, incluida una batería. Pero luego tendrías que soldar todo. Usé una placa de pruebas y algunos cables de puente para conectar todo, de ahí la caja más grande debajo.

Para sembrar los números aleatorios de arduino, utilicé la lectura de un pin libre no conectado.

Observación: este instructivo le mostrará cada paso para hacer que el e-dice funcione. Agregaré un pdf con un patrón básico para la caja, pero sin más instrucciones. Al colocar una capa de papel sobre la matriz de LED, hace que los números y los resultados sean más visibles.

Observación 4 semanas después: porté este proyecto a un chip attiny85, con el uso de progmem y un divisor de voltaje para evitar el pin de reinicio y usarlo como pin de botón. Por favor, póngase en contacto conmigo para obtener más información.

Suministros

  • arduino (usé un nano)
  • codificador rotatorio (o codificador de clic, pero no usamos la función de empuje)
  • presionar el botón
  • Matriz de 8 x 8 leds con módulo MAX7219 (¡se necesitan menos pines! 3 en lugar de 8)
  • puentes de alambre

Paso 1: Paso 1: Conecte los componentes

Paso 1: conecte los componentes
Paso 1: conecte los componentes
  • Conecte todos los componentes para que ninguno de los pines esté conectado entre sí. (Los agujeros a a e están conectados por número de línea, lo mismo para los agujeros f a j)

    • El arduino nano va en la parte superior con pines a ambos lados del pin central.
    • El codificador (clic) o codificador rotatorio va hacia la izquierda
    • La matriz de led de la derecha
    • Presione el botón en la parte inferior para un fácil acceso (determine qué contactos se abren presionando)
  • Utilice un trozo de cable para conectar las dos líneas "+"
  • Haz lo mismo con las dos líneas "-" (tierra o gnd)

Paso 2: Paso 2: Conecte la matriz de LED 8x8 a Arduino

Paso 2: Conecte la matriz de LED 8x8 a Arduino
Paso 2: Conecte la matriz de LED 8x8 a Arduino
Paso 2: Conecte la matriz de LED 8x8 a Arduino
Paso 2: Conecte la matriz de LED 8x8 a Arduino
Paso 2: Conecte la matriz de LED 8x8 a Arduino
Paso 2: Conecte la matriz de LED 8x8 a Arduino
Paso 2: Conecte la matriz de LED 8x8 a Arduino
Paso 2: Conecte la matriz de LED 8x8 a Arduino

Usamos una matriz de leds con un driver MAX72XX. Podemos ahorrar hasta 5 pines y no tenemos que multiplexar.

Es posible conectar varias matrices a un controlador MAX72xx. Para esto hay un lado "OUT" y "IN". Solo usamos los pines "IN".

Estos pines se insertan en el panel de pan. Puede ver los nombres de los pines justo debajo de la matriz de LED. Todos tienen que estar conectados:

  • VCC a 5 V (línea "+")
  • GND a GND (línea "-" -)
  • DIN a Arduino D12 (puente naranja)
  • CS a Arduino D10 (puente verde)
  • CLK a Arduino D11 (puente blanco)

Paso 3: Paso 3: Conecte el codificador rotatorio

Paso 3: conecte el codificador rotatorio
Paso 3: conecte el codificador rotatorio
Paso 3: conecte el codificador rotatorio
Paso 3: conecte el codificador rotatorio

Usé un codificador de clic giratorio. Estos codificadores tienen una función de empuje adicional (y un pin adicional) que no usamos en este proyecto. Podría hacerlo con un codificador rotatorio ordinario.

Cuando gire la perilla, el codificador dará señales + o - en comparación con la posición original. Puede sentir muescas al girar. En mi caso descubrí con Serial.print () que el codificador daba 4 pasos para cada muesca. Tienes que ajustar esto si se saltan algunos de los tipos de dados. (Ver código)

Conecte el codificador de la siguiente manera:

  • GND a GND (línea "-" -) (pequeño trozo de cable negro)
  • + a 5V ("+" - línea) (pequeño trozo de cable rojo)
  • SW a nada (este es el interruptor, que no usamos).
  • DT a A1 (puente naranja)
  • CLK a A0 (puente blanco)

Paso 4: Paso 4: Botón y VCC

Paso 4: Botón y VCC
Paso 4: Botón y VCC

En mi primera versión usé un botón con una resistencia adicional. Sin embargo, en el IDE de arduino puede configurar el uso de una resistencia pull_up. Con esto no necesitas una resistencia extra, pero tienes que hacer un poco de inverso en el código, leyendo este botón.

Simplemente conecte un extremo del botón con GND (línea "-" -) y el otro extremo con D2 (puente azul).

La última conexión a realizar: un cable del Arduino 5V a la línea "+" - para usar los 5V regulados del arduino.

Después de estos pasos, se realizan todas las conexiones para crear una versión funcional.

Observación: podría agregar una batería. Conecte la batería con + a VIN y - a GND (línea "-" -).

Paso 5: Paso 5: el código

Abra el IDE de Arduino.

Puede descargar los archivos zip para las bibliotecas que no están disponibles a través de la "Administración de bibliotecas" en el IDE.

Asegúrese de agregar las siguientes bibliotecas a través de "Administración de bibliotecas" o agregue la biblioteca manualmente en el IDE:

LedControl de Eberhard Fahle v1.0.6

  • TimerOne de Jesse Tane, Jérôme Despastis,… (Descargué e instalé manualmente la versión r11 de:

    code.google.com/archive/p/arduino-timerone…

  • Codificador de Peter Dannegger que se encuentra en

Utilizo la biblioteca de Peter Danneggers porque agregó una función para dar sensibilidad a la aceleración del codificador: girar más rápido hace que los números suban más rápido.

Una vez instaladas esas bibliotecas, debería poder abrir y compilar el archivo edice.ino.

Paso 6: Paso 6: Hágalo bonito …

Paso 6: hazlo bonito …
Paso 6: hazlo bonito …
Paso 6: hazlo bonito …
Paso 6: hazlo bonito …
Paso 6: hazlo bonito …
Paso 6: hazlo bonito …

Me gusta reutilizar mis arduino, por lo que rara vez sueldo un proyecto o hago un esfuerzo para que se vea mejor. Me gusta el estilo nerd de los cables y los jerséis …

Sin embargo, hice esta pequeña plantilla para contener todos los componentes. Si coloca la caja con los números 30 a 4 impresos en papel blanco sobre la matriz, las carcasas de led separadas distraen menos. Como beneficio adicional, los leds en la fila superior le mostrarán cuál de esos dados especiales fue elegido.

EDITAR: Hice una versión con una chispa de descarga digital attiny85, en una bonita caja de corte láser. La perilla se usa para elegir el troquel y un botón.

Recomendado: