Prise en main des broches GPIO sur Raspberry Pi (débutant)


Les broches GPIO sur les Raspberry Pi sont une fonctionnalité importante que vous devez connaître.
En tant qu’administrateur Linux, j’ai principalement utilisé le Raspberry Pi pour tester les systèmes et les logiciels au cours des premiers mois. Mais pour aller plus loin et créer vos propres systèmes et programmes électroniques, vous devez apprendre à les utiliser.

Les broches GPIO permettent d’ajouter des extensions sur un Raspberry Pi, que ce soit avec des HAT ou des circuits électroniques plus complexes. Le moyen le plus simple de les utiliser est de créer des scripts Python, ou d’utiliser Scratch.

Dans ce guide du débutant, je vais vraiment commencer par les bases, pour les personnes qui n’ont jamais essayé les broches GPIO. Si vous avez déjà effectué des essais, vous pouvez utiliser le tableau de contenu ci-dessous pour accéder directement au paragraphe qui vous intéresse. 

Vous aurez besoin de quelques éléments pour terminer ce tutoriel. Si vous n’avez encore rien, jeter un œil à cet excellent kit de Sunfounder sur Amazon. C’est peut-être un peu trop pour ce tutoriel, mais cela en vaut la peine sur le long terme, car vous posséderez tout le nécessaire pour vos premiers projets.

Principes de base des broches GPIO

Téléchargez mon antisèche !
Toute la syntaxe Python indispensable à connaitre (1 page au format PDF).

Commençons par les bases.

Que sont les broches GPIO ?

GPIO signifie « General Purpose Input/Output » (entrée/sortie à usage général)
Ce sont les 40 broches que vous pouvez voir sur le Raspberry Pi, près du bord de la carte :

Le but des broches GPIO est d’ajouter des extensions à votre Raspberry Pi. Par exemple, la plupart des HAT Raspberry Pi utilisent ces broches pour se connecter au Raspberry Pi ( vous pouvez trouver ici mes recommandations de HAT Raspberry Pi si vous souhaitez en essayer un). Vous pouvez également créer votre propre circuit électronique en utilisant ces broches GPIO avec des câbles, des LED et d’autres composants. Nous verrons cela plus tard.

Brochage GPIO

Comme vous l’avez peut-être deviné, chaque broche a un rôle spécifique et vous ne pouvez l’utiliser que pour ce rôle.
Certaines d’entre elles sont des entrées/sorties, de l’alimentation (3,3 V ou 5 V) ou la masse (GND).
Certaines broches ont des fonctions encore plus complexes que nous verrons plus tard.
Il est donc important de savoir « qui fait quoi ».

Voici une illustration:

Le site pinout.xyz est très utile pour ça.
Il vous donne la disposition exacte et le rôle de chaque broche.

Si vous ne l’avez pas obtenu avec votre kit, je vous recommande d’imprimer cette image pour l’utiliser plus tard.

Configuration du Raspberry Pi

Avant de commencer la pratique les broches GPIO, nous devons faire quelques vérifications sur le Raspberry Pi pour nous assurer que tout est prêt :

  • Commencez par mettre à jour votre système
    sudo apt update sudo apt upgrade
  • Installez le package rpi.gpio
    sudo apt install rpi.gpio
  • Activer les protocoles I2C et SPI dans raspi-config
    Vous n’en avez pas besoin dans ce tutoriel, vous pouvez donc ignorer cette étape.
    Mais si vous allez plus loin et expérimentez, cela peut vous faire gagner du temps, car personne ne l’explique 🙂
    sudo raspi-config
    Allez dans  » Interface Options  » (Options d’interface)
    et activez les protocoles I2C et SPI dans chaque sous-menu.

Les broches I2C et SPI sont des broches GPIO spécifiques.
Vous pouvez en avoir besoin avec certains modules qui communique par ces protocoles (un écran comme celui-ci par exemple).

Matériel requis

Voici le matériel recommandé dont vous avez besoin pour suivre le reste de ce tutoriel (liens Amazon) :

Ces composants seront utiles pour de nombreux projets plus tard, c’est une longue liste de choses dont vous avez besoin pour commencer, mais vous les utiliserez très souvent par la suite 🙂

Voilà, une fois que tout est prêt, vous pouvez passer à la partie suivante.

Maîtrisez Raspberry Pi en 30 jours
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Utilisation d’une platine d’essais

Commençons par la platine d’essais (« breadboard » en anglais).
Si c’est la première fois que vous l’utilisez, vous aurez peut-être du mal à comprendre comment cela fonctionne.

Installation de la platine

Si vous utilisez le kit que j’ai recommandé ci-dessus, la première étape consiste à l’installer dans le boîtier en plastique bleu.
Généralement, vous devez le coller dans le grand espace et visser le Raspberry Pi à l’emplacement correspondant.

À ce stade, votre kit doit ressembler à ceci:

Ne branchez pas le câble d’alimentation du Raspberry Pi pour le moment.

Schéma de la platine

Avant d’aller plus loin, vous devez comprendre comment fonctionne une platine d’essais.
Chaque trou est une connexion que vous pouvez utiliser pour brancher quelque chose.

Entrée d’alimentation

Sur les bords de la platine, il y a deux lignes:

  • La ligne rouge correspond à l’alimentation positive (+)
  • La ligne bleue est pour le négatif (GND)

Chaque port est connecté avec toutes les broches de la même colonne.

Attention, avec certaines platines d’essais (comme la mienne), il y a une séparation au milieu, vous pouvez voir un écart dans la ligne rouge par exemple.
Si vous connecter un élément sur l’alimentation vers la colonne 0, cela ne sera pas relié à la colonne 50.

Les autres points de connexion

Les autres points de connexion au centre de la platine sont utilisés pour tout le reste (LED, résistances, modules).
Dites-vous « qu’un fil conducteur les relie en colonnes ».
Si vous prenez un numéro de colonne sur la carte, chaque points de connexion de cette colonne est relié aux autres de cette même colonne .

Schéma

Ce sera plus clair avec cette image:

J’ai représenté un exemple de colonne et de ligne où les points de connexion sont connectés entre eux.

Le carré rouge correspond à une ligne d’alimentation.
Il y a quatre lignes de ce type sur le tableau.
Si vous connectez une alimention sur la zone rouge par exemple, vous pouvez utiliser cette alimentation à partir de n’importe quelle autre connexion de la zone rouge.

Pour les connexions à la masse (GND), c’est la même chose (zone bleu).

La zone verte représente une colonne et comment les points de connexions sont connectés entre eux. C’est la même chose pour chaque colonne, des deux côtés de la ligne médiane.

Si besoin, voici un schéma complet:

Initiation au Raspberry Pi
10% de remise aujourd'hui !
Visionnez ma formation vidéo pour démarrer du bon pied.
Découvrez le Raspberry Pi, le matériel, ses logiciels particuliers et créez vos 5 premiers projets avec moi.

Votre premier circuit: faites clignoter une LED !

Ok, c’est la fin de la partie théorique et le début de votre premier tutoriel de câblage.
Entraînons-nous 🙂

Configuration de la platine d’essais

Comme toujours, commencez à placer les composants sans qu’une source d’alimentation ne soit reliée. 

Pour commencer, vous avez besoin de:

  • 1x LED
  • 2x fils jumper mâle / femelle
  • 1x résistance

Prenez les deux fils et placez-les comme ceci:

  • Un partant d’une broche de masse du Raspberry Pi (par exemple, le troisième de la deuxième rangée, broche 6)
  • L’autre d’une broche d’entrée / sortie (par exemple, le quatrième de la première rangée, broche 7)

Vous avez maintenant deux câbles, connectés d’un seul côté chacun.
De l’autre côté, vous devez les connecter à la platine.

Branchez le fil de masse à la ligne de masse de la platine d’essai (sur n’importe quel emplacement de la ligne).
Branchez l’autre câble dans une colonne de la platine (n’importe où).

Ça devrait ressembler à ça:

Placez ensuite la résistance entre la ligne de masse et une deuxième colonne proche de l’autre fil.
Et enfin placez une LED avec une broche sur chaque colonne, la plus courte dans la colonne de la résistance.

Quelque chose comme ça :

Oui, je sais, ma résistance semble avoir passée un mauvais quart d’heure 🙂

Vous pouvez maintenant démarrer le Raspberry Pi et vous connectez par SSH (ou utiliser l’interface graphique directement si vous préférez) pour créer le script Python.
Dès que le Raspberry Pi est allumé, évitez de toucher le circuit.

Téléchargez mon antisèche !
Toute la syntaxe Python indispensable à connaitre (1 page au format PDF).

Script Python

Le premier script que nous allons écrire fera en sorte d’allumer la LED pour vérifier que tout fonctionne.
Pour ce faire, Raspberry Pi OS inclut déjà toutes les bibliothèques dont vous avez besoin.

  • Dans un terminal, ou avec votre éditeur de code préféré, créez un nouveau fichier python:
    nano led_on.py
  • Collez ces lignes à l’intérieur:
    #import libraries
    import RPi.GPIO as GPIO
    import time

    #Initialisation
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)

    #On utilise une variable avec le numéro du PIN
    #Si vous avez suivi mes images, c'est le port 7 => BCM 4

    led = 4
    #Initialisation de la broche
    GPIO.setup(led,GPIO.OUT)

    #Allumer la LED
    print "LED allumée"
    GPIO.output(led,1)

    #Attendre 5s
    time.sleep(5)

    #Eteindre la LED
    print "LED éteinte"
    GPIO.output(led,0)

    J’ai tout commenté, donc ça devrait être clair.
    Le seul piège est le numéro de broche à utiliser dans la variable LED.
    Vous pouvez avoir une numérotation différente sur votre kit ou l’autocollant de votre platine d’essais, mais vous devez utiliser le numéro BCM de pinout.xyz
  • Enregistrez et quittez (CTRL+X)
  • Exécutez le script avec la commande suivante :
    python led_on.py

La LED s’allumera pendant 5 secondes, puis s’éteindra.
Sinon, revérifiez chaque étape précédente pour vérifier ce que vous avez manqué.
Si votre circuit semble bon, vérifiez la direction de la LED, il y a un côté + et – (Anode et Cathode).

Au passage, si vous vous sentez dépassé dès que Python est nécessaire pour un projet, je vous conseille de télécharger mon e-book « Maîtrisez Python on Raspberry Pi« . Il vous guidera pas à pas pour apprendre les concepts essentiels (et uniquement ceux-là) pour réaliser n’importe quel projet à l’avenir. Un Raspberry Pi sans Python, c’est comme une voiture sans moteur, vous ratez le plus intéressant ;-).
Profitez de 10 % de réduction en le téléchargeant dès aujourd’hui !

Maîtrisez Python sur Raspberry Pi
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Envie d'aller un peu plus loin que faire clignoter une LED ? Vous avez besoin de ce livre pour passer à des projets plus avancés.

Conclusion

Voilà, vous avez maintenant appris les bases des broches GPIO et le fonctionnement de la platine d’essais.
Vous êtes capable de construire des circuits de base et vous êtes prêt pour le niveau suivant 🙂


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

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

"Maitrisez Python sur Raspberry Pi" est enfin disponible en français (10% de réduction cette semaine)

X