[Mise à jour le 7/7/2019]
Ces opérations sont décrites ci-dessous.
Les broches GPIO1) du Raspberry Pi 3 sont reliées à un connecteur 40 points. 26 broches GPIO sont accessibles (GPIO2 à GPIO27). Ce sont des entrées/sorties2) logiques capables de fournir ou de recevoir des signaux sous la forme de tensions (0 ou 3,3V). Certaines broches permettent de constituer un bus (I2C, SPI, UART).
Le module RPi.GPIO facilite l'accès aux GPIO en Python. Il est installé par défaut dans Raspbian. Pour effectuer une mise à jour, consulter ce lien.
Dans RPi.GPIO, il existe deux façons de numéroter les broches d'entrée / sortie dans un programme Python.
GPIO.setmode(GPIO.BOARD)
Exemple 1 : une LED est connectée à la broche 37 du connecteur
LED = 37 GPIO.setmode(GPIO.BOARD) # On précise que 37 est le numéro de la broche du connecteur GPIO.setup(LED,GPIO.OUT) # Cette broche doit se comporter comme une sortie
GPIO.setmode(GPIO.BCM)
Exemple 2 : une LED est connectée à la broche 37 du connecteur mais repéré par la fonctionnalité du SOC
LED = 26 GPIO.setmode(GPIO.BCM) # On précise que 26 est le numéro de canal du SOC GPIO.setup(LED,GPIO.OUT) # Cette broche doit se comporter comme une sortie
#!/usr/bin/python3 import Rpi.GPIO as GPIO print("vers : " + GPIO.VERSION) print(GPIO.RPI_INFO)
import RPi.GPIO as GPIO # module de gestion du GPIO import time #module de gestion du temps # Identification de la broche utilisée LED = 37 # Une LED est connectée sur la broche 37 GPIO.setmode(GPIO.BOARD) # Autre solution #LED = 26 #GPIO.setmode(GPIO.BCM) #Configuration de la broche en sortie GPIO.setup(LED,GPIO.OUT) while True: GPIO.output(LED,GPIO.HIGH) # Activation de la LED time.sleep(1) # Attente 1s GPIO.output(LED,GPIO.LOW) # Désactivation de la LED time.sleep(1)
PWM, Interruptions, I2C, SPI : Developper.com