Ateliers nomades #Do It Yourself

Les ports GPIO

 

 

Raspberry Pi : Les ports General Purpose Input Output

Les ports GPIO de la raspberry pi
 
Les ports G.P.I.O pour General Purpose Input Output. 
 
En français cela pourrait donner ports dont le but est de gérer les Entrées et les Sorties. 
 
Les ports GPIO sont des ports physiques se présentant généralement sous forme de picots métalliques carrés qui permettent de transmettre un signal électrique.
 
Un port GPIO transmet un signal relativement binaire (pas de courant ou du courant). Dans le cas de la Raspberry Pi, les ports GPIO travaillent en 3.3 V et environ 20 mA.
 
Les ports GPIO sont donc un moyen simple de communiquer ou de contrôler des composants physiques. 
Donc si on reprends les ports GPIO du Raspberry PI vont nous servir à envoyer du courant (et du coup des informations) à nos composants (les Sorties) et récupérer du courant (et des informations) de ceux-ci (les Entrées). CQFD :).  
 
Les modèles les plus récents de la Raspberry Pi disposent de 40 connectiques GPIO, qui se divisent en différentes catégories avec des usages spécifiques. 
 
  • Power + : Alimentation électrique continue
  • GND : Ground = Retour à la terre
  • GPIO : Port général qui peut éventuellement être transformé en I2C ou SPI.

Il y a d’autre utilisation mais ce sera l’objet d’un autre article. 

 
Les ports GPIO sont numérotés de 1 à 40, en partant du haut à gauche quand vous tenez la Raspberry pi ports GPIO à droite. 
 
C’est le mode de numérotation dit « Board ». Un autre mode de numérotation existe, qui repose sur l’adressage processeur, appelé mode « BCM ».
 
Dans le cadre de nos ateliers nous allons uniquement utiliser les ports de type GPIO et GND et la numérotation « Board »

Voici une image représentant la numération des ports GPIO.

Image non disponibleOn peut remarquer que certains ports sont dédiés à l’alimentation ou à la masse et les autres sont accessibles. 
 
Ci-dessous un exemple d’utilisation des ports GPIO pour allumer et éteindre une LED. 
 
 
Afin de contrôler les ports GPIO nous allons utiliser lors des ateliers, le langage Python. 
 
Et nous allons utiliser le module RPI.GPIO qui nous donne un ensemble de fonctions/instructions pour commander les ports GPIO. 
 
Pour utiliser le module GPIO dans nos programme python, on doit importer (charger) le module. Un peu comme quand on installe une application sur son téléphone portable.
 
On peut le faire via la commande :
 
import  RPIO.GPIO as GPIO (on importe le module et on le nomme GPIO. On pourrait l’appeler Wesh ou Prout ^^)
 
Les principales commandes que nous allons utiliser sont les suivantes :
GPIO.setmode(GPIO.BOARD)

Afin de mettre la Raspberry Pi dans le mode de numération Board.

On peut vérifier la configuration du Raspberry grâce à la fonction getmode().

configuration = GPIO.getmode()
print(configuration)

Afin de configurer un port GPIO en entrée ou sortie, en connaissant son numéro, on peut utiliser la fonction setup() comme ce qui suit :

GPIO.setup(12, GPIO.IN) # On configure le port 12 en entrée numérique 
GPIO.setup(12, GPIO.OUT)# On configure le port 12 en sortie numérique

 

Lorsque le port est configuré entrée numérique pour connaître l’état de l’entrée on utilise la fonction input() comme ce qui suit.

GPIO.input(12) 

Lorsque le port est configuré sortie numérique pour connaître l’état de la sortie (courant ou non)  on utilise la fonction outut() comme ce qui suit.

GPIO.output(12, GPIO.LOW) #Et je coupe le son... le courant
GPIO.output(12, GPIO.HIGH) #Et je remet le son... euh le courant :) 

Il existe d’autres fonctions et d’autres usages des fonctions vues jusqu’à présent. 

Mais ce sera l’objet d’un autre article. 

En attendant #GoogleEstTonAmi

Mentions Légales

CGVU

06.17.75.36.61

christophe@leprofnomade.fr

© 2019 LeProfNomade