Le Raspberry Pi Pico dispose de plusieurs broches GPIO (General-Purpose Input/Output) qui peuvent être utilisées pour diverses tâches en MicroPython. Dans cette leçon, nous allons explorer les différentes broches du Pico, leur numéro, leur fonction (analogique, PWM, numérique), et comment les utiliser en MicroPython.
Le Raspberry Pi Pico possède 26 broches GPIO que vous pouvez utiliser pour interagir avec des composants électroniques et des capteurs. Voici une liste des broches GPIO disponibles sur le Pico :

Pour configurer une broche en mode numérique (entrée ou sortie), vous pouvez utiliser la bibliothèque machine en MicroPython. Par exemple, pour configurer la broche GP0 en tant que sortie, vous pouvez utiliser le code suivant :
import machine
# Configurer GP0 en sortie
broche_gp0 = machine.Pin(0, machine.Pin.OUT)
MicroPython offre plusieurs méthodes pour contrôler la tension de sortie :
from machine import Pin
Pin.on() et Pin.off()
Pin.high() et Pin.low()
Pin.value(valeur)
Les noms de fonctions sont explicites :
pin_led = Pin(16, mode=Pin.OUT)
# Impose une tension de 3.3V en sortie (état logique haut)
pin_led.on()
pin_led.high()
pin_led.value(1)
# Impose une tension de 0V en sortie (état logique bas)
pin_led.off()
pin_led.low()
pin_led.value(0)
Le Raspberry Pi Pico prend en charge la modulation de largeur d'impulsion (PWM) sur certaines broches. Cela permet de contrôler la vitesse des moteurs, la luminosité des LED, etc. Voici comment configurer une broche en mode PWM :
import machine
# Configurer GP2 en mode PWM
broche_gp2 = machine.Pin(2)
pwm = machine.PWM(broche_gp2)
Pour lire des valeurs analogiques à partir des broches GPIO, vous pouvez utiliser l'ADC (Convertisseur Analogique-Numérique) intégré au Pico.
Note/Rappel: Le RPi Pico possède 4 broches analogiques: GP26->29
Voici comment configurer une broche pour lire une valeur analogique :
import machine
# Configurer GP26 pour la lecture analogique
broche_gp26 = machine.Pin(26)
adc = machine.ADC(broche_gp26)
# Lire la valeur analogique
valeur_analogique = adc.read_u16()
Le code suivant permet de lire la valeur d'un potentiomètre analogique:
from machine import ADC, Pin
from utime import sleep
pot = ADC(26)
conversion_factor = 3.3 / 65535
while True:
raw = pot.read_u16()
volts = raw * conversion_factor
print('Raw: {} '.format(raw), 'Voltage {:.1f}V'.format(volts))
sleep(1)
Et ce code permet de changer la fréquence de clignotement d'une LED en fonction de la valeur lue sur un potentiomètre:
from machine import ADC, Pin
from utime import sleep
pot = ADC(26)
led = Pin(25, Pin.OUT)
def map(s, a1, a2, b1, b2):
return b1 + (s - a1) * (b2 - b1) / (a2 - a1)
while True:
raw = pot.read_u16()
delay = map(raw, 0, 65535, 0, 1)
print('Raw: {} '.format(raw), 'Delay {:.1f}s'.format(delay))
led.value(1)
sleep(delay)
led.value(0)
sleep(delay)
Les broches GPIO du Raspberry Pi Pico offrent de nombreuses possibilités pour interagir avec le monde physique en utilisant MicroPython. Que ce soit pour contrôler des LED, des moteurs, ou pour lire des capteurs analogiques, vous avez maintenant les connaissances de base pour commencer à créer vos propres projets avec le Pico. Explorez davantage et expérimentez avec les différentes broches pour donner vie à vos idées.