Comment déclarer des variables à coder le clavier pour votre entrée projet Arduino système de clavier

Une fois que vous avez le clavier et l'affichage des composants en place sur votre carte de test, il est temps de charger le code à votre Arduino. Prenez un moment pour regarder le code, puis le télécharger sur votre carte.

Dans la première partie, avant l'installation, vous déclarez des variables pour le clavier et l'écran.

const int numberOfDigits = 4- // Le nombre de chiffres à 7 segments displayconst int numRows = // 4- Nombre de lignes dans la keypadconst int numCols = 3- // Nombre de colonnes dans la keypadconst int DebounceTime = 20 / / Nombre de millisecondes pour interrupteur pour devenir stableconst int doorOpenTime = 5000 // Combien de temps vous voulez que la grève de la porte de rester openconst int strikePin = 9- // La broche qui actionne le relais pour la porte strikeconst int slaveSelect = 10 // Pin utilisé pour permettre à la broche esclave sur le code MAX72xxchar [4] = {'1', '2', '3', '4'} - // Définissez votre code herechar codeBuffer [4] - // Stocke le code actuellement est d'être enteredboolean DEBUG = vrai- // Définir à vrai pour les messages d'état d'impression à l'portint série keypressCount = 0- // compte combien de fois une touche a été pressé // le plan de codage définit le caractère retourné lorsque sa clé est char pressedconst Keymap [numRows] [numCols] = {{'1', '2', '3'}, {«4», «5», «6»}, {'7', '8', '9'} , {'*', '0', '#'}} - const rowPins int [numRows] = {7, 4, 2, 5} // - rangées clavier 0 grâce 3const int colPins [numCols] = {6, 8 , 3} - // colonnes de clavier 0 à 2

La nombre de chiffres variable définit votre pilote LED IC avec le bon nombre de chiffres. numRows et Numcols stocker le nombre de lignes et de colonnes sur le clavier, 4 et 3, respectivement. Vous les utiliser pour rechercher quelle touche est enfoncée. La debounceTime assure que la clé étant pressée est détectée avec précision. Vous définissez la quantité de temps la porte sera maintenue ouverte avec le doorOpenTime variable.

La strikePin variable définit qui broche numérique sera activée lorsque le code est entré. Cela vaut la puissance au relais, qui ferme à actionner le mécanisme de votre serrure de la porte. Vous pouvez utiliser un nom différent si vous utilisez un autre type de mécanisme, comme une serrure de porte magnétique ou une serrure à pêne à goutte.

slaveSelect définit une broche numérique que vous utilisez pour vous indiquer que vous envoyez des données. L'esclave sélectionner (ou “ chip select ”) broche (SS) est une broche de commande sur votre IC qui relie les broches externes au circuit interne.

Dans les applications avec plusieurs pilotes de DEL qui sont tous reliés à vos fils d'entrée, vous voulez être en mesure de choisir si oui ou non il est activé. L'IC ne répond aux commandes lorsque sa broche de sélection de mode esclave est activé, ce qui vous permet de différencier entre ce conducteur et les autres ceux que vous utilisez peut-être.




Vous utilisez uniquement un seul circuit intégré dans ce projet, mais vous avez encore besoin de laisser la puce savoir quand vous allez lui envoyer des données, et qui est ce qui fait la broche SS.

Deux carboniser variables sont utilisées pour le code d'accès de manutention. Le premier, Code [], stocke les chiffres du code d'accès. Vous pouvez définir cette d'être ce que vous voulez. Le second carboniser, codeBuffer [], magasins (ou “ tampons ”) les clés qui ont été pressées. Lorsque ces deux correspondent, hop! L'Arduino active strikePin. Il n'y a pas moyen de mettre le code à partir du clavier - vous avez à faire ce programme.

Ce programme a une petite fonctionnalité bien pratique de débogage construit en Voilà ce que la variable suivante est pour: a. booléen appelé DEBUG. Rappelons que les variables booléennes ne peuvent être vraie ou fausse. En réglant ce paramètre vrai, vous pouvez utiliser un conditionnelle si instruction à exécuter certaines lignes de code qui ne sera pas exécutée si vous le réglez à faux.

Par exemple, dans ce code, vous imprimez beaucoup de variables sur le port série, de tester que votre clavier fonctionne correctement. Mais après votre système est installé sur votre porte, vous ne devez pas imprimer quoi que ce soit. Plutôt que de supprimer tous ceux Serial.println () déclarations, vous pouvez tout simplement revenir à la DEBUG variable et réglez-le faux.

La keypressCount magasins Combien de chiffres ont été pressées jusqu'à présent. Lorsque le quatrième est pressé, la véritable action se passe.

La carboniser variable Keymap [] [] est un réseau bidimensionnel. Un tableau à deux dimensions est tout simplement un tableau de tableaux. Imaginez un menu pour un restaurant italien. Vous pourriez avoir une douzaine d'éléments de menu à choisir: des bâtons, de la soupe, pizza, lasagne, salade, vin rouge, et ainsi de suite.

Vous pouvez stocker ces simplement comme un seul réseau, mais vous pouvez également les organiser par type: démarreurs {} gressins, soupe, plats principaux {pizzas, lasagnes, pâtes, boissons} {l'eau, le vin rouge, vin blanc}. De cette façon, vous pouvez vous référer à des éléments individuellement ou en collections. Une matrice de dimension unique, comme avec votre Code [] tableau, les magasins éléments (éléments de données individuelles) comme ceci:

Int unTableau [] = {0,1,2,3} -

Un tableau à deux dimensions stocke des éléments de ce genre:

Int unTableau [] [] = {{0,1,2,3}, {3,2,3,0}, {4,3,8,1}, {2,3,4,5}} -

Quand vous lisez à partir d'un tableau à deux dimensions, la première valeur dans les crochets spécifie l'élément que vous souhaitez lecture la deuxième valeur entre parenthèses indique l'élément dans l'élément que vous avez spécifié. En travaillant avec des réseaux, le système de numérotation commence à partir de zéro. Ainsi, par exemple, dans le tableau à deux dimensions ci-dessus, anArray [2] [0] est maintenant la valeur 4.

La Keymap est simplement utilisé pour stocker les chiffres sont sur le clavier. Il est littéralement une carte des clés.

Quand une touche est enfoncée, vous utilisez le Keymap d'identifier quel numéro est à cet endroit, de sorte que vous pouvez comparer à votre code prédéterminé.

Les deux dernières variables sont des tableaux qui stockent lequel des broches numériques de votre Arduino les lignes et les colonnes de votre clavier sont connectés.


» » » » Comment déclarer des variables à coder le clavier pour votre entrée projet Arduino système de clavier