Le Raspberry Pi est un petit ordinateur bon marché et capable d'effectuer un large éventail de tâches, y compris les jeux rétro et le fait d'être un centre multimédia domestique. Le Pi met également l'accent sur l'éducation, avec les éditions Scratch et Minecraft Pi destinées à aider les jeunes à apprendre à coder, et les broches GPIO (Entrée/Sortie à usage général ) ouvrent tout un monde de bricolage électronique et d'invention.
Dans cet article, nous vous dirons tout ce que vous devez savoir sur les broches GPIO du Pi :ce qu'elles peuvent faire, comment les utiliser et les erreurs à éviter lors de leur utilisation.
Une note avant de commencer :Différentes révisions du Pi peuvent varier avec leurs broches ! Avant de fixer quoi que ce soit à votre tableau, assurez-vous que vous utilisez les bons. Un moyen rapide de vérifier est de taper pinout dans le terminal de votre Raspberry Pi, ce qui affichera un diagramme de votre configuration actuelle.
Les broches GPIO sont intégrées au circuit imprimé de l'ordinateur. Leur comportement peut être contrôlé par l'utilisateur pour leur permettre de lire les données des capteurs et de contrôler les composants tels que les LED, les moteurs et les écrans. Les anciens modèles du Pi avaient 26 broches GPIO, tandis que les modèles plus récents en ont tous 40. Ce tableau montre ce que fait chaque broche :
Dans le diagramme étiqueté ci-dessus, vous pouvez voir qu'il existe différents types de broches GPIO qui servent à des fins différentes. Vous pouvez trouver une version interactive de ce tableau sur pinout.xyz. Il décrit également l'une des premières choses déroutantes auxquelles vous devrez faire face. Chaque broche a deux numéros qui lui sont attachés. Son BOARD numéro (les chiffres dans le cercle) et son BCM (canal Broadcom SOC). Vous pouvez choisir la convention à utiliser lorsque vous écrivez votre code Python :
# 1 - Numérotation GPIO/BCM
GPIO.setmode(GPIO.BCM)
# 2 - Numérotation des cartes
GPIO.setmode(GPIO.BOARD)
Vous ne pouvez utiliser qu'une seule convention dans chaque projet, alors choisissez-en une et respectez-la. Aucune des deux conventions n'est "correcte", alors choisissez celle qui vous convient le mieux. Il convient toutefois de noter que certains périphériques reposent sur la numérotation GPIO/BCM.
Pour cet article, nous nous en tiendrons à BOARD numérotage. Alors, que font réellement les broches ?
Commençons par les broches d'alimentation. Le Raspberry Pi peut fournir à la fois une alimentation de 5 V (broches 2 et 4) et de 3,3 V (broches 1 et 17). Il fournit également une terre (GND) pour les circuits sur les broches 6, 9, 14, 20, 25, 30, 34 et 39.
Malheureusement, il n'y a pas de réponse unique à la quantité de courant que les broches d'alimentation 5v peuvent tirer car elle dépend de l'alimentation que vous utilisez et des autres composants que vous avez connectés à votre Pi. Le Raspberry Pi 3 ne tirera que 2,5 A de son alimentation et nécessite environ 750 mA pour le démarrage et le fonctionnement normal sans tête. Cela signifie que si vous utilisez une alimentation 2,5 A, les broches 5 V peuvent fournir un courant total d'environ 1,7 A maximum. Malheureusement, cela varie d'un modèle de Pi à l'autre, comme le montre ce tableau :
Pour la plupart des utilisateurs débutants avec le Pi, ce ne sera pas un problème, mais c'est quelque chose à garder à l'esprit lorsque vous passez plus de temps avec les broches GPIO.
Les broches 3,3 v sont un peu plus simples, les révisions récentes de Raspberry Pi (modèle B+ et ultérieur) fournissant jusqu'à 500 mA au total, et les modèles plus anciens ne fournissant que 50 mA . Notez que ce courant est également partagé par toutes les autres broches GPIO !
Ces broches peuvent donc alimenter vos composants, mais c'est tout ce qu'elles font. Le vrai truc amusant vient du reste des épingles.
Sur le tableau ci-dessus, en ignorant les broches d'alimentation, vous verrez que certaines sont marquées de différentes couleurs. Les broches vertes sont des broches GPIO standard, et ce sont celles que vous utiliserez pour la plupart des projets débutants. Ces broches sont capables d'une sortie de 3,3 v , également appelé réglage de la broche HIGH dans du code. Lorsqu'une broche de sortie est LOW cela signifie qu'il fournit simplement 0v.
Ils sont également capables de prendre une entrée jusqu'à 3,3 v, ce que la broche lit comme ÉLEVÉ .
Ne fournissez pas aux broches une tension supérieure à 3,3 v : c'est un moyen rapide de faire frire votre Pi !
Pour un excellent guide pour commencer à utiliser les broches GPIO dans un projet simple, essayez notre projet Premiers pas avec Raspberry Pi GPIO.
Bien que nous couvrons certaines des broches avec des utilisations spéciales dans cet article, vous pouvez utiliser n'importe quelles broches sauf les broches d'alimentation et les broches 27 et 28 comme broches GPIO normales.
PWM (modulation de largeur d'impulsion) est utilisé avec des composants tels que des moteurs, des servos et des LED en envoyant de courtes impulsions pour contrôler la quantité d'énergie qu'ils reçoivent. Nous l'avons utilisé avec un Arduino dans notre tutoriel Ultimate Guide to LED Strips.
PWM est également possible sur le Pi. La broche 12 (GPIO 18) et la broche 35 (GPIO 35) sont compatibles PWM matériel, bien que le Pi soit également capable de fournir un PWM logiciel via des bibliothèques telles que pigpio.
Pour une introduction au code requis pour PWM, ce tutoriel simple sur la luminosité des LED devrait vous aider à démarrer.
Les broches 8 et 10 (GPIO 14 et 15) sont des broches UART, conçues pour communiquer avec le Pi à l'aide du port série. Il y a certaines situations où vous voudrez peut-être le faire, mais pour la plupart des débutants, se connecter à votre Pi sans tête via SSH ou en utilisant un VNC sera probablement plus facile.
Si vous êtes intéressé par une vue détaillée du fonctionnement des broches série, ceci est une excellente introduction.
SPI (bus d'interface périphérique série) est une méthode de communication avec des appareils comme le lecteur RFID que nous avons utilisé dans notre projet DIY Smart Lock avec Arduino et RFID.
Il permet aux appareils de communiquer avec le Raspberry Pi de manière synchrone, ce qui signifie que beaucoup plus de données peuvent passer entre le maître et esclave dispositifs. Si vous avez déjà utilisé un petit écran tactile pour votre Pi, voici comment ils communiquaient.
Il existe divers appareils et HAT d'extension pour le Raspberry Pi qui utilisent SPI, et cela peut ouvrir vos projets à beaucoup plus de matériel que les broches GPIO habituelles ne peuvent supporter. Cependant, il nécessite beaucoup de câblage pour le faire fonctionner. Il y a un aperçu détaillé de SPI sur le site Web de la fondation Raspberry Pi.
Broches 19, 21, 23, 24, 25 et 26 (GPIO 10, 9, 11, 8, GND et GPIO 26) sont utilisés pour se connecter à un appareil SPI, et ils sont tous nécessaires pour un fonctionnement fluide. Un bon moyen d'éviter tous les spaghettis est d'acheter une extension préfabriquée telle que le Sense HAT, qui s'adapte sur le dessus de votre carte et lui fournit une matrice de LED et un large éventail de capteurs. C'est un favori depuis plusieurs années maintenant, et a même été utilisé sur la Station Spatiale Internationale pour faire des expériences !
Le protocole SPI n'est pas activé en standard sur Raspbian, mais il peut être activé dans le fichier raspi-config, avec I2C.
I2C (circuit inter-intégré) est similaire à SPI, mais est généralement considéré comme plus facile à configurer et à utiliser. Il communique de manière asynchrone et est capable de supporter autant de dispositifs différents que nécessaire à condition qu'ils aient chacun des adresses uniques sur le bus I2C. En raison de ce système d'adressage, le Pi n'a besoin que de deux broches I2C --- la broche 3 (GPIO 2) et la broche 5 (GPIO 3), ce qui le rend beaucoup plus simple à utiliser que SPI.
Le faible encombrement d'I2C ouvre un large éventail de possibilités. Avec des broches GPIO standard, la configuration d'un écran LCD et de certains boutons occuperait presque toutes les broches, l'utilisation d'un périphérique I2C tel que le contrôleur Adafruit Negative LCD le ramène à seulement deux broches !
Sparkfun propose un aperçu complet de SPI et I2C ainsi que des exemples pour vous aider à démarrer.
Les broches 27 et 28 (marquées ID_SD et ID_SC) sont également I2C. Ils sont utilisés par le Pi pour les fonctions internes, ainsi que certaines cartes HAT. En règle générale, ne jouez pas avec eux à moins que vous ne soyez vraiment sachez ce que vous faites !
Le Raspberry Pi est le couteau suisse de l'informatique moderne. En plus d'une énorme quantité d'utilisations quotidiennes impressionnantes, il ouvre également à quiconque la possibilité de créer ses propres créations sympas.
De nombreux projets pour débutants Raspberry Pi utilisent les protocoles décrits dans cet article, et une approche pratique est la meilleure façon d'apprendre. Continuez à bricoler et amusez-vous !