Étape 2: Le croquis
Certes, la première étape se connecte les boutons pour faire un clavier. Leur lien est assez facile et vous devrez simplement Regardez le schéma Fritzing attaché.
Remarque : N’oubliez pas que les boutons doivent être placés entre les deux sections de milieu de la maquette pour éviter des courts-circuits. Donc, nous ne serons pas en mesure de placer nos boutons comme un clavier réel rectangulaire mais comme un en forme de ligne.
Quelque chose de vraiment utile consiste à écrire les noms de clavier sur un morceau de papier.
Relier les boutons aux numéros et aux touches de contrôle
La console comporte 12 boutons : 10 sont nécessaires pour représenter les nombres de 0 à 9 et deux contrôler le flux de l’opération. Grâce à certains #define , nous sommes en mesure de relier chaque bouton sur une broche spécifique.
Boutons sont normalement ouverts. Cela signifie que leur état par défaut est défini sur bas. En les poussant font leur état devient élevée. Seulement lorsque leur état est défini sur haut
La Loi de l’état d’un bouton de faible à élevée de commutation détermine l’insertion d’un chiffre (si vous appuyez sur un touche-touche nombre) ou un « événement » (si vous appuyez sur un des boutons de deux contrôle). Nous avons mis en place dans la fonction readKey () .
Les deux États susmentionnés sont causés par la solution du utilisée pour ce régime. Grâce à des résistances déroulant reliées à la terre, le niveau de sortie est 0 lorsque les boutons sont libéré (interrupteur ouvert) et 1 (5 Volts) lorsque vous appuyez sur (interrupteur fermé).
Le clavier est l’outil qui permet de donner des ordres à l’Arduino, c’est pourquoi goupilles poussoirs sont définies en tant qu’entrée dans la fonction d’installation Sub () .
Que l'on sache, les deux fonctions essentielles d’un sketch Arduino sont Sub boucle () et installation Sub (). La première fonction est exécutée seulement une fois et fondamentalement fait certains contrôles et/ou initialise des PINs et des composants. Dans l’autre, il y a le code qui s’exécute à plusieurs reprises. Ainsi, afin de stopper indéfiniment l’exécution du code, nous avons fait la fonction wait() . Lorsque Arduino exécute cette fonction va dans une sorte de « état d’attente » ; en effet, cette boucle while est vide et vraie jusqu'à ce qu’aucune touche n’est actionnée. N’importe quelle touche enfoncée fait Arduino sortir de cette boucle et exécutez l’instruction suivante.
La fonction insertNumb ()
La partie la plus complexe du code est sûrement celui qui est fourni dans la fonction void insertNumb () . À l’exception d’un lot d’instructions conditionnelles, l’idée principale derrière cette fonction sont les deux boucles pour . La première boucle analyse chiffres d’un nombre premier, tandis que l’autre analyse les chiffres des secondes.
Comme dit plus haut, la fonction semble très complexe en raison de nombreuses instructions conditionnelles. Ces déclarations sont nécessaires pour gérer la capture de flux de données.
Fondamentalement, ils forcent la fonction d’interrompre elle-même si l’utilisateur appuie sur DEL ou consacrée s’appuie sur OK.
Par exemple, si on appuie sur OK pendant l’exécution de la première boucle, une instruction conditionnelle augmente la valeur de "je" variable de x 5. Ainsi, l’instruction if qui précède la boucle suivante pour devient vraie permettant la saisie de données des chiffres deuxième numéros.
Lire le code source, il est possible de voir beaucoup de retard, apparemment répartis de manière aléatoire. En fait, elles sont très importantes parce que synchroniser les opérations de clavier. Par exemple, le premier délai dans la Sub insertNumb () est nécessaire pour éviter l’interprétation des touches de sélection comme le premier chiffre du premier nombre.
void loop ()
Le code de cette fonction pourrait se pencher un peu complex en un clin de œil, mais ce qui se passe est assez simple.
La principale variable est appelée opération. Il suppose seulement quatre valeurs: 0, 1, 2 et 3 correspondant aux calculs de base précédemment nommés.
Une fois choisi une opération, grâce à des instructions conditionnelles l’algorithme va à la partie droite du code et fait le calcul sélectionné par l’utilisateur. Étant donné que la valeur maximale autorisée est 99999, ces déclarations conditionnelles vérifient également si ce nombre est dépassé.