Tutoriel Raspberry #5
Effectuer une action après avoir appuyé sur un bouton


Mis à jour le : 10/08/2016


Avec un Raspberry, on peut avoir besoin d'exécuter une tâche ou autre lors de l'appui sur un bouton. Je vais ici expliquer comment relier un bouton au Raspberry et exécuter un script lors de son appui.

I. Branchements

Pour commencer à interagir avec notre bouton, il faut d'abord le brancher. La façon que je vous montre n'est certainement pas la seule, mais elle marche. Nous branchons donc notre bouton comme ceci : ( PIN 3 & 6)



Shéma de branchement d'un bouton poussoir sur Raspberry Pi 3
Shéma de branchement d'un bouton poussoir sur Raspberry Pi B rev 2

II. Programmation du bouton

Notre bouton est maintenant installé. Nous allons pouvoir lui dire que faire.
Il faut d'abord installer ce pack :

  sudo aptitude install python-dev
  sudo aptitude install python-setuptools python-pip
  sudo pip install RPi.GPIO


Une fois le tout installé, on va pouvoir s'attaquer au programme. L'idée est ici de faire clignoter une LED deux fois après l'appui sur le bouton. Voici ce qu'on obtient en installant sa LED avec le + sur le PIN 26 est le - sur une Borne GND, la 9 ici :


Bouton connecté au Raspberry

En voici le code commenté :


# Importons les packs
import time
import RPi.GPIO as GPIO
#On definit Bouton IN en PIN 3
Bouton_IN = 3

GPIO.setmode(GPIO.BOARD)
GPIO.setup(Bouton_IN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(26, GPIO.OUT)# Definition du PIN 26 en out

 ## Boucle
while True:
    GPIO.output(26, False)
    bouton = GPIO.input(Bouton_IN)
    if bouton == 0: # Button presse
        ## On lance le script qui fait clignoter la LED
        GPIO.output(26, False)
        time.sleep(1)
        GPIO.output(26,True)
        time.sleep(1)
        GPIO.output(26, False)
        time.sleep(1)
        GPIO.output(26,True)
        time.sleep(1)
        GPIO.output(26, False)

Vous pouvez garder le code principal et changer la boucle avec ce que vous voulez faire. Par exemple, vous pouvez créer votre sonnette comme décrit dans mon Projet #1. J'utilise dans ce projet la fonction proposée par Free Mobile permettant d'envoyer un SMS à partir d'une URL.



EspaceRaspberryFrançais

N'hésitez pas à aimer notre page Facebook en cliquant ci dessous !


Pour plus de soutien, une pièce nous permettrai d'acheter de nouveaux composants... et nous motiverai à proposer encore plus de contenu. Merci d'avance :)

Accéder à la page des donations !