Gestion des gpio du Raspberry Pi avec Python3.x

Medium z4mjp04ghzngdoh985eg

Difficulté:

Les commandes, la gestion et des exercices avec les gpio en Python3.x !


Salut ! Nous allons apprendre les commandes pratiques pour manier les gpio en Python3 et le montage de deux circuits électroniques.


Ce tutoriel est réalisé avec un Raspberry Pi 2 sous raspbian wheezy.


_Mais dit donc Jamy ! C’est quoi un gpio ?
_Eh bien, c’est tout simplement une “broche” que l’on trouve en particulier sur un Raspberry Pi. A l’aide d’un programme, elle interagit avec le monde réel et l’on peut mettre en place toutes sortes de choses telles que des robots, un réveil, de la domotique,… Bref, il y’en a pour touts les goûts ! Attention prononer chaque lettre de ‘gpio’, en gros ça donne : jaipaihiho
_Ok, merci Jamy! Allons voir ça de plus près !

Matériel

Medium prqtxu4eknvwrck5lifv

Budget:

35 €

Nous utiliserons :
_un Raspberry Pi, le modèle importe peu, les gpio utilisés possèderont dans tous les cas les mêmes numéros
_une breadboard pour câbler le circuit
_des composants de base : leds et résistances (470Ω)
_et des jumpers mâle/femelle pour le câblage

Etape 1 : Ajout de Python3 et RPi.GPIO

On rafraîchit la liste des paquets et on installe Python3 et le module RPi.GPIO :

sudo apt-get update
sudo apt-get install python3
sudo apt-get install RPi.GPIO

Et vous voilà maintenant prêt du côté software !

Etape 2 : Les commandes gpio avec Python

Medium ageqgfxngf23lpk6uzqf


Ceci est une liste exhaustive, prenez le temps de la lire nous l’utiliserons dans l’étape 3 ;

Pour préciser que l’on travaille avec les numéros des gpio :
_GPIO.setmode(GPIO.BCM)

Pour préciser que l’on travaille avec les numéros des pins :
_GPIO.setmode(GPIO.BOARD)

Pour définir le mode ‘sortie’ du gpio :
_GPIO.setup(“numéro du gpio”, GPIO.OUT)
ou le mode ‘entrée’:
_GPIO.setup(“numéro du gpio”,GPIO.IN)

Pour l’état 0 :
_GPIO.output(“numéro du gpio”,GPIO.LOW)

Pour l’état 1 :
_GPIO.output(“numéro du gpio”,GPIO.HIGH)

Etape 3 : Préparation du premier circuit

⚠Ne manipulez jamais les gpio avec un Raspberry sous tension au risque de… he ben de tout casser !
Ok, maintenant que votre Framboise n’est plus sous tension, passons à l’aspect pratique. Commençons par reproduire le circuit qui est sur le schéma et la photographie.
Rappel : La borne ‘plus’ d’une led est du côté où sa patte est la plus longue, et une résistance n’a pas de polarité. Je vous ai remis le schéma de câblage d’une breadboard.

Etape 4 : Programme du premier circuit

Medium xmqubucmkeskhjmuhc3j


On arrive à l’étape “exercice”, j’explique :
A partir du montage précédent, vous allez réaliser le code pour allumer une led pendant 1 seconde et après l’éteindre. Vous avez toutes les commandes plus-haut.Si vous avez du mal, passez et prenez le temps de comprendre la solution.

⚠Solution :

#On import les modules nécessaires
from RPi import GPIO
import time
#On désactives les ‘warnings’ et on lui précise que l’on travaille avec les numéros des gpio et non le numéro des pins
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
#ON précise que le gpio 14 est en mode ‘sortie’, elle sert ici à envoyer du courant
GPIO.setup(14, GPIO.OUT)
#Le code même du programme, LOW correspond à ‘éteindre’ et HIGH à ‘allumer’
GPIO.output(14, GPIO.LOW)
GPIO.output(14, GPIO.HIGH)
time.sleep(1.0)
GPIO.output(14, GPIO.LOW)

Solution uploadée :

Etape 5 : Préparation de la guirlande de Noël

Eh bien nous ne sommes pas encore à noël mais nous allons préparer un petit montage qui s’apparente de très près au circuit précédent.
Astuce : comme sur le schéma, reliez les bornes ‘moins’ des leds sur une seule et même ligne pour n’utiliser qu’une seule pin ‘ground’ et avoir un montage clair.

Etape 6 : Programmation de notre guirlande

Medium nj3iasy94zz7nthrqja7


Passons à la programmation . On veut obtenir une guirlande qui, possédant trois leds, s’allument chacune après l’autre, comme une guirlande !
Pour se faire, nous utiliserons les gpio 14, 15 et 18, le temps d’attente sera de 0,25 seconde.
Astuce : Utilisez une boucle “while” et le programme précédent comme base solide.

⚠Solution :

#On import les modules nécessaires
from RPi import GPIO
import time
#On désactives les ‘warnings’ et on lui précise que l’on travaille avec les numéros des gpio et non le numéro des pins
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
continuer=0
#ON précise que le gpio 14 est en mode ‘sortie’, elle sert ici à envoyer du courant
GPIO.setup(14, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
#On met à l’état 0 toutes les leds au préalable
GPIO.output(14, GPIO.LOW)
GPIO.output(15, GPIO.LOW)
GPIO.output(18, GPIO.LOW)
#Le code même du programme, LOW correspond à ‘éteindre’ et HIGH à ‘allumer’

while continuer<=10:
GPIO.output(14, GPIO.HIGH)
time.sleep(0.25)
GPIO.output(14, GPIO.LOW)
GPIO.output(15, GPIO.HIGH)
time.sleep(0.25)
GPIO.output(15, GPIO.LOW)
GPIO.output(18, GPIO.HIGH)
time.sleep(0.25)
GPIO.output(18, GPIO.LOW)
#On incrémente 'continuer'
continuer=continuer+1

Solution uploadée en texte et démonstration vidéo :

Etape 7 : Merci

Medium qbn2iqx0cmbtpyhl7wyy

http://blog.ouiaremakers.com/wp-content/uploads/formidable/codeTroisLeds.py


Merci d’avoir lu ce tutoriel, mon premier personnellement. N’hésitez pas à faire part de vos réactions dans les commentaires. Salut !

Vous aimez ce tutoriel ?


Hortense

07 juil. 2016 à 10:24

coucou Binary!

bienvenue chez OAM 🙂

bravo pour ce premier tuto… penses à faire remonter dans le cadre du concours en cours sur Raspberry Pi ! par ici pour les infos : http://ouiaremakers.com/blog/reglement-du-concours-raspberry/

Binary

07 juil. 2016 à 10:24

Merci Hortense ! J'ai bien veillé à participer au concours !

Totoldt

07 juil. 2016 à 10:32

Bonjour, comment peut on lancer python en “sudo”

je m'explique: quand je lance le programme avec la console pyhton, il me dit qu'il ne peut pas accéder à un certain fichier, et de réessayer en rootant je crois

Binary

07 juil. 2016 à 10:32

Bonjour et bonne année !

Pour que Python accède au gpio, il doit être lancé en “sudo”, en administrateur en gros.

-sudo python nomdufichier.py

Ensuite tu rentre le mot de passe de ton utilisateur.

Totoldt

07 juil. 2016 à 10:32

ok merci


Recevez une fois par mois les meilleurs tutoriels Technologie dans votre boîte mail




Populaire

+ de 3 000 vues pour Gestion des gpio du Raspberry Pi avec Python3.x


S'inscrire:



En cliquant sur s'inscire, vous acceptez de respecter les conditions générales d'utilisation de Oui Are Makers.

  • Vues: 4604
  • J'aime: 7