3.9. Interrupteurs et résistances de tirage

Une sortie GPIO commande du matériel externe. Une entrée GPIO fait l’inverse : la caméra lit la tension sur une broche et la rapporte comme 0 ou 1. Le dispositif d’entrée le plus simple est un interrupteur – et le rendre lisible de manière fiable nécessite un composant électronique en plus de l’interrupteur lui-même.

3.9.1. Interrupteurs et entrées flottantes

Un interrupteur est un contact mécanique : deux pièces de métal qui se touchent lorsque l’interrupteur est fermé et se séparent lorsqu’il est ouvert. Électriquement, c’est là tout le dispositif. Il n’y a aucune source de tension à l’intérieur ; un interrupteur seul ne fournit que « connecté » ou « déconnecté ».

Câbler un interrupteur directement entre une broche GPIO et la masse signifie que la broche est :

  • À 0 V lorsque l’interrupteur est fermé (désormais reliée à la masse).

  • Flottante lorsque l’interrupteur est ouvert (reliée à rien).

Une broche flottante n’a pas de tension définie. L’entrée lit tout ce qui se trouve à proximité – diaphonie de signaux voisins, bruit de l’alimentation, voire l’électricité statique d’un doigt proche du fil. value() renvoie des mélanges imprévisibles de 0 et de 1 plusieurs fois par seconde.

3.9.2. Résistances de tirage vers le haut et vers le bas

La solution est une résistance de tirage : une résistance de forte valeur (10 kΩ à 100 kΩ est typique) qui relie l’entrée à un rail connu lorsque l’interrupteur est ouvert.

Two circuit diagrams side by side. Left: a pull-up circuit with a resistor from the input pin up to the supply and a switch from the input pin down to GND. Right: a pull-down circuit with a resistor from the input pin down to GND and a switch from the input pin up to the supply.

Configurations de tirage vers le haut (à gauche) et vers le bas (à droite) pour une entrée d’interrupteur.

  • Tirage vers le haut. La résistance relie l’entrée au rail d’alimentation. Lorsque l’interrupteur est ouvert, seul un faible courant s’écoule à travers la résistance et la broche lit l’état haut. Lorsque l’interrupteur est fermé, il court-circuite la broche à la masse ; la broche lit l’état bas. La résistance limite le courant qui circulerait autrement de l’alimentation vers la masse à travers l’interrupteur fermé.

  • Tirage vers le bas. L’image miroir : la résistance relie l’entrée à la masse, et l’interrupteur se connecte à l’alimentation. Ouvert lit l’état bas, fermé lit l’état haut.

Le tirage vers le haut est la convention la plus courante – des boutons « actifs à l’état bas ». Le microcontrôleur lui-même fournit des résistances de tirage vers le haut et vers le bas intégrées, qui peuvent être activées avec Pin.PULL_UP ou Pin.PULL_DOWN, supprimant entièrement la résistance externe.