La meilleure chose à propos de n’importe quel Raspberry Pi, y compris le Raspberry Pi 4, est que vous pouvez l’utiliser pour construire toutes sortes d’engins impressionnants, des robots aux consoles de jeux rétro et aux détecteurs de pets. La plupart des capteurs, moteurs, lumières et autres périphériques qui rendent ces projets possibles se connectent à l’ensemble de broches GPIO (General Purpose Input Output) du Pi. Ces broches offrent une connexion directe au système sur puce (SoC) au cœur du Pi, permettant au Pi de communiquer avec des composants externes et des modules complémentaires connus sous le nom de HAT (Hardware Attached on Top). Chaque modèle Pi depuis le Raspberry Pi B+ en 2014 a eu 40 broches GPIO, bien que sur les Pi Zero et Zero 2 W, vous avez 40 trous dans lesquels vous pouvez souder des broches ou des fils. Si vous n’avez pas de fer à souder, n’ayez crainte, nous avons une liste des meilleurs fers à souder parmi lesquels vous pouvez choisir.
Ce guide a été mis à jour pour refléter les nouvelles capacités du Raspberry Pi 4, qui est toujours livré avec 40 broches GPIO, mais dispose de quelques connexions I2C, SPI et UART supplémentaires disponibles.
Peu importe ce que vous construisez, vous devez connaître le brochage GPIO du Raspberry Pi, la carte et l’explication de ce que chaque broche peut faire. Alors que certaines broches fournissent des tensions et de la logique, d’autres sont des masses et d’autres encore se connectent à différents types d’interfaces, que nous expliquons ci-dessous.
Broches d’entrée/sortie à usage général (GPIO)
Le GPIO est l’aspect le plus basique, mais accessible, du Raspberry Pi. Les broches GPIO sont numériques, ce qui signifie qu’elles peuvent avoir deux états, éteint ou allumé. Ils peuvent avoir une direction pour recevoir ou envoyer du courant (entrée, sortie respectivement) et nous pouvons contrôler l’état et la direction des broches à l’aide de langages de programmation tels que Python, JavaScript, node-RED, etc.
La tension de fonctionnement des broches GPIO est de 3,3 V avec une consommation de courant maximale de 16 mA. Cela signifie que nous pouvons alimenter en toute sécurité une ou deux LED (diodes électroluminescentes) à partir d’une seule broche GPIO, via une résistance (voir les codes de couleur des résistances). Mais pour tout ce qui nécessite plus de courant, un moteur à courant continu par exemple, nous devrons utiliser des composants externes pour nous assurer de ne pas endommager le GPIO.
Le contrôle d’une broche GPIO avec Python est accompli en important d’abord une bibliothèque de code pré-écrit. La bibliothèque la plus courante est RPi.GPIO et elle a été utilisée pour créer des milliers de projets depuis les débuts du Raspberry Pi. Plus récemment, une nouvelle bibliothèque appelée GPIO Zero a été introduite, offrant une entrée plus facile pour ceux qui découvrent Python et l’électronique de base. Ces deux bibliothèques sont préinstallées avec Raspberry Pi OS.
Les broches GPIO ont plusieurs noms ; la première référence la plus évidente est leur emplacement « physique » sur le GPIO. En commençant en haut à gauche du GPIO, et par là nous entendons la broche la plus proche de l’endroit où la carte micro SD est insérée, nous avons la broche physique 1 qui fournit une alimentation 3v3. À droite de cette broche se trouve la broche physique 2 qui fournit une alimentation de 5 V. Les numéros de broches augmentent ensuite au fur et à mesure que nous descendons dans chaque colonne, la broche 1 allant à la broche 3, 5, 7, etc. jusqu’à ce que nous atteignions la broche 39. Vous verrez rapidement que chaque broche de 1 à 39 dans cette colonne suit une séquence de nombres impairs. Et pour la colonne commençant par la broche 2, il ira 4,6,8 etc jusqu’à ce qu’il atteigne 40. Suite à une séquence de nombres pairs. La numérotation physique des broches est le moyen le plus simple de localiser une broche, mais de nombreux didacticiels écrits pour le Raspberry Pi suivent une séquence de numérotation différente.
La numérotation des broches Broadcom (BCM) (ou numérotation des broches GPIO) semble être chaotique pour l’utilisateur moyen. Avec GPIO17, 22 et 27 se succèdent sans se soucier de la numérotation logique. Le mappage des broches BCM fait référence aux broches GPIO qui ont été directement connectées au système sur puce (SoC) du Raspberry Pi. Essentiellement, nous avons des liens directs avec le cerveau de notre Pi pour connecter des capteurs et des composants à utiliser dans nos projets.
Vous verrez la majorité des didacticiels Raspberry Pi utilisant cette référence et c’est parce qu’il s’agit du schéma de numérotation des broches officiellement pris en charge par la Fondation Raspberry Pi. Il est donc préférable de commencer à utiliser et à apprendre le schéma de numérotation des broches du BCM, car il deviendra une seconde nature pour vous au fil du temps. Notez également que la numérotation des broches BCM et GPIO fait référence au même schéma. Ainsi, par exemple, GPIO17 est identique à BCM17.
Certaines broches GPIO ont également des fonctions alternatives qui leur permettent de s’interfacer avec différents types d’appareils utilisant les protocoles I2C, SPI ou UART. Par exemple, GPIO3 et GPIO 4 sont également des broches SDA et SCL I2C utilisées pour connecter des appareils utilisant le protocole I2C. Pour utiliser ces broches avec ces protocoles, nous devons activer les interfaces à l’aide de l’application Raspberry Pi Configuration trouvée dans le système d’exploitation Raspbian, menu Préférences.
I2C, SPI et UART : lequel utilisez-vous ?
Nous aborderons les différences spécifiques entre I2C, SPI et UART ci-dessous, mais si vous vous demandez lequel vous devez utiliser pour vous connecter à un appareil donné, la réponse courte est de vérifier la fiche technique. Par exemple, un petit écran LED peut nécessiter SPI et un autre peut utiliser I2C (presque rien n’utilise UART). Si vous lisez la documentation fournie avec un produit (à condition qu’il en ait), elle vous indiquera généralement les broches Pi à utiliser.
Pour les utilisateurs de Raspberry Pi 4, notez qu’il y a maintenant beaucoup plus de broches I2C, SPI et UART à votre disposition. Ces interfaces supplémentaires sont activées à l’aide de superpositions d’arborescence de périphériques et peuvent fournir quatre connexions SPI, I2C et UART supplémentaires.
I2C – Circuit inter-intégré
I2C est un protocole série à deux fils à faible vitesse pour connecter des appareils utilisant la norme I2C. Les appareils utilisant la norme I2C ont une relation maître-esclave. Il peut y avoir plus d’un maître, mais chaque périphérique esclave nécessite une adresse unique, obtenue par le fabricant auprès de NXP, anciennement connu sous le nom de Philips Semiconductors. Cela signifie que nous pouvons parler à plusieurs appareils sur une seule connexion I2C car chaque appareil est unique et détectable par l’utilisateur et l’ordinateur à l’aide de commandes Linux telles que i2cdetect.
Comme mentionné précédemment, I2C a deux connexions : SDA et SCL. Ils fonctionnent en envoyant des données vers et depuis la connexion SDA, la vitesse étant contrôlée via la broche SCL. I2C est un moyen rapide et facile d’ajouter à votre projet de nombreux composants différents, tels que des écrans LCD / OLED, des capteurs de température et des convertisseurs analogique-numérique à utiliser avec des photorésistances, etc. Bien qu’elles s’avèrent un peu plus difficiles à comprendre que les broches GPIO standard, les connaissances acquises grâce à l’apprentissage de l’I2C vous seront utiles car vous comprendrez comment connecter des capteurs de plus haute précision pour une utilisation sur le terrain.
Le Raspberry Pi a deux connexions I2C aux GPIO 2 et 3 (SDA et SCL) sont pour I2C0 (maître) et les broches physiques 27 et 28 sont des broches I2C qui permettent au Pi de parler à des cartes d’ajout compatibles HAT (Hardware Attached on Top) .
SPI – Interface périphérique série
SPI est un autre protocole permettant de connecter des appareils compatibles à votre Raspberry Pi. Il est similaire à I2C en ce sens qu’il existe une relation maître-esclave entre le Raspberry Pi et les appareils qui y sont connectés.
Généralement, SPI est utilisé pour envoyer des données sur de courtes distances entre des microcontrôleurs et des composants tels que des registres à décalage, des capteurs et même une carte SD. Les données sont synchronisées à l’aide d’une horloge (SCLK sur GPIO11) du maître (notre Pi) et les données sont envoyées du Pi à notre composant SPI à l’aide de la broche MOSI (GPIO GPIO10). MOSI signifie Master Out Slave In. Si le composant doit répondre à notre Pi, il renverra les données à l’aide de la broche MISO (GPIO9) qui signifie Master In Slave Out.
UART – Récepteur/émetteur asynchrone universel
Communément appelées « Serial », les broches UART (Transmit GPIO14, Receive GPIO15) fournissent une connexion console/terminal pour une configuration sans tête, ce qui signifie se connecter au Pi sans clavier ni dispositif de pointage. Normalement, le moyen le plus simple de configurer un Raspberry Pi sans tête consiste simplement à contrôler le Pi via un réseau ou une connexion USB directe (dans le cas de Pi Zero).
Mais, s’il n’y a pas de connexion réseau, vous pouvez également contrôler un Pi sans tête à l’aide d’un câble série ou d’une carte USB vers série à partir d’un ordinateur exécutant une console de terminal. UART est exceptionnellement fiable et permet d’accéder à un Pi sans avoir besoin d’équipement supplémentaire. N’oubliez pas d’activer la console série dans l’application de configuration Raspberry Pi. Il y a de fortes chances que vous ne vouliez pas faire cela, mais le support UART est là si vous en avez besoin.
Masse (masse)
Ground est communément appelé GND, gnd ou – mais ils signifient tous la même chose. GND est l’endroit où toutes les tensions peuvent être mesurées et il complète également un circuit électrique. C’est notre point zéro et en connectant un composant, tel qu’une LED à une source d’alimentation et à la terre, le composant devient une partie du circuit et le courant traversera la LED et produira de la lumière.
Lors de la construction de circuits, il est toujours sage d’effectuer vos connexions à la terre avant d’appliquer toute alimentation, car cela évitera tout problème avec les composants sensibles. Le Raspberry Pi a huit connexions de masse le long du GPIO et chacune de ces broches de masse se connecte à une seule connexion de masse. Ainsi, le choix de la broche de terre à utiliser est déterminé par les préférences personnelles ou la commodité lors de la connexion des composants.
5v
Les broches 5v donnent un accès direct à l’alimentation 5v provenant de votre adaptateur secteur, moins de puissance que celle utilisée par le Raspberry Pi lui-même. Un Pi peut être alimenté directement à partir de ces broches, et il peut également alimenter d’autres appareils 5v. Lorsque vous utilisez ces broches directement, soyez prudent et vérifiez vos tensions avant d’établir une connexion car elles contournent toutes les fonctions de sécurité, telles que le régulateur de tension et le fusible qui sont là pour protéger votre Pi. Si vous les contournez avec une tension plus élevée, vous pourriez rendre votre Pi inutilisable. Surtout si 5v et 3.3v sont connectés ensemble, oui nous l’avons fait une fois et savons que cela rend un Raspberry Pi mort en quelques secondes.
3v3
La broche 3v est là pour offrir une alimentation stable de 3,3v aux composants d’alimentation et pour tester les LED. En réalité, il sera rare que vous intégriez cette broche dans une construction, mais elle a une utilisation particulière. Lors de la connexion d’une LED au GPIO, nous devons d’abord nous assurer que la LED est correctement câblée et qu’elle s’allume. En connectant la longue jambe de la LED, l’anode à la broche 3,3 V via une résistance, et la jambe la plus courte, la cathode à l’une des broches de masse (gnd), nous pouvons vérifier que notre LED s’allume et fonctionne. Cela élimine un défaut matériel du projet et nous permet de commencer à construire notre projet en toute confiance.
PLUS: Raspberry Pi Comment faire
PLUS: Pourquoi chaque Tech Geek devrait posséder un Raspberry Pi
PLUS : Comment configurer un Raspberry Pi sans tête
PLUS: Plus de 25 commandes Linux que les utilisateurs de Raspberry Pi doivent connaître