3.4. Broches et périphériques¶
Une broche est le périphérique le plus simple du MCU : un fil unique qui relie la puce au monde extérieur. Chaque interaction avec du matériel réel – piloter une LED, lire un interrupteur, mesurer une tension, envoyer des octets sur une ligne série – passe en fin de compte par une ou plusieurs broches.
3.4.1. Modes des broches¶
Une broche est configurée dans l’un de quelques modes avant de faire quoi que ce soit d’utile :
Pin.IN– entrée. La broche observe la tension qui lui est appliquée de l’extérieur et la rapporte comme0(bas) ou1(haut).Pin.OUT– sortie. La broche se pilote elle-même soit vers la tension d’alimentation (1), soit vers la masse (0), de sorte que les composants externes voient cette tension.Pin.OPEN_DRAIN– sortie qui ne peut que tirer la ligne vers le bas. Pour passer à l’état haut, la broche se relâche (flotte) et une résistance de tirage externe vers le haut remonte la ligne. Utilisée pour les bus partagés où plusieurs périphériques peuvent piloter la même ligne.
Les entrées peuvent optionnellement activer une résistance de tirage interne qui garantit un niveau défini lorsque rien d’externe ne pilote la broche :
Pin.PULL_UP– faible tirage vers le rail d’alimentation.Pin.PULL_DOWN– faible tirage vers la masse.
Le constructeur prend id, mode et pull comme arguments positionnels :
from machine import Pin
led = Pin("P0", Pin.OUT)
button = Pin("P1", Pin.IN, Pin.PULL_UP)
3.4.2. Fonctions alternatives¶
La plupart des broches ont une fonction alternative en plus de leur rôle de GPIO. Un seul plot physique sur la puce peut être :
Une entrée ou une sortie numérique (
machine.Pin).Une entrée ADC qui mesure une tension (
machine.ADC).Une sortie PWM qui émet une onde carrée (
machine.PWM).La ligne TX ou RX d’un UART (
machine.UART).
D’autres périphériques (bus série supplémentaires, minuteurs, etc.) revendiquent également des broches spécifiques ; le concepteur de la puce câble chaque bloc matériel à un ensemble fixe de plots. L’ADC échantillonne uniquement les broches routées vers son multiplexeur ; un UART transmet sur l’unique broche à laquelle son signal TX est câblé.
Note
Les caméras OpenMV étiquettent les broches du connecteur externe de P0 à P9 (varie légèrement selon la carte). La fonction alternative que porte chaque broche est spécifique à la carte ; consultez la référence rapide de l’OpenMV Cam pour le tableau.
3.4.3. Variations selon la carte¶
Quelques détails varient selon la carte et doivent toujours être vérifiés dans la référence rapide plutôt que supposés à partir d’une autre carte :
Tolérance de tension. Certaines caméras ont des broches d’E/S tolérantes au 5 V (un signal de 5 V peut être appliqué directement sans dommage) ; d’autres font fonctionner leurs E/S à 3,3 V ou 1,8 V et nécessitent un adaptateur de niveau pour tout signal supérieur. Connecter une source 5 V à une broche non tolérante peut endommager la puce.
Référence de l’ADC. La tension que l’ADC considère comme pleine échelle dépend de l’alimentation d’E/S de la carte.
read_u16()renvoie toujours0..65535, mais la tension que représente65535correspond à la référence de la carte, quelle qu’elle soit.Capacité de pilotage. Une broche GPIO peut fournir ou absorber un courant limité – généralement quelques dizaines de milliampères. Suffisant pour une petite LED à travers une résistance ; insuffisant pour un moteur, un buzzer ou toute charge inductive. Recourez à un pilote externe (transistor, MOSFET, pont en H) pour tout ce qui est plus lourd.
La référence rapide de l’OpenMV Cam donne les chiffres exacts pour chaque carte.