Raspberry GPIO

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *