I) Qu’est-ce que c’est et à quoi sert le GPIO Header ?
Soyons clair, voici les GPIO en image !
- Contrôle domotique, controlez une vraie lampe avec votre Raspberry !
- PiFM, émettre une musique sur une fréquence lisible par votre radio!
- Etc…
II) Comment se servir des GPIO ?
1.Installation des prérequis
Pour faire simple, en ce qui concerne les GPIO, le moyen le plus simple de les configurer, lire et écrire est d’utiliser le projet wiringPi. Il s’agit d’une bibliothèque très pratique qui fait l’unanimité sur les forums et cela est tout a fait justifié ! Biensur on pourrait s’en passer, mais cette bibliothèque vous fera gagner énormément de temps 🙂 Pour l’installer voici la démarche :sudo apt-get -y update sudo apt-get -y upgrade sudo apt-get -y install git-core git clone git://git.drogon.net/wiringPi cd wiringPi && ./buildUne fois ces commandes lancées et l’installation terminée, il vous suffira de tester si tout c’est bien passé en lançant la commande suivante :
gpio -vSi vous obtenez une réponse positive avec le numéro de la version, c’est gagné ! Passons à la pratique 🙂
2. Le matériel pratique
a. Les Jumpers
Pour vous servir des GPIO je vous conseille fortement de vous acheter des jumpers female/female ou male/female ça peut toujours être pratique ! (pour quelques € sur eBay par exemple !) De cette façon vous pourrez brancher vos jumpers à des circuit que vous aurez fait et vous amuser avec une plaquette de prototypage ! 🙂b. La Nappe IDE

Une nappe IDE dans ce genre par exemple (quelques € aussi) peut être assez pratique !
Toutefois, vous ne pouvez pas vous servir d’une nappe comme ça sur une plaque de prototypage, l’espacement des tiges est trop court pour y être inséré. En effet pour l’utiliser il vous faudra un adaptateur comme celui là par exemple.3. Vos premiers pas
C’est bien beau d’avoir acheté pleins de cables et d’avoir installer wiringPi.. Mais maintenant qu’est-ce qu’on fait ? On va d’abord apprendre à connaitre chaque port à l’aide de ce mémo (révision 2) très pratique :
- Autrement, il y a des pins rouge et noir, respectivement des pins 5V et des pins à la masse.
- Enfin les pins 3,3V, en orange. (sauf TxD et RxD)
- Les pins VERT sont ceux dont vous pourrez vous servir pour communiquer. Les autres sont réservés ! 🙂 Je vous le dis car j’ai mis un moment à comprendre ^^"
a. La première commande à connaitre est la suivante :
gpio readallCette commande donne le numéro WiringPi, GPIO et Physique de chaque pins ! Pour vous y retrouver avec tous ces pins. De plus vous pouvez y trouver le nom du gpio à ne pas confondre avec le numéro GPIO, le mode actuel de chaque pin et sa valeur ! Voici un exemple de ce que vous pouvez trouver si wiringPi ne subit pas trop de mises à jour !

b. Le mode IN
Ce mode permet d’introduire des informations au Raspberry, des 0 ou des 1 fonction de la tension à ses bornes ! Pour configurer un pin en mode IN, lancez la commande suivante :gpio mode inOù <n> est à remplacer par le port WiringPi Pour lire la valeur du pin lancez la commande suivante :
gpio readNote sur les tensions de seuils : On peut se demander dans certaines applications pratiques quand exactement un pin passe de l’état 0 à 1 et 1 à 0. Pour déterminer cela, j’ai mis en place sur une plaque de prototypage, le circuit suivant : J’ai relevé différentes tensions et j’ai pu observer la courbe suivante, en effet les pins suivent la courbe d’un Trigger de Schmitt !

c. Le mode OUT
Ce mode permet d’envoyer des informations vers le monde extérieur ! En effet, c’est vous qui mettez à 1 ou à 0 un pin ici. Pour mettre le port en mode OUT, lancez la commande suivante :gpio mode outOù <n> est à remplacer par le port WiringPi Pour écrire sur le pin en question (resp. mise à 0 ou mise à 1), il suffit enfin de lancer la commande suivante :
gpio write 0 gpio write 1Toutefois, il existe plusieurs autres modes très intéressant pour configurer les GPIO. Je n’ai jamais eu l’occasion de m’en servir, mais je pense que cela peut-etre très intéressant de se renseigner ! 🙂 Voilà à présent c’est à vous de faire des circuits !! 🙂
III) On peut pas faire plus ?
Par soucis d’organisation de l’espace de travail sur le raspberry. Il est possible de souder des headers sur d’autres emplacements prévus à cet effet ! De cette façon, vous pouvez rajouter jusqu’à 4 headers sur votre plaque !
J’ai personnellement apporté quelques modifications sur ma carte.. À savoir, j’ai pris mon fer à soudé et j’ai soudé un rail de 8 pins sur P5 et une paire de pins sur P6. (P2,P3 ne m’ont jamais servi et servent surtout à alimenter plus qu’à communiquer il me semble..)
Attention : Si vous souhaitez en faire de même, faites bien attention de travailler hors tension. Il s’agit malgré tout d’une manipulation qui peut ruiner l’intégrité de votre carte si vous vous y prenez mal.. C’est donc une action que je ne recommande pas, si vous n’avez jamais soudé un composant ! ^^
Une fois soudé, voici le résultat.. encore en photo ! Après la soudure, j’ai dû encore découper au cutter ma protection PiBow, car j’ai remarqué que P6 était isolé vis à vis de P5. J’ai donc aussi découper au cutter la dernière couche de mon Raspberry. De plus pour fermer correctement la boite car les soudures P5 génaient, j’ai dû couper la première couche de ma PiBow.. La pauvvre petite !!! :’-(

À chaque problème sa solution ! AMAZZING !! 🙂
Mais finalement quel était l’intérêt de ces 2 nouveaux headers ?- P5 permet de rajouter des ports pour communiquer avec le Raspberry, ainsi qu’une alim 5V, 3.3V et une masse, dont voici la description sur le papier, encore une fois, un mémo très utile..

- P6 permet d’éteindre son Raspberry. En effet cela laisse entrevoir la possibilité de couper l’alimentation de son raspberry autrement qu’en utilisant la commande "shutdown -h now" !!