3.6. Notions d’électronique¶
Piloter quoi que ce soit d’externe depuis une broche GPIO nécessite un circuit de l’autre côté de la broche. Trois notions d’électronique de base – la tension, le courant et la relation entre les deux à travers une résistance – apparaissent dans chacun de ces circuits.
3.6.1. Tension, courant, résistance¶
La tension (volts, V) est la différence de potentiel entre deux points d’un circuit. Le rail d’alimentation de la puce peut être à 3,3 V par rapport à la masse ; une broche GPIO mise à l’état haut se trouve à ces mêmes 3,3 V.
Le courant (ampères, A, ou milliampères, mA) est le flux de charges à travers un fil. Le courant revient toujours là d’où il provient ; ainsi, pour qu’un courant circule, le circuit doit former une boucle complète de l’alimentation jusqu’à la masse.
La résistance (ohms, Ω) indique à quel point le chemin s’oppose à ce flux. Le rôle d’une résistance est de fixer le courant à une valeur connue pour une tension donnée.
La loi d’Ohm les relie entre eux :
La loi d’Ohm sous ses trois formes.¶
En d’autres termes : la tension aux bornes d’une résistance est égale au courant qui la traverse multiplié par la résistance. Connaître deux des trois grandeurs permet d’obtenir la troisième par le calcul.
3.6.2. Diodes¶
Une diode est un composant à deux bornes qui conduit le courant dans un sens (de l”anode vers la cathode) et le bloque dans l’autre.
Une diode ne conduit que de l’anode vers la cathode. Une LED est une diode qui émet de la lumière lorsqu’elle conduit.¶
Une diode possède également une tension directe (Vf) – la chute de tension à ses bornes lorsque le courant circule dans le sens passant. Une fois que la tension appliquée atteint Vf, la diode se comporte à peu près comme un fil ; en dessous, presque aucun courant ne circule.
3.6.3. LED¶
Une diode électroluminescente (LED) est une diode qui convertit son courant de conduction en lumière visible ou infrarouge. La luminosité varie avec le courant ; la couleur est déterminée par la chimie de la LED, et non par la commande.
Tensions directes typiques des LED :
Rouge : 1,8 – 2,2 V
Vert ou jaune : 2,0 – 2,4 V
Bleu ou blanc : 2,8 – 3,4 V
Un courant de fonctionnement utile pour une LED indicatrice est de 5 – 20 mA. Des courants plus élevés donnent plus de luminosité, mais réduisent la durée de vie de la LED et peuvent dépasser la limite de commande de la broche GPIO.
3.6.4. La résistance de limitation de courant¶
Connecter une LED directement entre une broche GPIO et la masse laisserait circuler un courant presque illimité : une fois la tension directe atteinte, la LED se comporte comme un quasi-court-circuit. Une résistance en série entre la broche et la LED fixe le courant à une valeur sûre.
Une résistance en série fixe le courant de la LED.¶
La tension d’alimentation se répartit entre la résistance et la LED : la LED absorbe sa tension directe, la résistance absorbe le reste. Selon la loi d’Ohm :
R = (Vsupply - Vf) / If
Pour une LED rouge (Vf ≈ 2.0 V) pilotée depuis une broche GPIO de 3,3 V à 10 mA :
R = (3.3 - 2.0) / 0.010 = 130 Ω
En pratique, choisissez la valeur standard immédiatement supérieure (150 Ω ou 220 Ω). Le résultat est une LED légèrement moins lumineuse avec une marge de sécurité plus saine. Optez pour 200 – 470 Ω comme valeur par défaut raisonnable lorsque la luminosité exacte importe peu.
3.6.5. Pourquoi chaque élément compte¶
La forme de tout circuit de sortie GPIO découle des quatre notions ci-dessus :
La tension détermine l’énergie disponible à la broche. Un GPIO à 3,3 V dispose de 3,3 V à répartir sur tout ce qui est câblé entre lui et la masse.
Une diode (une LED, dans ce cas) consomme une partie de cette tension sous forme de chute directe et refuse de conduire dans le mauvais sens – elle détermine le sens et la part fixe.
Une résistance de limitation de courant consomme la tension restante et transforme le budget restant en un courant contrôlé. Sans elle, la LED absorberait tout le courant que la broche peut fournir – généralement assez pour détruire l’un ou l’autre, voire les deux.
La loi d’Ohm est ce qui rend la valeur de la résistance calculable : à partir de la tension restante et du courant souhaité,
Rse déduit par le calcul.
La tension, le courant, la résistance, les diodes et une seule équation réarrangée suffisent à concevoir tout étage de sortie GPIO de base.
Les mêmes composants se cachaient derrière la LED embarquée depuis le début. machine.LED("LED_RED").on() allume la LED parce que la carte de la caméra fournit déjà tout ce qui l’entoure – la résistance de limitation de courant, le fil vers la masse, la LED elle-même – et la classe ne fait que basculer le GPIO du silicium derrière eux. La vision « une ligne allume une LED » est exacte ; c’est simplement une façon brève de dire « piloter ce circuit ». Retirez l’abstraction et il ne reste exactement que le circuit ci-dessus.
machine.Pin est le même silicium exposé sans les composants environnants. Le script contrôle directement la tension de la broche ; c’est à vous de fournir la résistance (dimensionnée par la loi d’Ohm), la LED et le chemin de retour vers la masse. Les quatre mêmes notions reviennent, dans des combinaisons légèrement différentes, derrière l’anti-rebond des interrupteurs, le filtrage PWM et la commande de moteurs.