IMA4 2016/2017 P38 Shutdown : Différence entre versions

De Wiki de Projets IMA
(Page créée avec « !/usr/bin/env python2.7 import time import os import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) <span style="color:red">on met RPi.GPIO en mode notation BCM (numero des pins) ... »)
 
 
Ligne 1 : Ligne 1 :
!/usr/bin/env python2.7
+
!/usr/bin/env python2.7
import time
+
import time
import os
+
import os
import RPi.GPIO as GPIO
+
import RPi.GPIO as GPIO
  
 
+
on met RPi.GPIO en mode notation BCM (numero des pins)et on initialise le GPIO 23 en mode ecoute
GPIO.setmode(GPIO.BCM) <span style="color:red">on met RPi.GPIO en mode notation BCM (numero des pins) </span>, <br/>
+
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) <span style="color:red">on initialise le GPIO 23 en mode ecoute </span>, <br/>
+
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
 
+
on definit notre fonction qui sera appelee quand on appuiera sur le bouton
* <span style="color:red">on definit notre fonction qui sera appelee quand on appuiera sur le bouton</span>, <br/>
+
def extinction(channel):
def extinction(channel):
+
print("Appui detecter le GPIO 23")<span style="color:red">on affiche un petit message pour confirmer</span> <br/>
 
+
GPIO.cleanup()<span style="color:red">on reinitialise les GPIO</span> <br/>
print("Appui detecter le GPIO 23")<span style="color:red"> on affiche un petit message pour confirmer</span>, <br/>
+
os.system('sudo halt')<span style="color:red">on lance la commande d extinction</span> <br/>
 
+
on met le bouton en ecoute
GPIO.cleanup() <span style="color:red">on reinitialise les GPIO</span>, <br/>
+
GPIO.add_event_detect(23, GPIO.FALLING, callback=extinction)
 
+
on lance une boucle infinie, pour garder le script actif
os.system('sudo halt')<span style="color:red"> on lance la commande d extinction</span>, <br/>
+
while 1:
 
+
time.sleep(0.02) <span style="color:red"> une petite pause entre chaque boucle, afin de reduire la charge sur le CPU</span> <br/>
GPIO.add_event_detect(23, GPIO.FALLING, callback=extinction)   <span style="color:red"> on met le bouton en ecoute</span>, <br/>
+
on reinitialise les ports GPIO en sortie de script
 
+
GPIO.cleanup()
* <span style="color:red">on lance une boucle infinie, pour garder le script actif</span>, <br/>
 
while 1:
 
 
 
time.sleep(0.02) <span style="color:red"> une petite pause entre chaque boucle, afin de reduire la charge sur le CPU</span>, <br/>
 
 
 
 
 
GPIO.cleanup()<span style="color:red"> on reinitialise les ports GPIO en sortie de script</span>, <br/>
 

Version actuelle datée du 6 février 2017 à 16:34

!/usr/bin/env python2.7
import time
import os
import RPi.GPIO as GPIO

on met RPi.GPIO en mode notation BCM (numero des pins)et on initialise le GPIO 23 en mode ecoute

GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)

on definit notre fonction qui sera appelee quand on appuiera sur le bouton

def extinction(channel):
print("Appui detecter le GPIO 23")on affiche un petit message pour confirmer 
GPIO.cleanup()on reinitialise les GPIO
os.system('sudo halt')on lance la commande d extinction

on met le bouton en ecoute

GPIO.add_event_detect(23, GPIO.FALLING, callback=extinction)

on lance une boucle infinie, pour garder le script actif

while 1:
time.sleep(0.02)  une petite pause entre chaque boucle, afin de reduire la charge sur le CPU 

on reinitialise les ports GPIO en sortie de script

GPIO.cleanup()