Índice:

E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 e D30: 6 etapas (com imagens)
E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 e D30: 6 etapas (com imagens)

Vídeo: E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 e D30: 6 etapas (com imagens)

Vídeo: E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 e D30: 6 etapas (com imagens)
Vídeo: edice - electronic dice - Arduino Project 2024, Novembro
Anonim
Image
Image
E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 e D30
E-dice - Arduino Die / dice 1 a 6 Dice + D4, D5, D8, D10, D12, D20, D24 e D30

Este é um projeto simples de Arduino para fazer uma matriz eletrônica. É possível escolher de 1 a 6 dados ou 1 de 8 dados especiais. A escolha é feita simplesmente girando um codificador rotativo.

Estes são os recursos:

  • 1 dado: mostrando pontos grandes
  • 2-6 dados: mostrando os pontos, bem como o valor total (alternando)
  • 4, 5, 8, 10, 12, 20, 24 e 30 dados enfrentados mostrando o valor e o indicador para o dado escolhido
  • animação para rolar dados ao pressionar o botão

É possível encaixar tudo em um cubo de 7 cm por 7 cm incluindo uma bateria. Mas então você teria que soldar tudo. Usei uma placa de ensaio e alguns fios de jumper para conectar tudo, daí a caixa maior embaixo.

Para semear os números aleatórios do Arduino, usei a leitura de um pino livre desconectado.

Observação: Este instrutível irá mostrar-lhe cada passo para fazer o e-dice funcionar. Vou adicionar um pdf com um padrão básico para a caixa, porém sem mais instruções. Ao colocar uma camada de papel sobre a matriz de led, você torna os números e os resultados mais visíveis.

Comentário 4 semanas depois: Eu transferi este projeto para um chip attiny85, com uso de progmem e um divisor de tensão para ignorar o pino de reinicialização e usá-lo como um pino de botão. Por favor contacte-me para mais informações.

Suprimentos

  • arduino (usei um nano)
  • codificador rotativo (ou codificador de clique, mas não usamos a função push)
  • botão de apertar
  • Matriz de 8 x 8 led com Módulo MAX7219 (menos pinos necessários! 3 em vez de 8)
  • jumpers de fio

Etapa 1: Etapa 1: conecte os componentes

Etapa 1: conecte componentes
Etapa 1: conecte componentes
  • Conecte todos os componentes para que nenhum dos pinos seja conectado entre si. (Os furos de a a e são conectados por número de linha, o mesmo para os furos de f a j)

    • O arduino nano é colocado no topo com pinos em ambos os lados do pino central.
    • O (clique) codificador ou codificador rotativo vai para a esquerda
    • A matriz de led à direita
    • Botão de pressão na parte inferior para fácil acesso (determina quais contatos são abertos pressionando)
  • Use um pedaço de fio para conectar as duas linhas "+"
  • Faça o mesmo para as duas linhas "-" (terra ou terra)

Etapa 2: Etapa 2: conectar a matriz LED 8x8 ao Arduino

Etapa 2: conectar a matriz LED 8x8 ao Arduino
Etapa 2: conectar a matriz LED 8x8 ao Arduino
Etapa 2: conectar a matriz LED 8x8 ao Arduino
Etapa 2: conectar a matriz LED 8x8 ao Arduino
Etapa 2: conectar a matriz LED 8x8 ao Arduino
Etapa 2: conectar a matriz LED 8x8 ao Arduino
Etapa 2: conectar a matriz LED 8x8 ao Arduino
Etapa 2: conectar a matriz LED 8x8 ao Arduino

Usamos uma matriz de led com um driver MAX72XX. Podemos economizar até 5 pinos e não precisamos multiplexar.

É possível conectar várias matrizes a um driver MAX72xx. Para isso, há um lado "OUT" e "IN". Usamos apenas os pinos "IN".

Esses pinos são inseridos na breadbord. Você pode ver os nomes dos pinos logo abaixo da própria matriz de led. Todos devem estar conectados:

  • VCC a 5V ("+" - linha)
  • GND para GND ("-" - linha)
  • DIN para Arduino D12 (jumper laranja)
  • CS para Arduino D10 (jumper verde)
  • CLK para Arduino D11 (jumper branco)

Etapa 3: Etapa 3: conectar o codificador rotativo

Etapa 3: conectar o codificador rotativo
Etapa 3: conectar o codificador rotativo
Etapa 3: conectar o codificador rotativo
Etapa 3: conectar o codificador rotativo

Usei um codificador de clique rotativo. Esses codificadores têm uma função push extra (e pino extra) que não usamos neste projeto. Você poderia fazer com um codificador rotativo comum.

Quando você gira o botão, o codificador dará sinais + ou - em comparação com a posição original. Você pode sentir entalhes ao girar. No meu caso, descobri com Serial.print () que o codificador dava 4 etapas para cada entalhe. Você tem que ajustar isso se alguns dos tipos de dados forem pulados. (Veja o código)

Conecte o codificador da seguinte forma:

  • GND para GND ("-" - linha) (pequeno pedaço de fio preto)
  • + a 5V (linha "+") (pequeno pedaço de fio vermelho)
  • SW para nada (esta é a chave, que não usamos).
  • DT para A1 (jumper laranja)
  • CLK para A0 (jumper branco)

Etapa 4: Etapa 4: Botão e VCC

Etapa 4: Botão e VCC
Etapa 4: Botão e VCC

Na minha primeira versão, usei um botão com um resistor extra. No entanto, no IDE do arduino, você pode definir o uso de um resistor pull_up. Com isso você não precisa de um resistor extra, mas tem que fazer um pouco o inverso no código, lendo este botão.

Simplesmente conecte uma extremidade do botão com GND ("-" - linha) e a outra extremidade com D2 (jumper azul).

Última conexão a ser feita: um fio do Arduino 5V para a linha "+" - para uso do 5V regulado do arduino.

Após essas etapas, todas as conexões são feitas para fazer uma versão funcional.

Observação: você pode adicionar uma bateria. Conecte a bateria com + ao VIN e - ao GND (linha "-" -).

Etapa 5: Etapa 5: o Código

Abra o IDE do Arduino.

Você pode baixar os arquivos zip para as bibliotecas que não estão disponíveis em "Gerenciamento de biblioteca" no IDE.

Certifique-se de adicionar as seguintes bibliotecas por meio de "Gerenciamento de biblioteca" ou adicione a biblioteca manualmente no IDE:

LedControl por Eberhard Fahle v1.0.6

  • TimerOne de Jesse Tane, Jérôme Despastis,… (baixei e instalei manualmente a versão r11 de:

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

  • Codificador de Peter Dannegger encontrado em

Eu uso a biblioteca de Peter Danneggers porque ele adicionou uma função para dar sensibilidade à aceleração do codificador: girar mais rápido faz os números subirem mais rápido.

Depois que essas bibliotecas forem instaladas, você poderá abrir e compilar o arquivo edice.ino.

Etapa 6: Etapa 6: torná-la bonita …

Etapa 6: torná-lo bonito …
Etapa 6: torná-lo bonito …
Etapa 6: torná-lo bonito …
Etapa 6: torná-lo bonito …
Etapa 6: torná-lo bonito …
Etapa 6: torná-lo bonito …

Gosto de reutilizar meu arduino, então raramente soldo um projeto ou faço um esforço para torná-lo mais bonito. Eu gosto do estilo nerd de fios e jumpers …

No entanto, fiz este pequeno modelo para conter todos os componentes. Se você colocar a caixa com os números 30 a 4 impressos em papel branco sobre a matriz, os invólucros de led separados distraem menos. Como um bônus, os leds na linha superior mostrarão qual desses dados especiais foi escolhido.

EDIT: Eu fiz uma versão com uma centelha attiny85 digistump, em uma bela caixa lasercut. O knob é usado para escolher o dado, bem como um botão de pressão.

Recomendado: