Vídeo: POiNG! - Jogo de arcade Arduino !: 3 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Estaremos construindo um jogo de arcade no estilo PONG que usa partes do kit "The Most Complete Starter Kit UNO R3 Project" da Elegoo Inc.
Divulgação completa - A maioria das peças fornecidas para este Instructable foram fornecidas ao autor pela Elegoo Inc.
Eu queria construir um projeto usando um módulo LED Matrix. O display de LED 8x8 básico requer o uso de registradores de deslocamento adicionais para poder endereçar os LEDs individuais na matriz. Em vez disso, este projeto usa o módulo de LED MAX7219 8x8. É um módulo muito fácil de usar.
Eu sugeriria que devido ao grande número de conexões de fiação neste projeto, ele seria considerado Instrutível de nível INTERMEDIÁRIO.
Vamos começar!
Suprimentos
Peças usadas do kit inicial Elegoo (https://rebrand.ly/dvjb3w8)
- Microcontrolador UNO R3
- Módulo LED MAX7219 8x8
- Módulo de exibição LCD 16x2
- Potenciômetro de ajuste de 10K e botão
- Dupont Wires
- Resistor 220R
- Piezo Buzzer Passivo
- Módulo de fonte de alimentação
- Adaptador 9V 1A - necessário porque o UNO não pode fornecer corrente suficiente para o Módulo LED 8x8
- Tábua de pão
Peças extras necessárias
Potenciômetro linear de 2 x 10K - barato e amplamente disponível no eBay, AliExpress, Banggood etc.
Etapa 1: Fiação do circuito
Conecte o circuito de acordo com o diagrama de fiação. Sem pressa. Existem MUITAS conexões necessárias para os dois monitores.
Observe na foto do circuito que o módulo de energia está conectado ao lado esquerdo da placa de ensaio e o adaptador 9V 1A DC está conectado ao módulo de energia de forma que corrente suficiente seja fornecida à matriz de LED. NÃO há conexão entre o pino de 5 V no UNO e a placa de ensaio. MAS, o pino GND no UNO está conectado ao GND na placa de ensaio.
Verifique seu trabalho duas ou três vezes.
Etapa 2: Código Arduino
Este instrutível assume que você já sabe como programar no Arduino.
Baixe o esboço do Arduino em anexo. Certifique-se de ter adicionado a biblioteca LedControl às bibliotecas do Arduino. Usei a versão de Eberhard Fahle. Basta pesquisar MAX7219 no navegador Gerenciar Bibliotecas para encontrá-lo e instalá-lo.
Certifique-se de que o arquivo pitches.h esteja na pasta do seu esboço. É usado para reproduzir os sons do jogo.
Um pouco sobre o tempo
Como o comando delay () pausa totalmente a execução de seu esboço quando ele é executado, em vez disso, procuramos por períodos de tempo decorridos para que ocorram quando queremos executar partes relacionadas à animação do esboço. Esperamos que um período de tempo predefinido passe antes de executar partes do esboço, como atualizar a localização da bola na tela.
Mais significativamente, o comando delay () é realmente executado apenas no método loop (). Normalmente não é executado conforme o esperado em outros métodos. Portanto, todo o tempo relacionado à animação é feito no método loop ().
Exemplo:
Definimos algumas variáveis do tipo 'long' e alguns booleanos e depois os definimos no final de setup ().
bThresh = 80; // o tempo em milissegundos entre as atualizações da bola
ballTime = millis (); // definir para a hora atual do sistema
bon = falso; // o LED da esfera está ligado ou desligado
ballReturn = false; // estamos devolvendo uma bola depois de uma batida de remo?
Em loop () para desenhar a bola, temos:
if ((millis () - ballTime> bThresh) && bon == false) {// se a bola está DESLIGADA e passou tempo suficiente ballOn (); // liga o LED da bola
bon = verdadeiro; // a bola está agora LIGADA
ballTime = millis (); // redefine o ballTime para a hora atual
}
if ((millis () - ballTime> bThresh) && bon == true) {// se a bola está LIGADA e já passou tempo suficiente
ballOff (); // desliga o LED da esfera
bon = falso; // a bola está agora DESLIGADA
ballTime = millis (); redefina o ballTIme para a hora atual
}
Existem muitas maneiras de fazer este jogo. Estas são apenas minhas preferências.
O esboço está totalmente documentado, então convido você a ler o código para ver como funciona.
Verifique, compile e envie seu código.
Divirta-se jogando seu jogo!
Etapa 3: Conclusão
Meus agradecimentos à Elegoo Inc por fornecer o kit inicial usado neste projeto. É um kit com uma grande variedade de peças e módulos que o colocarão no mundo do Arduino Maker.