
Cet article donne un aperçu sur la manière de contrôler les GPIOs (General Purpose Input/Output, littéralement Entrée-sortie à usage général) sur Raspberry à travers les langages C et Python.
Langage C
En langage C, nous utilisons la librairie WiringPi pour gérer les entrées et sorties du Raspberry.
Installation :
sudo apt-get install wiringpi
Attention au mode de numérotation utilisé pour référencer les GPIOs
Voir ci-dessous la correspondance « Wpixx » à utiliser avec la librairie WiringPi

Faire clignoter une LED va revenir à exécuter le programme suivant
#include <stdio.h> #include <wiringPi.h> #define LED 0 // 0 = Wpi0 = GPio17 int main (void) { // Init printf("Raspberry hello Pi\n"); wiringPiSetup (); pinMode (LED, OUTPUT); for (;;) { digitalWrite (LED, HIGH); delay (500); digitalWrite (LED, LOW); delay (500); } return 0 ; }
Langage Python
Dans l’environnement Python, installer GPIO
pip install RPi.GPIO

Attention au mode de numérotation utilisé pour référencer les GPIOs. En Python nous avons 2 modes. Une préférence pour le mode BCM qui fait référence à la notation GPIOxx
- GPIO.setmode(GPIO.BOARD)
- GPIO.setmode(GPIO.BCM)
# Faire clignoter une LED branchée à la GPIO18 import RPi.GPIO as GPIO # bibliothèque pour utiliser les GPIO import time GPIO.setmode(GPIO.BCM) # mode de numérotation des pins GPIO.setup(18,GPIO.OUT) # GPIO18 est réglée en sortie (output) while True: GPIO.output(18,GPIO.HIGH) # sortie au niveau logique haut (3.3 V) time.sleep(1) # on ne change rien pendant 1 seconde GPIO.output(18,GPIO.LOW) # sortie au niveau logique bas (0 V) time.sleep(1) # on ne change rien pendant 1 seconde