À quoi servent les broches GPIO sur Raspberry Pi ? (Exemples)

Si vous cliquez sur nos liens et effectuez un achat, nous pouvons recevoir une commission d'affiliation. En savoir plus

Les broches GPIO sont probablement la partie la plus mystérieuse d’un Raspberry Pi quand on débute. Je me souviens m’être demandé à quoi servaient tous ces petits connecteurs sur mon premier modèle. Quelques années plus tard, et après de nombreux projets réalisés avec eux, je peux enfin vous expliquer simplement comment les GPIO fonctionnent.

Le Raspberry Pi dispose de 40 broches GPIO utilisables en entrée et en sortie. Elles permettent de se connecter à toutes sortes de composants : capteurs, interrupteurs, moteurs, et bien plus encore.

Dans cet article, on va passer en revue les différentes façons d’utiliser les GPIO du Raspberry Pi. Je vous donne aussi des exemples de projets concrets pour bien voir à quel point c’est utile.

Si vous êtes perdu dans tout le jargon autour de Raspberry Pi, j’ai quelque chose pour vous aider. J’ai créé un glossaire gratuit qui explique tous les termes et abréviations essentiels de manière simple et compréhensible. C’est une excellente ressource à garder sous la main. Obtenez votre copie gratuite ici.

Allumer et éteindre des appareils

Des LEDs clignotantes au contrôle de votre maison.

La chose la plus simple qu’on puisse faire avec les GPIO, c’est allumer ou éteindre quelque chose. En gros, chaque broche GPIO peut être dans l’un de deux états : Allumé (High) ou Éteint (Low). On contrôle l’état de chaque broche via un programme ou un script.

Mais qu’est-ce qu’on entend par « Allumé » ou « Éteint » ? Ce sont simplement deux niveaux de tension différents. Les capteurs et composants électroniques réagissent différemment selon la tension qu’ils reçoivent.

Si vous voulez aller plus loin et comprendre le fonctionnement des GPIO en détail, lisez cet article : Débuter avec les broches GPIO sur Raspberry Pi (guide pour débutants).

Prenons un exemple simple avec le circuit présenté dans le schéma ci-dessous :

Dans ce circuit, on a branché une LED sur la broche GPIO 16 du Raspberry Pi via une résistance. On peut maintenant écrire un petit programme Python comme celui-ci pour allumer la LED.

from gpiozero import LED

# Initialize LED on GPIO 16
led = LED(16)

# Turn LED ON
led.on()

Si les composants électroniques de base vous semblent encore flous, jetez un œil à notre article sur les composants essentiels pour les GPIO du Raspberry Pi (en anglais).

Avec une seule commande, on a changé l’état d’une broche GPIO de éteint à allumé. Ce principe simple s’applique à des tas de cas concrets.

Il y a quand même une limite importante : les GPIO du Raspberry Pi ne peuvent piloter que des charges basse tension (LV), comme des LEDs. Pour contrôler des appareils haute tension (HV) — comme des lampes ou des ventilateurs — il faut convertir le signal basse tension en signal haute tension.

Ce genre de conversion peut être complexe à câbler soi-même. Heureusement, il existe des modules relais tout prêts.

On connecte ce module relais au Raspberry Pi, puis on l’utilise à la place d’un interrupteur classique (comme dans le schéma ci-dessous) pour transformer un ventilateur ordinaire en ventilateur connecté.

Vous pouvez remplacer le ventilateur par n’importe quel appareil que vous souhaitez piloter via les GPIO de votre Raspberry Pi.

Ce type de montage permet d’automatiser des appareils chez vous : les programmer pour s’allumer et s’éteindre à des horaires précis, ou selon les données d’un capteur. C’est comme ça qu’on transforme des appareils classiques en appareils connectés.

Télécharger mon glossaire !
Un peu perdu avec toutes ces abbréviations et nouveaux mots ? Téléchargez le glossaire complet au format PDF :-)
Télécharger maintenant

Détecter l’état d’un bouton

Transformer un appui sur un bouton en action.

L’inverse d’allumer ou éteindre quelque chose avec les GPIO, c’est utiliser les GPIO pour détecter si quelque chose est allumé ou éteint. En plus de servir de sorties, les GPIO peuvent aussi fonctionner comme entrées. On peut ainsi vérifier dans un programme si une broche est à l’état Allumé (High) ou Éteint (Low).

Prenons l’exemple d’un bouton poussoir pour voir comment le Raspberry Pi lit une entrée via ses GPIO. Le schéma de connexion est présenté ci-dessous :

Ici, on a connecté un bouton poussoir sur la broche GPIO 18 du Raspberry Pi. Un petit programme comme celui-ci suffit pour lire l’état du bouton.

from gpiozero import Button
from signal import pause

button = Button(18)

button.when_pressed = lambda: print("Button pressed")
button.when_released = lambda: print("Button released")

pause()  # keeps program running

Avec quelques lignes de Python, on lit l’état de la broche GPIO et on sait si le bouton est appuyé ou non.

Si vous avez du mal à écrire des programmes pour contrôler les GPIO, on a un guide sur la bibliothèque GPIO Zero qui devrait vous aider.

Cet appui sur le bouton peut servir de déclencheur pour lancer une action. Par exemple, on peut aussi connecter une LED au Raspberry Pi et l’allumer quand le bouton est pressé, comme dans cette vidéo :

Cet exemple est évidemment très basique. On peut faire des choses bien plus complexes : utiliser le bouton comme déclencheur pour un script, ou comme contrôle dans un jeu que vous créez.

Tu cherches d’autres projets Raspberry Pi à faire ? J’ai rassemblé plus de 75 projets Raspberry Pi dans une ressource gratuite (avec tutos et matériel nécessaire pour chaque). De quoi t’occuper un bon moment, quel que soit ton niveau. C’est par ici !

Lire des capteurs et mesurer des données

Récupérer des données réelles comme la température et l’humidité.

Au-delà des simples entrées et sorties, les GPIO permettent aussi de communiquer avec des capteurs numériques plus évolués.

Par exemple, on peut utiliser un capteur IR ou de mouvement pour détecter des déplacements. Le Raspberry Pi peut alors réagir en conséquence et vous alerter. Le capteur HC-SR501 est très souvent utilisé pour ça.

On câble ce capteur au Raspberry Pi, et dès qu’il détecte un mouvement, il met la broche GPIO correspondante à l’état High. On lit ensuite cet état dans un programme Python (comme on l’a fait avec le bouton poussoir) pour déclencher une action, comme envoyer une alerte.

Ce type de montage peut être intégré dans un système de sécurité ou servir à surveiller les déplacements de vos enfants ou de vos animaux dans la maison.

On peut aussi combiner ça avec l’exemple précédent de contrôle d’appareils. Imaginez un programme qui détecte un mouvement spécifique (par exemple, vos pieds quand vous vous levez le matin) et allume automatiquement les lumières de votre chambre.

Pouvoir réagir à des actions physiques et piloter des appareils électriques ouvre la porte à une tonne d’idées de projets. On peut par exemple automatiser les lumières de l’escalier, ou éteindre les ventilateurs et les lampes quand personne n’est dans la pièce pour économiser de l’énergie.

Le capteur IR se comporte un peu comme un bouton poussoir. Mais des capteurs comme le DHT22 (température et humidité) ont besoin de transmettre bien plus qu’un simple bit. Ils doivent communiquer des données plus complexes, comme la température et l’humidité exactes de l’environnement.

Pour ça, ces capteurs sérialisent les données selon un protocole spécifique. Grâce à cette sérialisation, ils transmettent toutes leurs données sur une seule broche GPIO.

Certains capteurs, comme l’accéléromètre et gyroscope MPU-6050, nécessitent même une communication bidirectionnelle : le Raspberry Pi envoie des instructions et le capteur répond en conséquence.

En fait, de nombreux capteurs peuvent être connectés à votre Raspberry Pi via les broches GPIO.

Comme ces capteurs utilisent un protocole de communication spécifique plutôt que de simples signaux High/Low, ils nécessitent des bibliothèques dédiées. Par exemple, pour le DHT22, on utilise la bibliothèque Python adafruit-circuitpython-dht.

Ces capteurs offrent des fonctionnalités bien plus avancées. Par exemple, on peut utiliser un DHT22 pour surveiller la température et l’humidité, puis piloter automatiquement la climatisation en fonction des mesures.

On peut aussi utiliser le capteur MPU-6050 dans un projet de robotique pour que le Raspberry Pi connaisse son orientation et ses mouvements en temps réel.

Un projet que j’adore : combiner le capteur de température et d’humidité DHT22 avec un capteur de lumière pour créer un environnement de culture automatisé (serre ou jardinage). L’arrosage, la ventilation et l’éclairage sont gérés automatiquement selon les données des capteurs.

Télécharger mon glossaire !
Un peu perdu avec toutes ces abbréviations et nouveaux mots ? Téléchargez le glossaire complet au format PDF :-)
Télécharger maintenant

Une fois qu’on réalise combien de capteurs peuvent se connecter à un Raspberry Pi, ça change vraiment la vision de ce que cet appareil est capable de faire.

Piloter des moteurs et construire des projets mobiles

Des mécanismes simples aux robots complets.

Un des domaines où j’utilise le plus les GPIO, c’est la robotique. Dans un projet robotique, le Raspberry Pi joue le rôle du cerveau : il reçoit des informations de plusieurs capteurs et, selon ces données, contrôle les moteurs qui font tourner les roues ou bouger les bras.

Il existe plein de kits robotiques disponibles. Personnellement, j’aime beaucoup ce kit de voiture robotique 4WD.

Ce kit est facile à assembler et parfait pour débuter. Il intègre un capteur de distance à ultrasons, un capteur de suivi de ligne et une caméra.

Ce genre de projet est à la fois super éducatif et vraiment fun. Voici une vidéo de mon fils et moi en train de jouer avec la voiture qu’on a construite :

Un autre kit robotique vraiment sympa : ce kit de bras robotique ArmPi. Livré avec un Raspberry Pi 5, il permet de créer un bras robotique à la fois amusant et vraiment utile.

Une fois à l’aise avec les GPIO et la robotique, on peut aller encore plus loin et construire son propre drone avec un Raspberry Pi. C’est en fait plus accessible qu’on ne le pense.

Des châssis de quadricoptère sont facilement disponibles sur Amazon. On peut ensuite les combiner avec un Raspberry Pi Zero ou un Raspberry Pi Pico (en anglais) léger, et les capteurs de son choix pour fabriquer son propre quadricoptère FPV.

On peut utiliser le programme Scout Flight Controller de Tim Hanewich ou créer le sien pour piloter le quadricoptère.

La communauté des passionnés de Raspberry Pi ne cesse de grandir, et il y a toujours quelqu’un pour vous aider sur vos projets robotiques. On trouve des articles détaillés en ligne qui guident pas à pas dans la création de son propre robot.

De nombreux kits robotiques sont spécialement conçus pour les débutants et constituent un excellent point de départ. C’est un super hobby : on apprend plein de choses, et une fois qu’on a pris le coup de main, c’est vraiment addictif.

Communiquer avec d’autres composants électroniques

Travailler en tandem avec des microcontrôleurs comme Arduino.

Une utilisation moins connue mais très pratique des GPIO, c’est la communication avec d’autres appareils électroniques. Dans mes projets, j’associe souvent un Raspberry Pi à un Arduino Nano ou un Raspberry Pi Pico.

Cette combinaison permet au Raspberry Pi de gérer les tâches complexes du projet, pendant que l’Arduino s’occupe de l’interface avec les circuits analogiques ou les capteurs non supportés.

Pour que l’Arduino et le Raspberry Pi puissent se parler, on utilise les broches Tx et Rx des GPIO pour établir une communication fiable.

Ce type de montage permet de combiner les capacités de plusieurs microcontrôleurs et de se connecter à des capteurs qui ne seraient pas compatibles directement avec le Raspberry Pi.

De la même façon, on peut établir une communication entre un Raspberry Pi et un Raspberry Pi Pico (en anglais). En plus de la communication série UART, le Raspberry Pi supporte les protocoles I2C et SPI.

Beaucoup de modules utilisent ces protocoles. Par exemple, on peut connecter un écran LCD 1602 via I2C pour afficher des messages importants.

On peut aussi connecter un petit écran LCD couleur 1,8 pouce via l’interface SPI pour afficher des graphiques.

D’ailleurs, beaucoup de capteurs et de modules utilisent ces protocoles. L’accéléromètre et gyroscope MPU-6050 mentionné plus haut utilise lui aussi la communication SPI.

L’avantage de ces protocoles avancés, c’est qu’on peut transmettre beaucoup de données avec seulement quelques broches GPIO. Le câblage est donc relativement simple.

Et comme ce sont des protocoles de communication universels, on peut communiquer avec presque n’importe quel appareil électronique ou carte de développement via les GPIO du Raspberry Pi.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous voulez discuter avec d'autres passionnés de Raspberry Pi ? Rejoignez la communauté, partagez vos projets en cours et posez vos questions sur le forum (en anglais).

Ajouter des fonctionnalités avec des HATs

Enrichir son Raspberry Pi sans se prendre la tête avec le câblage.

On peut aussi utiliser les GPIO pour brancher des HATs (Hardware Attached on Top) sur son Raspberry Pi. Les HATs sont des circuits électroniques prêts à l’emploi qui se fixent directement sur le Raspberry Pi pour étendre ses fonctionnalités.

Il existe une grande variété de HATs, chacun orienté vers une fonctionnalité différente. Par exemple, on peut utiliser un HAT M.2 NVMe SSD pour ajouter un SSD NVMe à son Raspberry Pi 5.

Ce HAT utilise le port PCIe 2.0 du Raspberry Pi 5 et se connecte via un câble nappe. Mais il passe quand même par les GPIO pour l’alimentation et les signaux de contrôle.

Un autre HAT très utile pour les projets nomades ou hors réseau : le HAT UPS.

Ce HAT permet d’alimenter son Raspberry Pi avec des batteries Li-Ion 18650, qui servent aussi de source d’alimentation de secours. Il utilise les GPIO pour la fourniture d’énergie et les signaux de contrôle, comme le pourcentage de batterie.

La plupart des HATs sont conçus pour s’empiler les uns sur les autres. Petit conseil quand même : vérifiez la compatibilité dans la documentation du fabricant avant de les combiner. Dans mon expérience, la grande majorité sont compatibles entre eux.

Un autre HAT que j’utilise souvent : cet écran tactile 3,5 pouces en HAT.

Ce HAT est très pratique quand on n’a pas d’écran, de clavier ou de souris sous la main pour travailler avec son Raspberry Pi.

Les HATs peuvent vraiment booster la productivité de votre Raspberry Pi. Il en existe une grande variété, et on n’a fait qu’effleurer le sujet ici.

Les GPIO, c’est vraiment ce qui différencie un Raspberry Pi d’un mini PC classique. Ils permettent de contrôler directement des composants électroniques et de gérer l’alimentation — ce qui ouvre un nombre incroyable de possibilités.

D’ailleurs, dans la plupart de mes projets, si je choisis un Raspberry Pi plutôt qu’une carte mère ou un PC moins cher, c’est précisément pour ses GPIO qui me permettent de me connecter nativement à des composants et des circuits électroniques.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *