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


Mis à jour le : 10/08/2016


Information IMPORTANTE

Travaux

Ce tutoriel est ancien et va être totallement ré-écrit dans les prochains jours !

Dans certains projets, il est nécessaire d'interagir physiquement avec l'utilisateur. Le bouton poussoir permet d'acquérir les ordres de la personne utilisant le système très simplement. Un exemple : La machine à café. On choisit quelle boisson on souhaite en appuyant sur le bouton correspondant.
Ce tutoriel va donc expliquer comment détecter, puis réagir à l'appui sur un bouton..

I. Prérequis

Pour réaliser ce tutoriel, il faut :

Une fois tous les éléments réunis, on peut passer au branchement.

II. Branchement

Pour commencer à interagir avec un bouton poussoir, il faut d'abord le brancher (Ah bon ?). Je vous propose de brancher le bouton comme suit, mais il y a une multitude d'autres manières de le brancher.



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

III. 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.


Commentaires

Commenter
Votre adresse mail ne sera pas visible sur le site.

Seuls les commentaires jugés corrects seront mis en ligne.



Composants Bien débuter sur le Raspberry PI Configurer le Raspberry Pi
Ecran LCD 16x02 Accessoires indispensables sur Raspberry Pi Connexion sans login ni mot de passe au Raspberry
Capteur de température DS18B20 Première installation et démarage Changer le Hostname du Raspberry Pi
Afficheurs 7 segments Création et execution d'un programme Python Connexion Ethernet Raspberry/ordinateur
Capteur distance HC-SR04 Connexion au bureau depuis Windows
Bouton
Servo Moteur
Capteur de présence HC-SR501
Module RFID-RC522
Caméra sur Raspberry Pi

EspaceRaspberryFrançais | Contact | A propos & Soutiens | Facebook



En tant que Partenaire Amazon, je réalise un bénéfice sur les achats remplissant les conditions requises.

Espace-raspberry-francais.fr est hebergé par SARL LWS.