Bom dia, caro leitor do meu artigo, hoje neste artigo eu gostaria de dizer como montar o jogo "cabo de guerra" no arduino
É ISSO QUE VOCÊ PRECISA:
1. Arduino Uno
2.2 condensadores para 0.1 microfarads
3,14 resistores de 220 ohms
4. Escala de LED ou 10 LEDs a 3 volts
5. Tábua de pão
6. 2 botões do relógio
7. tweeter piezo
8. Gatilho inversor Schmitt
9. fios de ligação em ponte
Então, primeiro, vamos programar o arduino
Aqui está um esboço:
Em seguida, coletamos tudo de acordo com este esquema:
você deve obter algo como isto:
depois que a "corda" se move para o lado 1 dos jogadores, o jogo termina, você pode reiniciá-lo pressionando o botão no próprio arduino
Espero que você tenha gostado deste projeto e com você a bola DeNiS Geek pro100, por enquanto é tudo!
É ISSO QUE VOCÊ PRECISA:
1. Arduino Uno
2.2 condensadores para 0.1 microfarads
3,14 resistores de 220 ohms
4. Escala de LED ou 10 LEDs a 3 volts
5. Tábua de pão
6. 2 botões do relógio
7. tweeter piezo
8. Gatilho inversor Schmitt
9. fios de ligação em ponte
Então, primeiro, vamos programar o arduino
Aqui está um esboço:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// variáveis globais usadas em interrupções (veja abaixo)
// deve ser marcado como instável (volátil)
pontuação int volátil = 0;
configuração nula ()
{
para (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, SAÍDA);
pinMode (BUZZER_PIN, OUTPUT);
// Interrupção (interrupção em inglês) suspende o principal
// programa, executa a função especificada e, em seguida, continua
// programa principal. Precisamos de uma interrupção com o clique de um botão,
// i.e. ao mudar o sinal de alto para baixo, ou seja, em
// frente para baixo (caindo)
attachInterrupt (INT1, pushP1, FALLING); // INT1 é o terceiro pino
attachInterrupt (INT0, pushP2, FALLING); // INT0 é o segundo pino
}
voip pushP1 () {++ pontuação; } // função de interrupção do 1º jogador
void pushP2 () {--score; } // função de interrupção do 2º jogador
loop vazio ()
{
tom (BUZZER_PIN, 2000, 1000); // dá um sinal para começar.
// enquanto nenhum dos jogadores venceu, atualizamos a "corda"
while (abs (pontuação) & lt; MAX_SCORE) {
int bound = map (pontuação, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int à esquerda = min (vinculado, BAR_COUNT / 2 - 1);
int right = max (vinculado, BAR_COUNT / 2);
para (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = esquerda & & i & lt; = direita);
}
tom (BUZZER_PIN, 4000, 1000); // dá um sinal de vitória
while (true) {} // "suspende" o quadro até a reinicialização
}
Em seguida, coletamos tudo de acordo com este esquema:
você deve obter algo como isto:
depois que a "corda" se move para o lado 1 dos jogadores, o jogo termina, você pode reiniciá-lo pressionando o botão no próprio arduino
Espero que você tenha gostado deste projeto e com você a bola DeNiS Geek pro100, por enquanto é tudo!