Étape 3: La théorie - plusieurs boutons sur une broche
Vous tentez de tricher ! Le secret pour cela utilise une broche d’entrée analogique, pas numérique.
Vous pouvez lire comment l’analogique entrée fonctionne en passant par ce tutorial Arduino. Essentiellement, ce que vous devez savoir est bien que quand il n’y a 0V sur la broche analogique, analogRead() retourne une valeur de 0 et si il n’y a 5V, analogRead retournera une valeur de 1023. Pour n’importe quelle tension entre 0V et 5V, analogRead retournera un nombre proportionnel à la tension.
On ne peut réellement changer la tension fournie à la broche (pas facile en tout cas, je suis paresseux, si facile est important), mais si vous vous souvenez de la Loi d’Ohm, V = IR. Le courant (I) est fixe, ce qui signifie que nous avons juste besoin d’ajouter une résistance entre la tension d’alimentation et la broche analogique pour changer la tension.
Pour ceux d'entre vous qui ont été plus hâte de tous les maths qui est nécessaire pour calculer les tensions, je vais devoir vous décevoir... Je suis paresseux, je n’avez pas besoin de maths.
Let's get un peu plus pratique, et je vais vous montrer pourquoi nous ne se soucient les maths. Nous savons que la broche analogique lit les tensions et nous savons que nous pouvons changer ces tensions en ajoutant une résistance entre elle et la tension d’alimentation. Nous savons aussi que nous sommes allés ce loin parce que nous voulons être capable de lire des commutateurs, alors nous devrions probablement lancer certains commutateurs en trop.
Maintenant, pour ceux qui sont intéressés, afin de concevoir cela, vous commencez avec ce que vous savez. Je sais pas comment connecter un commutateur unique à une seule entrée. J’ai voulu 5 boutons, donc j’ai dupliquée il 5 fois. J’ai ensuite simplifiée par la présence d’un seul menu déroulant résistant connecté à tous les boutons, puis simplement mettre des résistances entre les boutons et la tension d’alimentation et attachées toutes les entrées.
Si vous vous connectez chaque bouton à la tension d’alimentation à travers une résistance de valeur différente, selon laquelle le bouton est enfoncé, la valeur retournée par analogRead serait différente, et vous pouvez utiliser un tas de si des déclarations de voir quel bouton a été activé. Nous n’avez pas besoin de maths est parce que nous juste Branchez-le tout, appuyez sur les boutons et d’imprimer les valeurs renvoyées au port série.