Étape 4:595 et ShiftOut
Ensuite,. que nous allons jeter un oeil à la fiche de données de la 595 pour trouver les broches de droite pour vous connecter. Cette première image ci-dessus montre les connexions des 595 broches. Il y a 16 broches sur le 595, étiquetés 1-16. Remarquez le demi-cercle de marquage sur un côté de la puce, la broche #1 se trouve toujours sur le côté gauche de cette puce. Le reste des broches sont numérotées autour de la puce va dans le sens antihoraire.
La deuxième image montre le nom de code pin, trié par nombre de broches, avec une courte description. Les broches 1-7 et 15 sont les sorties Q0-Q7, laissez ces broches non connecté pour l’instant. Broche 8 est une broche de terre, raccorder au sol de l’Arduino. Broche 9 est une sortie de données série, il est utilisé pour se connecter aux autres 595 pour chainage. Chainage permet de sorties 16 ou plus, à l’aide de seulement trois des broches numériques de l’Arduino. C’est un peu hors de la portée de ce didacticiel, mais vous pouvez en savoir plus à ce sujet ici. Étant donné que nous n’utiliserons pas broche 9, nous pouvons laisser il non connecté (également appelé « flottant »). Broche 10 est la réinitialisation, cette broche est faible, il provoque le registre à décalage réinitialiser-perdre toutes les données nous pourrions avoir stocké précédemment. Nous ne pas envie cette fonctionnalité dès maintenant, donc connecter la réinitialisation à 5V pour empêcher la réinitialisation ne se produise. Broche 11 correspond à l’entrée d’horloge ou « horloge broche », raccorder à une broche numérique Arduino 7. Axe de 12 correspond à l’entrée d’horloge de Registre stockage ou « broche s’enclenchent », raccorder à une broche numérique Arduino 6. PIN 13 est l’axe de sortie permettent, lorsqu’il est faible, il permet le 595 envoyer des données à ses sorties, nous voulons que ce, connecter cette broche à la masse. Broche 14 correspond à l’entrée de données en série, Connectez celle-ci à Arduino broche numérique 5. Broche 16 est l’alimentation de la puce, Connectez celle-ci à 5V. Votre circuit devrait ressembler à l’image 3.
Branchez une LED et une résistance à la terre à chacune des broches de huit sorties de la 595. Votre circuit devrait maintenant ressembler à image 4. Maintenant, définissant une broche de sortie de la haute 595 s’allume la LED correspondante, et mettre bas s’éteignent le voyant. Télécharger le code suivant :
Ce code introduit un nouveau type de données appelé octet, octet est comme int, mais puisque octets nécessitent seulement 8 bits de mémoire, ils stockent uniquement les nombres entre 0 et 255 (2 ^ 8 = 256).
Le reste du code est simple, à l’exception de la ligne :
shiftOut (dataPin, clockPin, LSBFIRST, numberToDisplay) ;
Dans cette optique, l’Arduino utilise les broches de données et horloge de la 595 pour envoyer le numéro 154 (la valeur actuelle de numberToDisplay) dans le registre à décalage. Le numéro 154 contient les États des 8 broches de la 595 :
154, converti en binaire est 10011010
Si vous regardez les États de votre LED, vous verrez que le voyant connecté à Q0 est allumé, Q1 et Q2 sont désactivés, Q3 et Q4 sont sur, Q5 est éteint, Q6 est sur et Q7 est éteint. Si les LEDs suivent le même modèle que le nombre binaire, un 1 représente un voyant on s’et 0 une LED off.
Maintenant essayez d’autres numéros, le numéro 15 est binaire est 00001111, vous trouverez autre décimal binaire conversions sur google en tapant un # puis le membre de phrase "binaire" (le numéro elle recrache commencent par 0 b, ignorera cette partie et saisir les 8 derniers chiffres). N’oubliez pas que nous pouvons seulement envoyer des nombres binaires avec 8 chiffres en eux (8 bits) le registre à décalage parce qu’il n’a que 8 broches de sortie, donc la valeur de numberToDisplay doit être comprise entre 0 et 255.
Maintenant essayer de changer le paramètre LSBFIRST à MSBFIRST, vous devriez voir l’ordre de l’inverse de LEDs, cette variable définit la direction que nous envoyons le nombre binaire dans le 595 : LSBFIRST signifie « moins peu important tout d’abord » et MSBFIRST signifie "plus important peu tout d’abord".
Pour le rendre un peu plus intéressant, essayez ce qui suit :
Maintenant, vous avez transformé votre LED en un compteur binaire :