Índice:

Mastermind Star Wars com Arduino MEGA: 5 etapas (com imagens)
Mastermind Star Wars com Arduino MEGA: 5 etapas (com imagens)

Vídeo: Mastermind Star Wars com Arduino MEGA: 5 etapas (com imagens)

Vídeo: Mastermind Star Wars com Arduino MEGA: 5 etapas (com imagens)
Vídeo: Где вас обманывают в сфере перманентного макияжа? | Павел Сомов и Ксения Логвиненко| Подкаст #pmu 2024, Novembro
Anonim
Mastermind Star Wars com Arduino MEGA
Mastermind Star Wars com Arduino MEGA
Mastermind Star Wars com Arduino MEGA
Mastermind Star Wars com Arduino MEGA
Mastermind Star Wars com Arduino MEGA
Mastermind Star Wars com Arduino MEGA

Estes são tempos adversos para a rebelião. Embora a Estrela da Morte tenha sido destruída, as tropas imperiais estão usando hardware gratuito e o Arduino como arma secreta.

Essa é a vantagem das tecnologias gratuitas, qualquer pessoa (boas ou más) pode usá-las.

Em uma base oculta localizada no planeta Anoat, eles estão construindo uma impressora 3D capaz de replicar o Destroyer Imperial.

A única solução para derrotar o Império é que um grupo de rebeldes comandados por Luke Skycuartielles e Obi-Wan Banzi, derrote as tropas imperiais e consiga a chave que dará acesso aos planos de destruição da arma secreta.

Essa chave consiste em 4 cores e você tem 10 tentativas para decifrá-la. Existem apenas quatro regras:

  1. As cores podem ser repetidas
  2. Uma luz branca indica que você atingiu a cor e a posição certas
  3. Uma luz violeta indica que você atingiu a cor, mas não a posição
  4. Se não houver luz, você não adivinhou a cor ou a posição.

Você deve se apressar, pois no outro extremo, o malvado Darth Ballmer tentará pegar a chave antes de você. Nesse caso, você não poderá descobrir o que é e não terá acesso aos planos da arma secreta. Sua missão terá falhado.

Pequeno Padawan, que a força te acompanhe para decifrar a chave e assim poder salvar a Galáxia.

Etapa 1: Material

Material
Material

O material necessário para fazer o Mastermind Star Wars com Arduino é dividido em três partes.

  • Carpintaria e papelaria para a realização da habitação
  • Componentes, cabos e Arduino para todos os eletrônicos
  • Ferramentas

Vamos começar com a carpintaria. O seguinte material é necessário:

  • 2 x placas de MDF de 90x60
  • 1 x folha de papel vegetal

Na parte eletrônica, é necessário o seguinte material:

  • 1 x NeoPixel Strip 5 metros
  • 1 x Arduino MEGA
  • 1 x capacitor 100 µF
  • 4 x resistência 470 Ω
  • 5 x botão preto
  • 5 x botão branco
  • 1 x potência 5V-5A
  • 1 x potência 5V-2A

Finalmente, na parte da ferramenta, usamos o seguinte:

  • Silicone Gun Hot
  • Laser CNC de MxN
  • Soldador elétrico
  • Lata de soldador

Etapa 2: Design

Projeto
Projeto
Projeto
Projeto
Projeto
Projeto

Uma das partes mais importantes deste projeto é o design da caixa. É composto por 3 peças cortadas com cortador a laser.

A base é retirada de uma peça de 90x60 em MDF. Leve em consideração as dimensões do material, pois você precisará de um cortador a laser grande o suficiente.

Você pode encontrar o arquivo SVG no final desta etapa.

A tampa superior é aquela que contém os desenhos temáticos de Star Wars, bem como os orifícios para os botões e os pixels.

Tem a mesma forma da base.

As paredes laterais foram feitas usando uma técnica de corte a laser chamada kerf. Isso permite que o material seja flexível. Para colocar as paredes, algumas peças foram concebidas para servir de guia.

Por fim, cada matriz NeoPixel possui uma grade onde de um lado o NeoPixel é fixado e do outro um papel vegetal para difundir a luz do NeoPixel. Aqui você tem todos os arquivos SVG para que possa cortá-los e fabricá-los você mesmo.

Etapa 3: Montagem Eletrônica

Conjunto Eletrônico
Conjunto Eletrônico
Conjunto Eletrônico
Conjunto Eletrônico
Conjunto Eletrônico
Conjunto Eletrônico
Conjunto Eletrônico
Conjunto Eletrônico

A primeira fase da montagem da eletrônica foi cortar a tira de 5 metros do NeoPixel em 8 tiras de 10 pixels e 4 pixels separados para cada jogador. No total 84 pixels por jogador. Por um lado, as 10 tiras são montadas uma seguida da outra, deixando cabo suficiente para colocar cada tira paralela a alguns milímetros. Esta matriz de pixels servirá para mostrar cada jogada e o resultado. 4 pixels mostram as quatro cores da chave e os outros quatro pixels mostram o resultado. Lembro que, como resultado, temos que:

  • Se o pixel é branco, foi bem sucedido na posição e cor.
  • Se o pixel for violeta, a cor está correta, mas não a posição.
  • Se o pixel estiver desligado, nem a cor nem a posição estão corretas.

Um dos erros que cometemos é a fiação de energia e GND. Poderia ter sido mais simples, mas percebemos mais tarde. O cabo de dados deve seguir uma ordem, pois a numeração dos pixels vai de baixo para cima.

Por outro lado, temos 4 pixels separados que devem ser conectados entre eles. Esses pixels nos mostrarão a cor que estamos selecionando com os botões.

Conectado em série a cada tira está um resistor de 470Ω para proteger os dados. O cabo de dados de cada faixa de pixels é conectado a um pino digital. Os pinos selecionados no Arduino MEGA são 6, 7, 8 e 9.

Por exemplo, 6 e 7 são para o jogador 1 e 8 e 9 para o jogador 2.

Os botões que usamos são os botões típicos das máquinas de fliperama. Achamos que ficariam bem e foi assim.

Podem ser utilizados outros botões de pressão, mas deve-se levar em consideração que se forem menores ou maiores, o arquivo DXF deve ser modificado antes de cortar com o CNC a laser.

Para distinguir os jogadores, alguns botões são brancos e outros são pretos.

Cada jogador tem 4 botões para cima e 1 botão para baixo. Os 4 botões superiores servem para selecionar a cor de cada posição da chave.

O botão inferior serve para validar, ou seja, envia a chave para aparecer na matriz de pixels com a verificação pertinente se a cor e a posição foram bem-sucedidas.

Antes de montar tudo soldamos todos os cabos. Portanto, você precisará de muitos cabos. Dependerá do tamanho do jogo. No nosso caso, foi bastante grande.

Por exemplo, você pode usar um cabo ethernet para abri-lo e pegar os cabos internos. É uma boa solução. Tente fazer o mais ordenado possível porque então será necessário fazer as conexões com o Arduino MEGA como você vê no diagrama elétrico.

Uma vez que você é um soldado antes de montá-lo, você deve tentar. É testado porque quando for instalado na carcaça ficará grudado com silicone quente e se falhar ficará complicado então retire. Para posicionar as matrizes de pixels, foi desenhada uma grade com as mesmas dimensões da grade da tampa onde de um lado os pixels estão presos e do outro um papel vegetal.

Este papel difunde a luz de cada pixel dando um efeito muito mais bonito. Então, essa estrutura adere à parte superior interna. É um pouco complicado mas com cuidado consegue-se um bom resultado.

A alimentação foi um tanto complicada. Em princípio, e olhando para o esquema, iríamos usar apenas um único carregador. Porém, após os primeiros testes e o consumo de NeoPixel vimos que seriam necessários dois carregadores.

Cada pixel pode consumir no máximo 60 mA. Se multiplicarmos por 168 pixels, você obterá um consumo de cerca de 10 A.

Embora isso fosse no pior dos casos. Na programação já levamos em consideração não maximizar a intensidade do NeoPixel.

Não chegamos nem a 50% portanto, com um carregador de 5V e 5A é mais do que suficiente.

Por outro lado, o Arduino MEGA possui um carregador separado que pode ser conectado através do conector jack ou através da porta USB. Uma possível melhoria seria ter um único carregador para todo o sistema.

Etapa 4: Programação do jogo

Programação de jogos
Programação de jogos
Programação de jogos
Programação de jogos

A programação foi feita usando duas bibliotecas: OneButton e Adafruit_NeoPixel.

A biblioteca OneButton permite controlar os botões de forma simples com interrupções.

A biblioteca Adafruit_NeoPixel nos permitiu controlar a faixa NeoPixel de uma forma muito simples.

A programação é baseada em diferentes estados nos quais o programa de software pode ser:

Iniciando o jogo. Estado = 0

Nesse estado, o jogo é iniciado e há uma sequência de luzes em ambos os jogadores indicando que o jogo vai começar. Durante este estado, os botões não respondem.

Estado inicial. Estado = 1

No estado inicial, espere que um dos dois jogadores dê um clique duplo no botão de confirmação (o quinto botão). Esta ação permitirá iniciar o jogo.

Preparando o jogo. State = 2

No estado de preparação do jogo, todas as variáveis são zeradas e a seleção aleatória de cores para a chave é iniciada.

Play State = 3

No estado 3, o jogo começa. Cada jogador seleciona uma chave com os botões e valida-a clicando no botão de confirmação. Este estado pode terminar de duas maneiras: quando um jogador descobre a chave ou quando os dois jogadores consomem as 10 tentativas que têm.

Um estado vencedor = 4

Se um jogador ganhar, um cheque verde será mostrado em seu tabuleiro e a combinação vencedora e uma cruz vermelha no perdedor.

Jogo empatado. State = 5

Em caso de empate, nada é mostrado em nenhum tabuleiro e a combinação vencedora nos tabuleiros de ambos os jogadores.

Quer haja um vencedor ou um empate no jogo, o próximo estado será o inicial à espera de um clique duplo.

Você pode encontrar todo o código abaixo. A única coisa que está em espanhol:)

Etapa 5: Teste e melhorias

O jogo é testado jogando. No vídeo acima você pode ver um jogo completo.

A partir daqui, podemos pensar em várias melhorias que podem ser adicionadas ao Mastermind Star Wars com Arduino.

Em seguida, eu os listo.

  • Poder jogar em turnos com um total de 10 tentativas para os dois jogadores. Quando um jogador tenta uma tecla, o outro jogador verá a jogada.
  • Um modo de jogo individual para que apenas uma pessoa possa jogar.
  • Modele cada um com sua chave.
  • Inclui uma tela OLED.
  • Use um único carregador para tudo.
  • Conecte-se a um NodeMCU ESP8266

Tenho certeza de que muitas pessoas farão muitas melhorias. Aguardo os comentários abaixo.

E que a força esteja com você.

Recomendado: