Índice:

Jogos de 4 botões usando uma entrada analógica: 6 etapas (com imagens)
Jogos de 4 botões usando uma entrada analógica: 6 etapas (com imagens)

Vídeo: Jogos de 4 botões usando uma entrada analógica: 6 etapas (com imagens)

Vídeo: Jogos de 4 botões usando uma entrada analógica: 6 etapas (com imagens)
Vídeo: Sua Língua é assim também?? #shorts 2024, Julho
Anonim
Image
Image

Este instrutível foca no uso de uma linha de entrada analógica para vários botões que podem ser detectados independentemente uns dos outros.

E para destacar o uso desses botões incluídos, é um software para jogar quatro jogos de 4 botões diferentes. Todos os jogos (8 no total) aqui usam um display LED ladder (consulte o projeto anterior: instructables: Single-Line-LED-Display-Games).

Você pode usar seu próprio conjunto de 4 botões com outras saídas de exibição, basta utilizar a função 'scanButtons ()' de um dos esboços incluídos. E use esses esboços, por exemplo, use-os.

Os jogos são um jogo de habilidade: Whack-a-Mole, um jogo de memória: Simon Says, jogos de lógica Sea Hunt e Flip'd um jogo para dois jogadores semelhante ao Reveri. Posteriormente, neste instrutível, também apresentarei mais tarde quatro jogos de competição frente a frente para duas pessoas.

Etapa 1: Determinar a configuração ideal do botão

Simplesmente usar alguns resistores em série com botões batidos entre cada um funcionará se você nunca tiver que se preocupar com o pressionamento de um botão obstruindo o outro. Em tal configuração, cada botão, quando pressionado, bloqueia todos e quaisquer que estejam abaixo dele. Mesmo quando você só precisa de dois botões e só se preocupa com um de cada vez, como em uma implementação de pingue-pongue; seria um problema se um jogador falhasse (apenas sendo muito lento ou maliciosamente) em remover o dedo do botão antes que o outro tivesse que apertar o dele.

Muitas vezes, vários botões foram conectados a uma única linha analógica, cada um com seus próprios valores de resistor indo para a entrada. Você pode, facilmente, diferenciar qual botão ou par é pressionado quando há apenas 2 ou 3 botões. Mas não de forma confiável com mais botões ou mais de dois pressionados, já que a combinação de leituras de pior caso torna-se ambiguamente muito próxima.

Aqui, com o que eu chamo de configuração Double-Y de quatro botões e resistores, você pode discernir com segurança qualquer botão simples, duplo, até triplo ou todos os quatro botões pressionados. O driver de software para fazer isso é abordado na próxima seção e na lista de códigos.

Desejando ter quatro botões conectados a uma entrada analógica onde cada pressionamento de botão pudesse ser detectado independentemente do estado dos outros botões, modelei várias configurações em uma planilha. Descobri que uma configuração Y duplo (consistindo em 2 conjuntos de três resistores) oferece as melhores possibilidades. Veja o diagrama esquemático de fiação abaixo. Eu os estava avaliando com base na separação máxima da resistência total entre quaisquer duas combinações de botões pressionados. Além disso, modelei valores analógicos calculados. Consulte o arquivo de planilha abaixo.

Para determinar os melhores valores a serem usados nas configurações acima, escrevi uma simulação, que tentava exaustivamente todas as permutações possíveis dos valores do resistor potencial, encontrando o conjunto que produzia a diferença mínima máxima entre as entradas de leitura possíveis. Eu forneci o código que usei. Esta foi uma ferramenta de força bruta que montei, peguei o que queria e coloquei de lado, então não foi de forma otimizada. Está totalmente como está, apenas para referência histórica (Solve_4R.html abaixo).

Aqui está o resultado para revisão:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 minR delta: 3,3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 minR delta: 4,9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 minR delta: 4,9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 minR delta: 5,0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 minR delta: 7,104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 minR delta: 8,1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 minR delta: 8,6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 minR delta: 10,1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 minR delta: 10,5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 minR delta: 10,7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 minR delta: 10,8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 minR delta: 11,4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR delta: 12,0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 minR delta: 1 2,7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 minR delta: 12,7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 minR delta: 12,7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 minR delta: 13,2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 minR delta: 14,245362837 R1: 10 minR: 15 R3: 10 R4: 39 R5: 18 R6: 27 minR delta: 14,5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 minR delta: 15,220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 minR delta: 18,8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 minR delta: 19,236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 minR delta: 19,5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 minR delta: 19,7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 minR delta: 21,2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 minR delta: 21,2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 minR delta: 21,58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 minR delta: 22,158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 minR delta: 22,158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 minR delta: 22,158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 minR delta: 24,2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 minR delta: 24,2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 minR delta: 24,380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 minR delta: 24,380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 minR delta: 24,380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 minR delta: 24,380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 minR delta: 24,380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 minR delta: 24,380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 minR delta: 24,4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 minR delta: 24,4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 24,4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 minR delta: 24,4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 minR delta: 24,4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 minR delta: 24,4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 24,4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 minR delta: 24,4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 minR delta: 24,5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 minR delta: 24,789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 minR delta: 24,789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 minR delta: 25,3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 minR delta: 25,3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 minR delta: 27,4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 27,4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 minR delta: 27,4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 minR delta: 27,4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 27,4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 minR delta: 27,4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 minR delta: 29,1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR delta: 29,811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR delta: 29,811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 minR delta: 29,811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 minR delta: 29,811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 minR delta: 30,7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 minR delta: 30 0,8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 minR delta: 30,8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 minR delta: 30,9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 minR delta: 30,9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 minR delta: 30,9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 minR delta: 30,9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33,2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33,2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33,2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33,2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33,2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33,2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33,2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33,2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33,2525545171

Etapa 2: meu conjunto de 4 botões

Meu Conjunto de 4 Botões
Meu Conjunto de 4 Botões

Para meus quatro botões, usei esses botões e um PCB perfurado e resistores conforme indicado no diagrama acima. A maneira como você implementa fisicamente seus quatro botões está totalmente aberta e depende de você e de suas necessidades de projeto. Contanto que seja eletricamente o que está no diagrama acima. Certifique-se de que sua montagem de construção seja tal que você não faça nenhum contato com a fiação dos botões, pois isso prejudicará as leituras, resultando em um comportamento incorreto dos botões.

Eu adicionei um pequeno botão no meu quadro que eu uso como uma tecla de 'Função'. Ele está em série com um resistor de 2 megohm, o que não prejudica significativamente minhas outras leituras de entrada; embora eu só possa detectá-lo quando ele sozinho é pressionado. Você pode ignorá-lo ou verificar o código para entender melhor como eu o utilizo.

O esboço de teste 'Test_12Leds_6Btns' pode ser usado para testar a detecção de botões pressionados por seu MCU e o conjunto real do botão. Sua saída é configurada para ser visualizada por um LED Ladder ou pelo monitor serial. Ele pode ser facilmente modificado para saída por meio de qualquer tipo de tela que você possa ter.

Você pode precisar ajustar o conjunto de leituras de referência do código com o qual ele compara a entrada, devido às diferenças de potencial no resistor pull-up interno de seu MCU ou às tolerâncias dos resistores que você usa. Você poderia, se preferir, usar resistores de precisão, esperançosamente para não ter que fazer ajustes de calibração. A propósito, não usei um pull-up externo, pois poderia interferir em outros usos que planejo para um de meus projetos.

Uma das principais ações de software tomadas, para garantir que a determinação de quais botões são pressionados não é afetada pelo nível de tensão de alimentação (e / ou variação MCU), é a escala da entrada analógica com base em sua leitura máxima que por sua vez é afetado pela tensão de alimentação.

O 'driver' do software que atende a esses botões é a rotina 'scanButtons ()'. Ele espera que o valor da entrada analógica se estabilize e então mapeia a leitura em uma série de valores predeterminados; e traduz isso nos estados correspondentes para a coleção de botões. Essa rotina, e as variáveis públicas que ela compartilha com o software aplicativo, é tudo o que é necessário para fazer um uso semelhante deste conjunto em botões independentes.

Observação! A versão atual de 'scanButtons ()' não tenta identificar exclusivamente todas as combinações possíveis de três botões, pois isso, para mim, não era realisticamente necessário e complicaria ainda mais o código e a precisão de calibração exigida.

Etapa 3: jogo

Tanto o sketch, 'LadderGames4' ou 'Head2head' podem ser carregados e executados por qualquer Arduino MCU, mas LadderGames4 deve ter 'SimonSays' ou qualquer um dos outros dois jogos comentados para caber nos 8K Bytes de espaço do programa em um Attiny-85. O áudio também é um problema com um ATtiny-85, consulte o projeto anterior mencionado acima. O código é configurado com compilação condicional e é conhecido por funcionar com um Nano, Uno e um ATtiny-85.

Com cada um desses esboços após a inicialização, você é apresentado ao Menu, com uma cor de cada vez iluminando todos os Leds Vermelho … Amarelo … Verde … Azul, correspondendo às quatro opções de jogo possíveis. Você pode pressionar Btn1 quando a opção desejada estiver acesa ou a qualquer momento em que pressionar Btn2-4 para os jogos 2-4. A forma redundante de selecionar é para ser compatível com implementações e jogos de dois e quatro botões. Se houver várias versões do jogo, você terá que selecionar vermelho intermitente para a versão 1, amarelo intermitente para a versão 2 e assim por diante.

Jogos de 4 botões

Um jogo de memória, um jogo de coordenação olho-mão e dois jogos de estratégia.

Simon diz que esta é uma reimplementação do jogo da forma que eu o tinha, nestes projetos anteriores:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Joga como qualquer outro jogo 'Simon Says'.

Aqui, porém, eu adicionei a versão para duas pessoas (quando você seleciona a opção 2, amarelo piscando), onde cada jogador, por sua vez, adiciona uma nova nota leve à série. O primeiro a não repetir corretamente tudo o que veio antes perde o jogo.

Whack a Mole

Por 30 segundos, diferentes moles aparecem (vermelho, amarelo, grn, blu), 1, 2 ou 3 de cada vez. Você deve 'golpeá-los' pressionando os botões correspondentes Btn1-4. Somente pressionamentos de um único botão serão aceitos, nenhum pressionamento simultâneo de vários botões. Quanto tempo um conjunto de moles permanece ativo fica mais curto à medida que o jogo continua. Se você bater em todas as toupeiras à mostra, um novo conjunto aparecerá; de forma que mais rápido você é, mais moles você terá a chance de bater.

Assim que o jogo terminar, o display refletirá a pontuação, acendendo um led para cada 10 moles que foram derrubados. Como o jogo marca 10 pontos para cada golpe de toupeira, 5 leds acesos representariam uma pontuação de ponto padrão do Whac-a-Mole de 500+. Para jogar outra rodada, você terá que selecionar o jogo novamente.

Eu uso um dedo em cada botão para ação rápida e pontuações altas. Para um desafio mais adequado, deve-se usar apenas um dedo de uma mão, respondendo ao uso de um martelo.

Minha pontuação típica usando um dedo é de 500, usando 4 dedos (um por botão) é 600+. Minha maior pontuação é 700+. Usar vários dedos é especialmente complicado, pois se houver sobreposição ao pressionar um e outro, o segundo não será aceito pelo software, exigindo que você solte todos os botões antes que outro seja aceito. Se alguém acender todos os 12 leds, para uma pontuação de 1200+, entre em contato conosco.

Sea Hunt

Há um submarino invisível movendo-se nas profundezas. Sua localização inicial e direção são aleatórias. Ele se move ao longo de seu curso após cada turno que você dá. Você deve prever o paradeiro dele por meio de relatórios de sonar e afundá-lo com uma carga de profundidade. Um sonar acena (em ambas as direções) de sua localização inicial como uma luz fraca e se ilumina (junto com um ping) na distância do submarino. No entanto, observe que o submarino pode estar em qualquer um dos seus lados e está se movendo em uma direção desconhecida. Uma carga de profundidade explode bem abaixo de onde foi lançada. Você ouve uma explosão abafada se não houver nada, ou se estiver lá, senão ouve a grande explosão do submarino e um clarão brilhante.

Para mover o cursor conduzido para onde você deseja lançar uma bóia de sonar ou carga de profundidade é feito com Btn2 e Btn3 para esquerda e direita. O botão 1 é usado para iniciá-los.

Na versão 1, cada tentativa é uma combinação de carga de profundidade e relatório de sonar; e você pode usar um número ilimitado deles.

Na versão 2, confronto direto, revezando-se, para ver quem consegue afundar o submarino. O jogador 1 usa Btn1 e o segundo jogador usa Btn4 para lançar suas cargas de profundidade.

Na versão 3, as cargas de profundidade e os relatórios de sonar são lançados independentemente pelo Btn1 e Btn4 respectivamente. Você só tem três cargas de profundidade disponíveis para você. Você pode obter todos os relatórios de sonar que desejar. Você perde se não conseguir pegá-lo com essas acusações.

Na versão 4, o sub pode estar se movendo a uma taxa de 1-3 espaços por voleio e, de outra forma, joga como a versão 3, mas você recebe 6 cargas de profundidade.

História: Eu criei o jogo 'Sea Hunt' pela primeira vez na década de 1970. Então, o dispositivo de entrada e saída era um teletipo. No entanto, o mar era uma grade bidimensional, em oposição a uma dimensão unidimensional como é aqui.

NOTA: Eu comentei a limitação de carga de profundidade no código, com a ideia de que já era difícil o suficiente de tocar para a maioria das pessoas.

Flip'd

Este jogo para dois jogadores é um pouco como o Reveri, no sentido de que você tenta transformar todas as células na sua cor, mas isso é feito de maneira diferente.

Neste jogo para dois jogadores, o objetivo de um jogador é apagar todas as luzes e o outro, acendê-las todas. Um jogador usa Btn1 para desligar um grupo de luzes do outro jogador ou abre mão de uma de suas “luzes apagadas” (ligando-a). O outro jogador usa Btn4 para ligar um grupo de “luzes apagadas” ou uma única de suas costas apagada.

O quadro começa com um conjunto aleatório de leds. Quando é a vez do primeiro jogador, ocorre um rápido escurecimento ou iluminação do led no 'cursor', ponto de interesse, para potencialmente ser virado. Durante a vez do jogador # 2, há um longo flash de um led como um indicador do cursor. Se o jogador errado apertar o botão, fora da vez, ouve-se um bipe muito curto. O cursor é movido para a esquerda por Btn2 e para a direita por Btn3. O jogador perdedor começa o jogo seguinte.

A estratégia quanto ao que virar pode ser significativa.

Etapa 4: Concursos Frente a Frente

Jogos de dois botões / dois jogadores

No primeiro conjunto de 4 jogos de botão, apenas 'Whack-a-Mole' realmente conta com total independência do processamento do botão. Também implementei quatro jogos frente a frente, todos dependentes da detecção de botão independente. Esses jogos são: Quick Draw, Tug a War, Chicken e Hot Hands (Slapsies).

Desenho rápido (teste de reação)

O concurso é iniciado com 'Pronto' / vermelho, 'Definir' / amarelo e 'Empate!' / Verde; sendo bastante aleatório quanto ao momento em que dá luz verde. O primeiro a acertar o botão vence. Bater muito cedo e você é desonrado com um zumbido.

O jogador 1 usa Btn1 (à esquerda) e o jogador 2 usa Btn4 (à direita).

Cabo-de-guerra

Começa com um 'Pronto', 'Conjunto' … 'VÁ!'. Aparece um objeto no meio, um 'arco' em uma corda. Em seguida, os jogadores pressionam seus botões o mais rápido e frequentemente que podem. O arco se moverá em direção ao jogador com mais rebatidas. Uma vez que o arco chega a uma extremidade, ele é o vencedor.

Frango

Este concurso é iniciado de forma semelhante. Após o som e o flash verde de 'Go!' os jogadores pressionam e seguram seus botões, raios de luz (seus carros) começam a se mover deles em direção ao outro. O vencedor é aquele que soltar seu botão (pula para fora de sua carruagem) por último, pouco antes de os dois blips colidirem um com o outro. Se alguém liberar muito tarde ou não o fizer, eles travaram e perderam. Se ambos pularem (soltarem) tarde demais, ninguém ganhará.

No início, um par de leds opostos passa pelo visor, neste momento, se você pressionar Fnc-Btn2, a velocidade do jogo será aumentada. Isso pode ser repetido algumas vezes.

Mãos quentes

Uma versão digital do jogo de tapas nas mãos (também conhecido como Red-Hands ou Slapsies). Para começar, os dois jogadores pressionam seus botões juntos, um lado solta e tenta pressionar o botão duas vezes antes que o outro lado possa soltar o botão. Em seguida, o outro lado tenta fazer o mesmo. O jogador da vez é indicado no início de uma rodada pelo acendimento dos leds na sua lateral. Descobri que apertar um botão com apenas um botão era muito rápido e fácil, então criei dois necessários, o que leva mais ação e tempo, como ter que virar a mão para cima e para baixo dos outros e, em seguida, bater para baixo. TBD: Em uma segunda versão, é gratuita para todos, a qualquer momento, um dos jogadores pode tentar obter o melhor do outro.

Perceber ! Aconselho você a imprimir as regras de operação dos jogos acima e relê-las antes de jogar um jogo que não tenha jogado recentemente. Caso contrário, você pode se frustrar; pensando que o jogo não está funcionando corretamente quando de fato está, mas você e o jogo têm modos e expectativas diferentes. Eu mesmo já fui vítima disso mais de um par de vezes.

Com os oito jogos aqui e os quatro no meu projeto anterior Jogos de tela de LED de linha única, isso torna o software disponível para jogar 12 jogos com esta combinação de hardware de quatro botões + escada de led.

Tenho pelo menos mais quatro atividades recreativas para este hardware (display de botão) antes do final do ano.

Etapa 5: controladores opcionais de 2 jogadores

Controladores opcionais de 2 jogadores
Controladores opcionais de 2 jogadores
Controladores opcionais de 2 jogadores
Controladores opcionais de 2 jogadores
Controladores opcionais de 2 jogadores
Controladores opcionais de 2 jogadores
Controladores opcionais de 2 jogadores
Controladores opcionais de 2 jogadores

Para os jogos que exigiam apenas dois botões, eu poderia, é claro, ter usado o PCB de 4 botões com esses jogos; no entanto, ao jogar esses jogos, a pessoa tende a ficar bastante física. Então, eu uso conjuntos de botões do tipo êmbolo separados, feitos de um pedaço de tubo de plástico coberto com uma alça de bicicleta e um botão grande.

Peças do botão do tipo êmbolo:

  • Tubo de linha de gotejamento de 1/2 ", isolador de sprinkler ou PVC (loja de ferragens)
  • Punho de bicicleta (Walmart)
  • Botões grandes (eBay)
  • 2 resistores

Para manter a compatibilidade, um botão tem um resistor de 75 ohms em série com ele e o outro tem um resistor de 36-39 ohms em série; de forma que o software os veja como Btn1 e Btn4 respectivamente.

Você poderia usar tubos, digamos, de uma vassoura descartada ou de um cabo de rodo.

Um adaptador poderia até ser feito para conectar antigos joysticks de console de videogame; faça com que os botões de disparo de um sejam conectados como Btn1 e Btn4 para o outro, enquanto compartilha Btn1-4 indo para os botões de navegação dos joysticks.

Abril de 2018: agora prefira usar acopladores de compressão de 5/8 como corpo para botões estilo êmbolo externo. Os botões grandes (com um pouco de fita adesiva adicionada) se encaixam perfeitamente neles e se encaixam muito bem na mão. as crianças gostam de usar um par desses, adicionei alguns conjuntos de pinos de cabeçalho para conectar facilmente um botão externo de mão nos contatos Bnt1 e um para Btn4.

Etapa 6: atualização (ões)

Atualização (ões)
Atualização (ões)

Eu fiz uma caixa de console impressa em 3D para abrigar o display de LED em linha e os botões.

Combinei os 12 jogos que criei até agora, para este display de 12 LED, em um esboço 'Menu_12Games'. Este software requer o hardware deste projeto implementado com um MCU flash de 32 KB (por exemplo, Nano ou Uno) e 5 botões, 4 principais + uma FncKey.

O menu de seleção agora tem duas camadas; primeiro você seleciona 1 de 4 grupos de jogos, em seguida, jogo 1-4 dentro desse grupo, … conforme listado abaixo. Enquanto aguarda as telas selecionadas, faça a varredura R-Y-G-B periodicamente, você pressiona Btn1-4 como sua seleção a qualquer momento, não faz diferença o que está sendo exibido quando você pressiona sua seleção. Durante a seleção do 'grupo', todos os Leds são pelo menos parcialmente iluminados durante a varredura RYGB. Para sair de qualquer jogo ou voltar da seleção de 'jogo' para 'grupo', pressione FncKey-Btn1.

Ainda estou para codificar os 4. finais. Eu escrevi 3 (incluindo 'LeMans'). Não pensei em qual seria o último jogo. Mensagem-me com todas as idéias.

Atualização de 25 de janeiro de 17: para aqueles de vocês que gostam de acesso a uma impressora 3D, você pode estar interessado no estojo de console de jogo que fiz para o meu dispositivo: https://www.instructables.com/id/3D-Printed-Case- para-Inline-LED-Display-Console-e /

Atualização de 17 de fevereiro de 17: adicionei os 4 jogos finais, que agora estão disponíveis como "Menu_16Games.ino" em "Etapa 7: Atualização, mais jogos" do Instructable: Jogos de tela de LED de linha única (Menu_12Games.ino é agora extinto)

Jogo em grupo: 1– Vermelho 2- Amarelo 3 - Verde 4 - Azul

1 vermelho PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonDiz Whack_Mole Sea_Hunt Flip_d

Recomendado: