Jogo eletrônico XO

Saudações, Habr!



Como você deve ter adivinhado na fotografia, hoje não estamos falando sobre a classificação do conhaque. Vou fazer o jogo da velha ... Quem se importa - peço um corte ->

A idéia, como sempre, nasceu espontaneamente. Numa noite tranquila de outono, desenhei nove células em uma folha e convidei minha filha para jogar um novo jogo para ela. Tendo jogado várias vezes, vi que havia um interesse genuíno ... e então Ostap sofreu.

Parece que é mais fácil continuar desenhando células em um pedaço de papel ou fazer o download do programa para o seu telefone, mas é interessante? Não!

O que eu queria obter:

  1. Dispositivo compacto na bateria (todos os tipos de telas capacitivas tachi e MIPI desaparecem imediatamente).
  2. Conseqüentemente, carregando do USB (de preferência com uma indicação).
  3. Custos mínimos de tempo para a placa e o software (bem, como sempre, em geral).
  4. Botões de toque.
  5. Dispositivo inteligente com a capacidade de jogar com o controle (sem um segundo jogador). Mudando para um e dois jogadores.
  6. Ligue / desligue com um botão e, de preferência, não toque, para que a ativação acidental não ocorra.
  7. Imprima o estojo em uma impressora 3D + vidro fosco para fechar os LEDs.

Primeiras coisas primeiro.

1. Então, foi decidido usar o controlador STM32F100. Nele, eu posso implementar completamente a lógica simples do jogo, para começar. No caso com 48 pernas, todos os GPIOs estavam ocupados (sem o uso de multiplexadores e expansores). Para cada cruzamento e zero, 8 LEDs são usados ​​(conectados em paralelo), que são trocados pelos trabalhadores de campo (IRLML6401).

O dispositivo consiste em duas placas, uma com LEDs e botões de toque, a segunda com um controlador, carregamento, bateria, etc. Eles são conectados por conectores em incrementos de 2 mm, entre as placas existe uma bateria de 1250mA.


Fig. 1. Placa Controladora


Fig. 2. placa LED

Alguns dias depois, as placas finalmente saíram de produção. Tive a sensação de que o jogo ficaria desconfortável devido ao tamanho ou aos botões de toque. Olhando para o futuro, direi que jogar é muito legal! Os botões funcionam bem com plexiglass 1,5-2mm.


Fig. 3. Lado SUPERIOR da placa controladora e LEDs


Fig. 4. LADO INFERIOR da placa controladora e dos LEDs

2. O esquema de cobrança é o mais simples que eu coloco em dispositivos semelhantes.


Fig. 5. O circuito do controlador de carregamento.

3. Tudo ficaria bem, mas havia mais componentes do que eu esperava e fiquei atormentado por soldar. Foi o que aconteceu após a soldagem.


Fig. 6. Placa controladora com componentes


Fig. 7. placa LED com componentes


Fig. 8. Placa de LED com componentes na lateral dos botões de toque.

A primeira e até agora a única versão do software que fiz no ifs e em um loop infinito. Simples e funciona sem erros. Ao vencer, todo o campo sai e a combinação vencedora pisca duas vezes.

4. Decidi implementar os botões de toque nos microcircuitos TTP223, já os usei em um dos meus projetos. Eles não são exigentes para a fiação e para a presença / ausência de um polígono sob o sensor.


Fig. 9. O esquema de inclusão dos botões de toque.

Eu tinha mais de 9 peças e decidi não usar o multiplexador e pendurar cada botão no meu controlador GPIO.

5. Em seguida, pretendo integrar o algoritmo do jogo ao controlador (já encontrei várias opções decentes). A mudança até agora está planejada para ser realizada pressionando o botão de toque central antes de ligá-lo (mas ainda não é final).

6. Pensei por um longo tempo sobre como simplesmente ligar / desligar com um botão de uma maneira simples. A opção mais rápida e correta, na minha opinião, é nos transistores e no uso de dois controladores GPIO, que eu não tenho. Portanto, eu coloquei o chip CD4013BM. A ativação é realizada pressionando por cerca de 1s, desligando pressionando rapidamente. Isso funciona muito bem.


Fig. 10. Diagrama de fiação CD4013BM.

O pino “OUT_KEY” vai ao pé de ligar (EN) o DC / DC AP3418 (faz 3V3). Assim, o consumo é mínimo.


Fig. 11. Embarque com um microcontrolador e bateria.

7. O caso ainda está na fase de design. Apenas uma caixinha bem organizada com um plexiglass fosco de 1,5 mm na parte superior está planejada.

Quando coloquei algumas folhas de papel em cima para ver como a translucidez está acontecendo, percebi que era um fiasco. Não, mostra bem, mas a régua do campo não é visível. Portanto, na “Fig. 2. " 4 LEDs adicionais são instalados nos cantos da praça central (eles não estão na minha placa de circuito soldada). Se tudo der certo como parece na minha cabeça, se você fizer a fresagem na parte traseira em plexiglass, esses 4 LEDs azuis fornecerão 4 feixes finos que formam a marcação do campo, que será ativada quando o dispositivo for ligado. Se os raios não funcionarem, em qualquer caso, a fresagem será visível.

Há um alto-falante na placa, mas com o gerador embutido ele não cabe na altura, e sem o gerador eu não. Penso que o vibromotor do telefone cairá neste local e haverá uma resposta vibro quando pressionado e vencido.

Como resultado, posso dizer que o brinquedo acabou sendo muito interessante. A foto não transmite todo o efeito, mas as cruzes e zeros parecem ótimos, sem realces. Brincar é um prazer! Os botões funcionam perfeitamente e o tamanho do campo é muito conveniente. Quando o estojo estiver pronto, definitivamente colocarei uma foto.



Até breve!

UPD:
Adicionado preços ao comprar componentes para 1 dispositivo, talvez eu tenha esquecido alguma coisa. Placas e montagem não contavam. Algo pode ser trocado por um mais barato.

1. STM32F100C4T6B - 1 peça - 130 fricção.
2. CD4013BM - 1pc - 16r.
3. LTC4054 - 1pc - 5p.
4. AP3418KTR - 1 pc - 30 esfregar.
5. IRLML6401TRPBF (Si2307DS) - 18pcs - 11r.
6. LP503759 - 1 peça - 300 fricção.
7. C191KRCT / C191KGCT - 148pcs - 436 rublos.
8. TTP223 - 8pcs - 40r.
9. Botão, conector, passivo - um monte - 100 rublos.
10. Taxas
11. Montagem

Total: 1068 esfregar.

UPD:
Link de vídeo

Source: https://habr.com/ru/post/pt429618/


All Articles