Vous êtes sur la page 1sur 10

MODULE PYTHON POUR

LA MANIPULATION DE
LA RPI

Imene Sghaier

2017-2018
LE MODULE RPI.GPIO

 Le module RPi.GPIO est installé par défaut par


Raspbian. N’importe quel script RPi.GPIO doit
etre exécuté en tant que root.

Imene Sghaier-Programmation Python


IMPORTATION DU MODULE

 Pour importer le module RPi.GPIO :


import RPi.GPIO as GPIO
 Pour importer le module et vérifier si c’est fait
avec succès
try:
import RPi.GPIO as GPIO
except RuntimeError:
print("Error importing RPi.GPIO! Use sudo”)

Imene Sghaier-Programmation Python


NUMÉROTATION DE PINS
 Il y a deux méthodes de numérotation de pins selon le
module Rpi.GPIO:
 La première utilisant la numérotation de BOARD (celle de
la carte: numerotation physique).
 La seconde méthode de numérotation est nommée BCM.
Elle refère à la numérotation selon le SOC Broacom. Vous
utiliserez un diagram de mapping des pins. Votre code
risque de ne pas toujours fonctionner en changeant la
version de votre Rpi.
 Pour specifier quel mode vous utiliserez
GPIO.setmode(GPIO.BOARD) #ou bien
GPIO.setmode(GPIO.BCM)
 Pour detecter quel mode de numérotation est utilisé
vous pouvez faire
mode = GPIO.getmode()
=>le mode sera GPIO.BOARD, GPIO.BCM ou None 4

Imene Sghaier-Programmation Python


5

Imene Sghaier-Programmation Python


NUMÉROTATION DE PINS

 Pour utiliser la numérotation Wiring PI


http://raspi.tv/2013/how-to-use-wiringpi2-for-
python-on-the-raspberry-pi-in-raspbian

Imene Sghaier-Programmation Python


LES WARNINGS

 Il est possible que vous ayez plus qu’un seul cript


ou circuit qui s’éxécute sur les pins GPIO de votre
RPi. Comme résultat si le package RPi.GPIO
detecte qu’une broche a été configurée pour
quelque chose autre que celle par défaut (input),
vous aurez un warning quand vous essayez de
configurer votre script. Pour désactiver ce type de
warnings on fait :
GPIO.setwarnings(False)

Imene Sghaier-Programmation Python


CONFIGURATION DU SENS D’UTILISATION
D’UNE BROCHE
 Vous aurez besoin de faire un set up pour
chaque broche vous désirez utiliser en
entrée (input) ou en sortie (output). Pour
le faire:
GPIO.setup(numero, GPIO.IN)
 Pour configurer une broche en sortie :
GPIO.setup(channel, GPIO.OUT)
 On peut configurer plus d’une broche à la
fois et ce en utilisant par exemple une
liste ou un tuple:
pin_list = [11,12]
GPIO.setup(pin_list, GPIO.OUT) 8

Imene Sghaier-Programmation Python


LECTURE ET ÉCRITURE SUR UNE BROCHE GPIO
 Input
 Pour lire la valeur d’une pin GPIO on fait:
GPIO.input(num_pin)
 Ceci renvoie soit 0 / GPIO.LOW / False ou 1 /
GPIO.HIGH / True.
 Output
 Pour écrire sur une pin GPIO on fait:
GPIO.output(num_pin, etat)
 etat peut être égal à 0 / GPIO.LOW / False ou 1 /
GPIO.HIGH / True.

Imene Sghaier-Programmation Python


PWM
 Pour créer une instance PWM :
p = GPIO.PWM(pin, frequency)
 Pour commencer PWM:

p.start(dc)
# avec dc est le rapport cyclique (0.0 <= dc <= 100.0)
 Pour changer la fréquence

p.ChangeFrequency(freq)
#avec freq est la nouvelle frequence en Hz
 Pour changer le nouveau rapport cyclique:

p.ChangeDutyCycle(dc)
# avec 0.0 <= dc <= 100.0
 Pour ctopper PWM:
10
p.stop()
Imene Sghaier-Programmation Python