Plusieurs "Boutons Poussoirs"

Bonjour à tous,

j’utilise un Raspi 1B sur lequel sont connectés 15 boutons poussoirs + 1 led. Chacun des boutons représentent une boite à lettre, le temps de pression détermine le contenu de la boite (lettre, colis et spécial) et appelle le script bash approprié pour l’envoi d’un email. Actuellement, j’ai plusieurs scripts python (15, un pour chaque bouton) que je souhaiterai fusionner en un seul mais je n’y arrive pas.

Voici le script (un des scripts) :

#!/usr/bin/env python2.7

from time import sleep
import subprocess

import RPi.GPIO as GPIO

GPIO 2 (pin 3)

CHANNEL = 2

durees

colis = 2
special = 4

GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(CHANNEL, GPIO.IN, pull_up_down=GPIO.PUD_UP)

LED

GPIO.setup(18,GPIO.OUT)
GPIO.output(18,GPIO.LOW)

fonction de gestion du bouton

def system_button(CHANNEL):

variable de stockage du temps de pression

button_press_timer = 0

while True:
if (GPIO.input(CHANNEL) == False) :
button_press_timer += 0.2
GPIO.output(18,GPIO.HIGH)

  else:
  	if (button_press_timer > special) :
  		print "special : ", button_press_timer
  		subprocess.call("./Special.sh", shell=True)
  		GPIO.output(18,GPIO.LOW)
  	elif (button_press_timer > colis) :
  		print "colis : ", button_press_timer
  		subprocess.call("./Colis.sh", shell=True)
  		GPIO.output(18,GPIO.LOW)
  	elif (button_press_timer > 0.2):
  		print "lettre : ", button_press_timer
  		subprocess.call("./Lettre.sh", shell=True)
  		GPIO.output(18,GPIO.LOW)
  	button_press_timer = 0
  sleep(0.2)

GPIO.add_event_detect(CHANNEL, GPIO.FALLING, callback=system_button, bouncetime=200)

try:
while True:

  sleep (2)

except KeyboardInterrupt:

GPIO.cleanup()
GPIO.cleanup()

Merci par avance de votre aide :relaxed: