Bonjour, cher lecteur de mon article, aujourd'hui, dans cet article, je voudrais vous dire comment assembler le jeu "tir à la corde" sur arduino
C'EST CE QUE VOUS AVEZ BESOIN:
1. Arduino Uno
2.2 condenseurs pour 0,1 microfarads
3.14 résistances de 220 ohms
4. Échelle de LED ou 10 LED à 3 volts
5. Planche à pain
6. 2 boutons d'horloge
7. tweeter piézo
8. Déclencheur inverseur Schmitt
9. fils de connexion
Alors d'abord, programmons l'arduino
Voici un croquis:
Ensuite, nous collectons tout selon ce schéma:
vous devriez obtenir quelque chose comme ceci:
une fois la "corde" déplacée du côté 1 des joueurs, le jeu se termine, vous pouvez le redémarrer en appuyant sur le bouton de l'arduino lui-même
J'espère que vous avez apprécié ce projet et avec vous la balle DeNiS Geek pro100, c'est tout pour le moment!
C'EST CE QUE VOUS AVEZ BESOIN:
1. Arduino Uno
2.2 condenseurs pour 0,1 microfarads
3.14 résistances de 220 ohms
4. Échelle de LED ou 10 LED à 3 volts
5. Planche à pain
6. 2 boutons d'horloge
7. tweeter piézo
8. Déclencheur inverseur Schmitt
9. fils de connexion
Alors d'abord, programmons l'arduino
Voici un croquis:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// variables globales utilisées dans les interruptions (voir ci-dessous)
// doit être marqué comme instable (volatile)
score int volatile = 0;
void setup ()
{
pour (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// L'interruption (interruption en anglais) suspend le principal
// programme, exécute la fonction spécifiée, puis reprend
// programme principal. Nous avons besoin d'une interruption au clic d'un bouton,
// c'est-à-dire lors du changement du signal de haut en bas, c'est-à-dire sur
// front descendant (descendant)
attachInterrupt (INT1, pushP1, FALLING); // INT1 est la 3e broche
attachInterrupt (INT0, pushP2, FALLING); // INT0 est la 2ème broche
}
void pushP1 () {++ score; } // Fonction d'interruption du 1er joueur
void pushP2 () {--score; } // Fonction d'interruption du 2ème joueur
boucle vide ()
{
tonalité (BUZZER_PIN, 2000, 1000); // donne un signal pour commencer.
// alors qu'aucun des joueurs n'a gagné, nous mettons à jour la "corde"
while (abs (score) & lt; MAX_SCORE) {
int bound = map (score, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int gauche = min (lié, BAR_COUNT / 2 - 1);
int droite = max (lié, BAR_COUNT / 2);
pour (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = left && i & lt; = right);
}
tonalité (BUZZER_PIN, 4000, 1000); // donne un signal de victoire
while (true) {} // "suspendre" la carte jusqu'au redémarrage
}
Ensuite, nous collectons tout selon ce schéma:
vous devriez obtenir quelque chose comme ceci:
une fois la "corde" déplacée du côté 1 des joueurs, le jeu se termine, vous pouvez le redémarrer en appuyant sur le bouton de l'arduino lui-même
J'espère que vous avez apprécié ce projet et avec vous la balle DeNiS Geek pro100, c'est tout pour le moment!