Étape 10 : Initialisation/installation
La plupart de ce code est assez explicite, cependant, il y a certaines parties que je vais clarifier.Ces deux lignes sont les nombres hexadécimaux qui affichent chaque chiffre sur les tableaux d’affichage (0-9).
digitOne octets [10] = {0x6F, 0 x 09, 0x73, 0x3B, 0x1D, 0x3E, 0x7C, 0x0B, 0x7F, 0x1F}; //Player 1 numéros digitTwo octets [10] = {0x6F, 0 x 09, 0x73, 0x3B, 0x1D, 0x3E, 0x7C, 0x0B, 0x7F, 0x1F}; //Player 2 numéros Par exemple, si vous voulez afficher le numéro « 3 » sur un tableau de bord, vous enverrez 0x3B pour le registre à décalage. Cela transformera les broches de Registre Maj 1,3,4,5 et 15 LOW, qui complète le circuit et causes les LEDs filaire à ces broches à la lumière vers le haut. Si vous avez suivi le schéma lorsque vous générez vos tableaux de bord, ces LEDs sont orientés dans la position « 3 ». Ce code définit combien de LED sont dans la chaîne de LED. int nLEDs = 30 ; //Number de LED Si vous ne modifiez pas votre LED Guirlande à tous, vous allez utiliser le numéro 32 ici, pas 30. Je n’ai que 30 LEDs dans ma chaîne parce que j’ai dû couper deux (plus à ce sujet dans la section de dépannage).
Copiez le code suivant définit les deux tableaux d’affichage pour afficher le chiffre « 0 ». //Sets tableaux d’affichage à "0" digitalWrite (latch1, basse) ; shiftOut (data1, l’horloge1, MSBFIRST, ~ digitOne[0]) ; shiftOut (data1, l’horloge1, MSBFIRST, ~ digitTwo[0]) ; digitalWrite (latch1, HIGH) ; Nous gravons la goupille de verrouillage bas et ensuite envoyer les informations et puis écrire la goupille de verrouillage haut afin qu’il "s’enclenche" les numéros et eux ne changera pas jusqu'à ce que nous voulons changer. digitOne correspond au lecteur de 1 tableau de bord et digitTwo au tableau d’affichage du lecteur de 2. Nous envoyons le chiffre « 0 », qui est la valeur hexadécimale 0x6F et détient broches 1, 2, 3, 5, 6 et 15 bas - ceux causant des LEDs éclairer.
Ensuite, je l’ai fait alors joueur 1 et joueur 2 LEDs ont été désactivés. //Turns hors del Joueur1 et player2 digitalWrite (latch2, basse) ;
shiftOut (data2, l’horloge2, MSBFIRST, 255) ;
digitalWrite (latch2, HIGH) ;
digitalWrite (latch3, basse) ;
shiftOut (data3, clock3, MSBFIRST, 255) ;
digitalWrite (latch3, HIGH); C’est vraiment similaire à initialiser les tableau de bord des registres à décalage, à une exception près. J’ai utilisé les valeurs d’octets au lieu de l’hexadécimal. Un octet est une valeur comprise entre 0 et 255. Lorsqu’il communique avec un registre à décalage, 255 se transforme tous les pins élevés (la LED s’éteint) et 0 les transforme tous les bas (s’allume toutes les LEDs).
Puis nous déclarons les deux boutons-poussoirs comme entrées. pinMode (Joueur1, entrée) ;
digitalWrite (Joueur1, HIGH) ;
pinMode (player2, entrée) ;
digitalWrite (player2, HIGH); Nous écrire haute parce que l’Arduino Uno a construit dans des résistances de pull-up. En écrivant les broches hautes, nous n’avez pas besoin de souder les résistances aux boutons poussoirs.
Enfin, nous appelons la fonction selecScore, a expliqué à l’étape 16. score = selectScore() ; //Sets le gagnant score Code d’initialisation/installation ici