Vous êtes ici

Raspberry : Détecter un bouton

Cet article va vous présenter un montage et un petit programme vous permettant de détecter l'appui sur un bouton.

J'ai utilisé Fritzing pour dessiner le montage. Comme par défaut Fritzing ne fourni pas de composant permettant de représenter un Rasberry 3, il a fallu en télécharger un à cette adresse : http://fritzing.org/projects/raspberry-pi-3 .

Puis vous devez l'importer dans les composants (Parts) :  dans la partie composants de Fritzing, cliquez sur la loupe pour effectuer une recherche et saisissez "rasp" suivre de "Entrée.

Normalement les raspberrys devraient s'afficher. Il suffit alos d'en ajouter un à côté de la platine d'essai.

Il vous reste à y placer les éléments nécessaire au montage du jour. Le montage donne cela :

Si vous avez des doutes je vous joins la disposition du GPIO :

Le principe du montage est le suivant :

  • le courant par de la pinouille 1 délivrant de 3,3V
  • Il passe à travers la résistance
  • Puis par le bouton poussoir qui est ouvert
  • pour finir sur le neutre de la pinouille 6
  • Quand on coupe le circuit en appuyant sur le bouton poussoir, le courant repart par la pinouille 12.

Pour tester ce montage vous pouvez utliser ce petit programme en python :

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.IN)
while True:
    input_value = GPIO.input(12)
    if input_value == False:
        print("Le bouton vient d'etre enfonce")
        while input_value == False:
            input_value = GPIO.input(12)
           

On a donc une boucle infinie ("While True"). Il faudra interrompre le programme par un "Ctrl + C". A chaque boucle on teste la pinouille 12

Attention ! Comme je n'avais pas de véritable interrupteur je me suis servi d'un bouton poussoir qui lui laisse passer toujours le courant sauf si on appuie dessus. La version bouton met les test à "True" au lieu de "False" dans les lignes 7 et 8.

Voici les photos du montage :

Fait le 29/04/2017

 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer