Si vous possédez un Raspberry Pi ou un autre ordinateur de bricolage similaire, vous avez peut-être remarqué qu’il possède une fonction GPIO (General-Purpose Input-Output). La plupart des utilisateurs n’utiliseront jamais GPIO, mais si vous voulez construire des choses, GPIO est essentiel.
GPIO est un ensemble de broches
Au niveau le plus élémentaire, GPIO fait référence à un ensemble de broches sur la carte mère ou la carte d’extension de votre ordinateur. Ces broches peuvent envoyer ou recevoir des signaux électriques, mais elles ne sont pas conçues pour un usage spécifique. C’est pourquoi on les appelle des entrées/sorties « à usage général ».
Ceci est différent des normes de port communes telles que l’USB ou le DVI. Avec ces câbles, chaque broche câblée à l’intérieur de la connexion a un but précis, qui est déterminé par l’organe directeur qui a créé la norme.
Avec GPIO, vous êtes responsable de la fonction de chaque broche. Bien qu’il existe toujours différents types de broches sur la matrice GPIO.
En utilisant à nouveau le Raspberry Pi comme exemple, vous trouverez quelques types de broches :
Les broches qui fournissent une alimentation à des tensions typiques telles que 3,3V ou 5V. Elles servent à alimenter les périphériques connectés qui ne disposent pas de leur propre source d'alimentation, comme une simple LED.
Les broches de masse qui ne fournissent pas d'alimentation, mais qui sont nécessaires pour compléter certains circuits.
Les broches GPIO, qui peuvent être configurées pour envoyer ou recevoir des signaux électriques.
Des broches à usage spécial, qui varient en fonction du GPIO en question.
Les implémentations GPIO peuvent varier dans les détails exacts en fonction de chaque appareil, mais l’idée est toujours de permettre aux utilisateurs de recevoir ou d’envoyer un signal électrique à presque tout.
À quoi sert le GPIO ?
L’utilisation la plus courante de GPIO consiste à faire fonctionner des appareils électroniques personnalisés. Que vous construisiez votre propre bras de robot ou une station météo de bricolage, une interface GPIO vous permet de personnaliser les signaux afin qu’ils fassent fonctionner votre équipement correctement.
Les interfaces GPIO sont généralement utilisées en conjonction avec une « planche à pain ». Les planches à pain sont un type de circuit imprimé temporaire. Vous pouvez prototyper des circuits en ajoutant, retirant ou déplaçant des composants électroniques. Dans de nombreux projets impliquant des appareils tels que le Raspberry Pi, vous devez assembler votre appareil sur une planche à pain, puis le connecter aux broches GPIO à l’aide de fils.
Certains kits Raspberry Pi avancés sont équipés d’une planche d’essai intégrée, comme le CrowPi 2 Laptop, qui comprend à la fois un Raspberry Pi et plus de capteurs qu’il n’en faut.
L’un des projets GPIO les plus simples pour les ordinateurs Raspberry Pi consiste à ajouter un simple bouton d’alimentation, dont la carte standard est dépourvue.
Le microcontrôleur Arduino est un autre appareil populaire doté de GPIO. Il ne s’agit pas d’un ordinateur complet comme un Raspberry Pi, mais plutôt d’un dispositif conçu pour être programmé spécifiquement pour contrôler d’autres équipements. Par exemple, vous pouvez brancher un capteur de lumière à un Arduino et le programmer pour qu’il allume les lumières de votre jardin lorsque le soleil se couche. Les Arduinos ont joué un rôle essentiel dans l’ouverture du monde de la robotique et de l’invention à des personnes qui n’auraient pas eu les moyens de se lancer dans l’ingénierie et la programmation.
La Fondation Raspberry Pi a son propre concurrent Arduino, sous la forme du Pico à 4 $. Le Pico comporte 30 broches GPIO, dont certaines peuvent traiter des signaux analogiques, plutôt que les impulsions numériques qui sont plus courantes.
Comment utiliser GPIO
Outre la connexion de vos broches GPIO aux bonnes connexions sur votre carte de circuit imprimé ou vos périphériques externes, votre ordinateur ou votre microcontrôleur doit savoir quoi envoyer sur ces fils ou comment comprendre les signaux qui entrent dans l’interface GPIO.
Cela signifie que vous avez besoin d’un logiciel, que vous devez le plus souvent écrire ! Sur les systèmes Raspberry Pi, il est courant d’écrire un logiciel en Python qui peut indiquer au contrôleur GPIO ce qu’il doit envoyer ou écouter les signaux qui arrivent. Après tout, « Pi » fait référence à Python !
Python en particulier possède deux modules connus sous le nom de Rpi.GPIO et Gpiozero. En invoquant ces modules, vous pouvez prendre le contrôle du système GPIO et le faire fonctionner à votre guise.
Les microcontrôleurs Arduino possèdent leur propre langage de programmation, ce qui rend le montage de projets particulièrement facile. Mais vous pouvez également utiliser une version spéciale de Python, appelée MicroPython.
Les dangers de GPIO
Lorsque vous branchez un périphérique USB sur un port USB, à l’aide d’un câble USB certifié, il n’y a pratiquement aucune chance que quelque chose se passe mal. En effet, ces normes d’entrée/sortie ont été soigneusement conçues, testées, puis testées à nouveau pour s’assurer qu’elles sont sûres.
Lorsqu’il s’agit de GPIO, la responsabilité vous incombe. C’est vous qui concevez votre interface et vos circuits. Si vous court-circuitez des broches, alimentez des éléments qui ne devraient pas l’être ou jouez avec vos circuits et vos connexions, vous risquez de vous retrouver avec un tas de composants (et de cartes GPIO) morts.
C’est pourquoi il est préférable d’investir dans un bon kit Raspberry Pi, car il est souvent fourni avec le matériel dont vous avez besoin et des projets pratiques pour que vous puissiez apprendre les ficelles du métier en toute sécurité.