Índice:

Console Arduino Pong portátil: 6 etapas (com imagens)
Console Arduino Pong portátil: 6 etapas (com imagens)

Vídeo: Console Arduino Pong portátil: 6 etapas (com imagens)

Vídeo: Console Arduino Pong portátil: 6 etapas (com imagens)
Vídeo: PixelPaddle: Creating a DIY Arduino Pong Game on a Tiny 1.3-Inch OLED Display ! @cubityt 2024, Junho
Anonim
Console Arduino Pong portátil
Console Arduino Pong portátil

O DFRobot entrou em contato comigo recentemente, querendo que eu usasse sua placa Arduino Nano especial e OLED. No início, eu queria criar uma bicicleta inteligente e a construí por completo. Mas, infelizmente, o Nano estava muito fraco para executar e armazenar o enorme esboço de que era necessário. Então, decidi revisitar um dos meus projetos anteriores, uma matriz de Neopixel que rodava um jogo Pong. Eu queria torná-lo portátil, e um OLED de 1,7 seria uma tela perfeita.

Lista de peças:

  • Arduino nano
  • OLED
  • Alto falante

Etapa 1: Vídeo

Image
Image

Etapa 2: projetando o jogo

Projetando o jogo
Projetando o jogo

Para este jogo Pong, eu queria mantê-lo relativamente simples, o que significava um remo controlado por nocomputador ou algoritmos sofisticados de reflexão de bola. Basicamente, há uma única raquete que o usuário pode mover para cima ou para baixo, e fazer a bola colidir com a raquete faria com que seu vetor do eixo x se movesse. Cada vez que a bola é atingida, ouve-se um som. Quando o dispositivo de jogo é ligado, uma tela é exibida com o título e as instruções do jogo. Além disso, minha mãe criou uma pequena música-tema que fica repetida em segundo plano até que o botão superior seja pressionado.

Etapa 3: projetando o dispositivo de jogo

Projetando o Dispositivo de Jogo
Projetando o Dispositivo de Jogo
Projetando o Dispositivo de Jogo
Projetando o Dispositivo de Jogo
Projetando o Dispositivo de Jogo
Projetando o Dispositivo de Jogo
Projetando o Dispositivo de Jogo
Projetando o Dispositivo de Jogo

Meu programa CAD preferido é o Fusion 360, então decidi usá-lo para projetar meu dispositivo de jogos de pong. Comecei projetando cada componente usado: um OLED, Arduino Nano e um alto-falante. Dessa forma, posso ver exatamente onde e como cada componente deve caber dentro do gabinete. Em seguida, coloquei o Nano e o PCB na parte de trás do gabinete e o OLED em cima. Em seguida, veio a questão de onde colocar o alto-falante e os botões. Decidi que o alto-falante de 3W poderia ficar logo abaixo da tela (olhando de cima), e isso também exigia colocar uma "grade" sobre o alto-falante para que o som não fosse abafado. Por último, adicionei dois botões no lado esquerdo para adicionar controles.

Etapa 4: Construindo o Dispositivo

Construindo o Dispositivo
Construindo o Dispositivo
Construindo o Dispositivo
Construindo o Dispositivo
Construindo o Dispositivo
Construindo o Dispositivo

Comecei imprimindo em 3D cada parte, consistindo na metade inferior, na metade superior e 2 botões. Em seguida, soldei um conector fêmea no 4x6cm e o conectei ao Nano. Isso não apenas permite que o OLED seja facilmente removido, mas também o eleva acima do Arduino Nano. Verifique o esquema para obter informações sobre a fiação. Em seguida, conectei os dois botões, junto com uma placa de breakout micro USB simples para alimentação. O alto-falante também foi acoplado e colocado em sua posição correta. O design do meu Fusion 360 permite parafusos de máquina de 3 mm para segurar o OLED, o alto-falante e conectar as duas metades do dispositivo. Mas, eu tive que torná-los exatos, então usei minha furadeira para fazer 8 furos: 2 para o alto-falante, 2 para a tela e 4 embaixo. Você pode visitar o link do Thingiverse para ver os arquivos.

Etapa 5: Programando o jogo

O uso de uma interface simples foi vital para manter o programa pequeno. Comecei adicionando várias bibliotecas: Adafruit_GFX, Adafruit_SSD1351 e a biblioteca Arduino Timer. Em seguida, defini meus pinos e cores, como os pinos do OLED e as definições de cores de 16 bits. No meu código, também existem 4 maneiras de alterar a forma como o jogo funciona, como alterar as dimensões da raquete e a rapidez com que a bola se move. Existe então uma seção onde cada variável é definida, incluindo a pontuação e várias coordenadas. Sempre que o aparelho é ligado, uma imagem de uma bola aparece e algum texto aparece na tela, junto com uma pequena música-tema que é definida anteriormente no código. Assim que o jogo começa, dois cronômetros são criados, um que atualiza a raquete e o outro atualiza a bola. Cada vez que a posição da bola é atualizada, suas coordenadas são verificadas para garantir que ela não ultrapasse a borda da tela ou se está tocando uma raquete. Cada vez que ele salta, seu eixo x ou y é invertido e um pequeno tom é reproduzido. Assista ao vídeo no início deste artigo para ver como o jogo funciona.

Etapa 6: Jogando Pong

Jogando Pong!
Jogando Pong!
Jogando Pong!
Jogando Pong!
Jogando Pong!
Jogando Pong!
Jogando Pong!
Jogando Pong!

O objetivo do jogo é obter a pontuação mais baixa possível. Não há limite de tempo, por isso é muito agradável e até indutor de transe. Tudo o que é necessário é apertar um dos dois botões para mover a raquete para cima ou para baixo. Também é possível adicionar uma maneira de armazenar a pontuação mais alta usando a EEPROM do Arduino.

Recomendado: