Comment utiliser le GPIO du Raspberry Pi pour vos projets électroniques

Tout savoir sur le GPIO du Raspberry Pi : Guide Complet pour Débutants et Experts #

Comprendre le GPIO et son Importance #

Le GPIO (General Purpose Input/Output) désigne sur les cartes Raspberry Pi un ensemble de broches programmables situées sur un connecteur — aujourd’hui standardisé à 40 broches sur les modèles récents — qui permet l’extension matérielle et la communication directe avec des composants électroniques. Fonctionnant aussi bien en entrée (lecture de signaux, capteurs) qu’en sortie (commande de LED, relais, moteurs), il constitue une interface incontournable pour donner  vie ? à vos montages. L’implantation de ces ports a eu un impact majeur sur la démocratisation du Do It Yourself ? et positionné le Raspberry Pi comme leader mondial auprès de la communauté makers, atteignant en 2023 plus de 50 millions de cartes vendues selon Raspberry Pi Ltd.

  • Entrée : Une broche paramétrée en entrée permet au Raspberry Pi d’écouter ? l’état d’un circuit, pratique pour lire la position d’un interrupteur, la présence de mouvement (PIR), ou la valeur d’un capteur analogique au travers d’un convertisseur.
  • Sortie : Une broche paramétrée en sortie permet d’effectuer des actions physiques : allumer ou éteindre une LED, actionner un relais, piloter un moteur, ou envoyer un signal de commande à un contrôleur externe.
  • Pinout : Le terme désigne le plan ou schéma de disposition des broches sur le connecteur, chaque numéro de pin correspondant à une fonction précise (alimentation, masse, I2C, SPI, PWM, etc.), d’où la nécessité de bien repérer les affectations avant toute manipulation pour éviter endommagement ou accident.

La polyvalence du GPIO explique son adoption dans une diversité de domaines?:

  • Développement de systèmes de domotique avec Home Assistant?: contrôle d’éclairage, sécurité, relevés de consommation électrique.
  • Création de stations météo connectées utilisant des capteurs DHT22, BME280 ou DS18B20 pour collecter température et humidité en temps réel.
  • Automatisation industrielle sur de petites lignes de production (MiniFabLab, FabLabs universitaires).

L’absence de connaissance précise du rôle de chaque broche peut conduire à des erreurs permanentes ou à la destruction de composants sensibles. En effet, connecter une LED sans résistance adaptée ou appliquer un courant excessif sur une pin non protégée expose à des risques de surchauffe ou court-circuit, rendant le schéma du pinout indispensable à toute intervention.

À lire Raspberry Pi en domotique : comment créer un système intelligent chez soi

Configuration des Broches GPIO du Raspberry Pi #

Configurer les broches GPIO représente une étape clé pour piloter ou lire des composants externes. Sur Raspberry Pi OS, la gestion des ports se fait principalement par la programmation en Python, à l’aide de bibliothèques optimisées comme RPi.GPIO (officielle, bas niveau, compatible depuis la version Raspberry Pi 1 de 2012) ou gpiozero (créée par Ben Nuttall en 2016 pour une approche orientée objet et simplifiée).

  • Activez le mode GPIO via raspi-config dans le terminal, rubrique Interface Options ?, puis validez ?Enable GPIO ?.
  • Installez les bibliothèques en saisissant :
    sudo apt install python3-rpi.gpio python3-gpiozero
  • Testez le fonctionnement en connectant une LED (borne + sur GPIO N?, – sur GND), insérez une résistance de 330Ω pour limiter le courant à moins de 10-20mA (la spécification recommandée par la Raspberry Pi Foundation).

Exemple de code pour faire clignoter une LED avec gpiozero?:

from gpiozero import LED
from time import sleep

led = LED(17) # Connectée au port GPIO 17
while True:
led.on()
sleep(1)
led.off()
sleep(1)

À lire Comment installer Raspberry Pi OS pour un projet stable et performant

Pour lire un capteur (par ex. bouton poussoir sur pin 18), il suffit de remplacer ?LED?? par ?Button??, et d’inverser les méthodes ?pressed?/?released??. Le code suivant permet de déclencher une alerte sonore via un buzzer en cas de détection?:

from gpiozero import Button, Buzzer
from signal import pause

button = Button(18)
buzzer = Buzzer(27)
button.when_pressed = buzzer.on
button.when_released = buzzer.off

pause()

À lire Comment installer Raspberry Pi OS : étapes simples pour débutants

  • Respecter la tension?: Les broches d’E/S du Raspberry Pi supportent uniquement 3,3V en logique. Appliquer un signal de 5V détruit irrémédiablement le processeur Broadcom BCM.
  • Courant maximal supporté : la totalité des broches ne doit pas dépasser 50 mA cumulés, et aucune pin unique plus de 16 mA.

Pour aller plus loin?:

  • gpiozero simplifie la création de circuits complexes grâce à une syntaxe Python lisible, adaptée pour l’éducation et la prototypage rapide.
  • RPi.GPIO offre un contrôle plus précis, nécessaire lors d’interfaces critiques avec des composants haute fréquence ou des actionneurs industriels.

Cette variété de solutions et cette granularité dans l’accès au matériel fait du GPIO un moteur essentiel d’innovation électronique sur toutes les générations de Raspberry Pi.

Pinout du Raspberry Pi : Décryptage et Utilisation #

Comprendre le pinout du Raspberry Pi constitue la pierre angulaire de toute conception fiable, garantissant sécurité et compatibilité. Depuis le Raspberry Pi 2 Modèle B en 2015, la majorité des versions (dont les très populaires Raspberry Pi 3 B+ et Raspberry Pi 4 Modèle B) bénéficient d’un connecteur GPIO à 40 broches — contre 26 sur les toutes premières générations.

  • Pins d’alimentation?: Plusieurs broches fournissent du 3,3V ou 5V (broches 1, 2, 4, 17, 39 pour GND), utilisées pour alimenter des capteurs, modules radio (Xiaomi Aqara Zigbee), ou petits écrans LCD (Waveshare).
  • Broches GND ? (masse) : Essentielles pour fermer le circuit, éviter tout flottement de potentiel et garantir la stabilité de lecture des entrées analogiques via ADC.
  • Entrées/Sorties numériques?: Regroupent de 26 à 28 broches selon le modèle, toutes programmables individuellement pour recevoir ou transmettre un signal logique (0/1).
  • PWM (Pulse Width Modulation) : Permet un contrôle précis de la vitesse de moteurs (SunFounder Motor Kit) ou de la luminosité de LED RGB (Adafruit NeoPixel).
  • Bus spécialisés?:
    • I2C : Broches 3 (SDA) et 5 (SCL), communication bidirectionnelle avec modules multiples (capteurs environnementaux, afficheurs OLED de Seeed Studio).
    • SPI : Broches 19, 21, 23, 24, transfert de données rapide, incontournable pour piloter des écrans tactiles, cartes SD ou ADC haut débit.
    • UART (Rx/Tx)?: Pour la liaison série (communications GPS, modules GSM).

Ci-dessous, une vue synthétique du pinout standard?pour Raspberry Pi 4 Modèle B?:

À lire Comment configurer Raspbian facilement : astuces et meilleures pratiques

Broche Fonction principale Tension/courant supporté
1, 17 Alimentation 3,3V ≈ 800 mA max toutes broches
2, 4 Alimentation 5V Dépend de la source USB-C
6, 9, 14, 20, 25, 30, 34, 39 Masse (GND)
3, 5 I2C (SDA, SCL) 3,3V
8, 10 UART (Tx, Rx) 3,3V
19, 21, 23, 24, 26 SPI (MOSI, MISO, SCLK, CE0, CE1) 3,3V
7, 11, 13, 15, 29, 31, 33, 35, 37, … GPIO génériques E/S 3,3V, max 16 mA/pin

Nous recommandons systématiquement l’utilisation de la ressource interactive pinout.xyz, maintenue par la communauté depuis 2014, qui permet de disposer d’une vue dynamique, imprimable et adaptée au modèle de Raspberry Pi utilisé, toutes révisions confondues.

  • Différences entre modèles?: Le Raspberry Pi 5, disponible dès octobre 2023, conserve ce standard 40 broches, mais ajoute de nouvelles fonctionnalités aux pins SPI/I2C, et une meilleure gestion énergétique (max courant en sortie augmenté à 500 mA à 3,3V).
  • La dénomination GPIO number ? (BCM) peut différer du n? de la pin physique?: toujours se référer au schéma du fabricant ou au site pinout.xyz.

Une identification rigoureuse des fonctions de chaque broche et du schéma physique est la clé pour réussir et sécuriser tout projet électronique sur Raspberry Pi.

Exemples de Projets Pratiques avec GPIO : Réalisations et Kits Recommandés #

La richesse des ports GPIO transparaît dans la diversité des projets ?fait-maison??, entre automatisation domestique, mesure environnementale ou robotique éducative. Les kits de SunFounder (robotique, domotique, capteurs) et AdaFruit Industries (modules LED, breakout boards pro) ressortent comme références incontournables depuis 2017 pour garantir compatibilité et fiabilité des montages.

  • Station météo connectée :
    • Matériel : Raspberry Pi 4, capteur DHT22 (humidité/température), résistance 4,7kΩ, câblage standard breadboard, bibliothèque Python Adafruit_DHT.
    • Schéma de câblage : Branchement du signal sur le GPIO 4, alimentation sur 3,3V, masse sur GND, insertion de la résistance entre data et Vcc.
    • Code de mesure : Acquisition toutes les 10 minutes, envoi des données sur Thingspeak (service IoT de MathWorks).
    • Point technique : Respect impératif du courant consommé par le bus (< 2,5mA pour un DHT22).
  • Détection de mouvement / Système d’alarme :
    • Éléments utilisés : Capteur PIR HC-SR501, alerte sonore via buzzer, GPIO 18 en entrée, GPIO 27 en sortie.
    • Déclenchement du buzzer à l’état haut détecté. Affichage temps réel des détections sur un dashboard local Node-RED développé par IBM.
  • Pilotage de plusieurs LED ou moteurs :

Partagez votre avis