quinta-feira, 7 de abril de 2016

Projeto #3: Recriando o Pong usando seu Arduino

Sim, você leu direito!
Lembra do clássico Pong, de 1977? Sim, você pode recriá-lo usando um Arduino. Quer saber como?
Só fique ligado!

Pong foi o primeiro jogo que conquistou o mercado da massa (ou seja, nóis). Pela primeira vez na história, o conceito de um "vídeo-game" foi trazido para dentro das casas, graças ao Atari 2600 - então seria legal homenagear essa joia histórica aqui no blog.
Agora, você (que já sabe o que é fliperama e tal) pode reviver esses tempos de nostalgia (é claro que com a mesma qualidade gráfica, né) usando um Arduino e alguns componentes comuns.
Eu não vou mentir - não é como se sua colega fosse desistir do Nintendo DS dela ou algo do tipo, e também não vai trazer horas de diversão pra família inteira - mas vai ser um experimento super legal e fácil de se fazer para melhorar suas habilidades com o Arduino.
Nós vamos fazer dois controles básicos, e a saída de vídeo será para uma TV (nada de moderno ou sofisticado como HDMI por aqui) usando um cabo RCA.

Nossos componentes:

  • Resistor de 470 ohms
  • Resistor de 1k ohm
  • Dois potenciômetros de 10k ohm
  • Um Arduino (lógico, né)
  • Um plugue RCA (para aprender sobre a conexão, veja o projeto anterior)
  • Um Botão
  • Um resistor de 10k ohm
arduino pong
Baixe a biblioteca TVOut para seu Arduino. Se já baixou, beleza. Se não, veja o projeto anterior.


Mas, antes de tudo, teste sua saída RCA pra não dar problemas depois.
Teste também os potenciômetros e o botão, por que não tem como jogar sem controles, né?

O código do jogo Pong (não o original de 1977)

Estou usando o código escrito por Lamonica, modificado por duboisvb para duas pessoas, e atualizado por um cara aí para usar a última versão da biblioteca.Você pode baixar o código e vê-lo daqui.
É meio que grande, mas simples, nem precisa de explicação minha. Que nem a maioria dos jogos, têm estados do jogo (menu, dentro do jogo, game over), e lê as entradas de ambos controles e do botão a cada iteração do loop. Além disso, temos métodos para desenhar a bolinha, a tela, as raquetes, e a lógica do jogo.
arduino pong project
Note que o jogo inclui saída de áudio também: Eu não achei mais plugs RCA pra testar, mas se você tiver algum, coloque o cabo do sinal no pino D11 e você terá aqueles sons nostálgicos do Pong.
arduino pong
Tá aí o resultado. Gostaram? Deixem seu comentário!
Até a próxima!