Après la manipulation d'une broche en sortie, le plus intéressant est d'utiliser une broche en entrée.
Une broche en entrée est capable de lire l'état logique de la broche (niveau haut, niveau bas) imposé par un montage externe. Il est donc possible de brancher un bouton poussoir sur une broche (en entrée), de presser dessus pour modifier l'état logique de la broche et avoir un programme MicroPython sur la carte permettant de lire cet état.
Voila... nous avons la base d'une interface Homme-Machine permettant d'envoyer des instructions au programme fonctionnant sur la carte PYBStick.
Voici quelques lignes de code permettant de détecter l'état du bouton.
>>> from machine import Pin
>>> p = Pin( "S3", Pin.IN )
>>> # Ne pas presser le bouton
>>> p.value()
True
>>> # Presser le bouton
>>> p.value()
False
Voici comment cela fonctionne:
Si le bouton N'EST PAS pressé:
La broche étant en entrée, elle présente une très grande résistance interne... et de fait, il n'y a aucun courant (ou presque) qui circule à l'intérieur d l'entrée même si celle ci est raccordée au +3.3V.
SI le bouton n'est pas pressé ALORS la broche S3 est directement raccordé au +3.3V (même par l'intermédiaire de la résistance). Comme il n'y a pas de courant qui circule dans l'entrée, il n'y également aucun courant circulant dans la résistance... donc pas de chute de tension (ou négligeable). La tension à l'entrée S3 est donc de 3.3V, l'entrée est au niveau haut.... p.value() retournera True.
Si le bouton EST pressé:
Alors dans ce cas, la broche S3 est raccordée directement à la masse/GND et le potentiel est donc 0V sur l'entrée.... p.value() retournera FALSE.
Utilité de la résistance de 10KOhms
Cette résistance de 10K est dite "Pull-Up" (ou de rappel en Français) car elle permet de rappeler la tension de l'entrée à +3.3V.
Elle est utile lorsque le bouton n'est pas pressé.
On serait en droit de se demander si elle est vraiment utile puisque l'on peut aussi raccorder directement l'entrée S3 sur la broche 3.3V!
Et bien, lorsque le bouton est pressé, cette résistance de 10KOhms evite de court-circuiter franc entre le +3.3V et la masse. Ce qui détruirait l'étage d'alimentation de la PYBStick.