2 façons d'ajouter un bouton à votre projet Raspberry Pi

2 façons d'ajouter un bouton à votre projet Raspberry Pi

Apprendre à utiliser les broches GPIO de votre Raspberry Pi ouvre tout un monde de possibilités. Les principes de base appris grâce à des projets pour débutants ouvrent la voie à une connaissance utile de l'électronique de bricolage et de la programmation.





Ce tutoriel vous montrera deux façons d'ajouter un bouton à votre projet Raspberry Pi. Le bouton sera utilisé pour contrôler une LED. Des instructions écrites sont disponibles sous la vidéo.





Tu auras besoin de

Pour commencer, assurez-vous d'avoir les composants suivants :





  • 1 x Raspberry Pi (Tout fera l'affaire, le modèle 3B est utilisé dans ce tutoriel)
  • 1 x bouton poussoir
  • 1 LED
  • 1 x résistance 220 Ohm (des valeurs plus élevées sont bonnes, votre LED sera juste plus faible)
  • 1 x planche à pain
  • Branchez les fils

Une fois rassemblés, vous devriez avoir des composants qui ressemblent à ceci :

Vous aurez également besoin d'une carte SD avec le système d'exploitation Raspbian installé. Le moyen le plus rapide de le faire est d'utiliser l'image NOOBS (Nouveau logiciel prêt à l'emploi). Des instructions sur la façon de procéder sont disponibles dans cette vidéo :



Mise en place du circuit

Vous utiliserez les broches GPIO du Pi pour faire le circuit, et si vous ne les connaissez pas, notre guide des broches GPIO Raspberry Pi aidera. Le circuit ici est presque le même que dans notre précédent Projet LED Raspberry Pi , avec l'ajout du bouton que vous utiliserez aujourd'hui.

Configurez votre circuit selon ce schéma :





  • Les 5v et GND les broches se connectent aux rails d'alimentation de la planche à pain.
  • Broche 12 (GPIO 18) se connecte à la branche positive de la LED.
  • Une jambe du résistance se fixe à la patte négative de la LED, et l'autre patte se fixe au rail au sol de la planche à pain.
  • Broche 16 (GPIO 23) se fixe à un côté du bouton, l'autre côté se fixe au rail au sol de la planche à pain.

Une fois configuré, voici à quoi cela devrait ressembler :

Vérifiez votre circuit pour vous assurer qu'il est correct, puis allumez votre Raspberry Pi.





Méthode 1 : La bibliothèque RPi.GPIO

Une fois le Pi démarré, allez dans le menu et sélectionnez Programmation> IDE Python de Thonny . Un nouveau script Python s'ouvrira. Si vous êtes totalement nouveau sur Python, c'est un excellent langage pour les débutants et il existe de nombreux endroits intéressants pour en savoir plus sur Python une fois que vous avez terminé ce didacticiel !

Commencez par importer la bibliothèque RPi.GPIO et définissez le mode de la carte.

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)

Déclarez maintenant les variables pour les numéros de broche de la LED et du bouton.

ledPin = 12
buttonPin = 16

Notez que puisque nous avons le mode conseil réglé sur PLANCHE nous utilisons les numéros de broche plutôt que les numéros GPIO. Si cela vous déroutant, un tableau de brochage Raspberry Pi peut aider à l'éclaircir.

Configuration du bouton

Il est temps de configurer les broches GPIO. Réglez la broche LED sur la sortie et la broche du bouton sur l'entrée avec une résistance de rappel

GPIO.setup(ledPin, GPIO.OUT)
GPIO.setup(buttonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

Le texte après GPIO.IN fait référence au résistance de rappel interne du Raspberry Pi. Vous devez l'activer pour obtenir une lecture nette du bouton. Étant donné que le bouton va à la broche de terre, nous avons besoin d'une résistance de rappel pour maintenir la broche d'entrée HAUTE jusqu'à ce que vous l'appuyiez.

Avant de continuer, regardons les résistances pull-up et pull-down.

Entracte : résistances pull Up/Pull Down

Lorsque vous configurez une broche GPIO en entrée, elle lit cette broche pour déterminer son état. Dans ce circuit, vous devez lire si une broche est HAUTE ou MEUGLER pour déclencher la LED lorsque le bouton est enfoncé. Ce serait simple si c'étaient les seuls états qu'une épingle peut avoir, mais malheureusement, il y a un troisième état : FLOTTANT .

Une broche flottante a une valeur entre haute et basse, ce qui fait que l'entrée agit de manière imprévisible. Les résistances pull-up/pull-down résolvent ce problème.

L'image ci-dessus est un schéma simplifié d'un bouton et d'un Raspberry Pi. La broche GPIO se connecte à la terre via le bouton. La résistance de rappel interne relie la broche GPIO à l'alimentation interne Pi. Ce courant circule et la broche est tirée en toute sécurité jusqu'à HAUT.

Lorsque vous appuyez sur le bouton, la broche GPIO se connecte directement à la broche de masse et le bouton affiche un niveau bas.

Les résistances pull-down sont utilisées lorsque le commutateur est connecté à la broche d'alimentation. Cette fois, la résistance interne relie la broche GPIO à la terre, en maintenant LOW jusqu'à ce que vous appuyiez sur le bouton.

La théorie des résistances pull-up et pull-down est déroutante à première vue, mais des connaissances importantes à avoir lorsque l'on travaille avec des microcontrôleurs. Pour l'instant, si vous ne comprenez pas bien, ne vous inquiétez pas !

Continuons là où nous nous sommes arrêtés.

La boucle du programme

Ensuite, configurez la boucle de programme :

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

Les tandis que vrai boucle exécute continuellement le code à l'intérieur jusqu'à ce que nous terminions le programme. Chaque fois qu'il boucle, il met à jour le boutonÉtat en lisant l'entrée du boutonPin . Tant que le bouton n'est pas enfoncé, il reste HAUTE .

Une fois le bouton enfoncé, boutonÉtat devient MEUGLER . Cela déclenche le si déclaration , puisque Faux est le même que MEUGLER , et la LED s'allume. Les autre L'instruction éteint la LED chaque fois que buttonPin n'est pas False.

Enregistrez et exécutez votre script

Enregistrez votre script en cliquant Fichier > Enregistrer sous et en choisissant un nom de fichier. Vous pouvez exécuter l'esquisse en cliquant sur le vert Jouer dans la barre d'outils de Thonny.

Appuyez maintenant sur le bouton et votre LED devrait s'allumer ! Appuyez sur le rouge Arrêter bouton à tout moment pour arrêter le programme

Si vous rencontrez des difficultés, vérifiez soigneusement votre code et la configuration de votre circuit pour détecter les erreurs et réessayez.

Méthode 2 : bibliothèque GPIO Zero

La bibliothèque RPi.GPIO est fantastique, mais il y a un petit nouveau sur le bloc. La bibliothèque GPIO Zero a été créé par le responsable de la communauté Raspberry Pi Ben Nuttall dans le but de rendre le code plus simple et plus facile à lire et à écrire.

Pour tester la nouvelle bibliothèque, ouvrez un nouveau fichier Thonny et importez la bibliothèque.

from gpiozero import LED, Button
from signal import pause

Vous remarquerez que vous n'avez pas importé toute la bibliothèque. Comme vous n'utilisez qu'une LED et un bouton, vous n'avez besoin que de ces modules dans le script. Nous importons également Pause de la bibliothèque de signaux, qui est une bibliothèque Python pour la gestion d'événements.

La configuration des broches est beaucoup plus facile avec GPIO Zero :

led = LED(18)
button = Button(23)

Étant donné que la bibliothèque GPIO Zero contient des modules pour la LED et le bouton, vous n'avez pas besoin de configurer les entrées et les sorties comme auparavant. Vous remarquerez que bien que les broches n'aient pas changé, les chiffres ici sont différents de ceux ci-dessus. En effet, GPIO Zero utilise uniquement les numéros de broche GPIO (également appelés numéros Broadcom ou BCM).

voir l'écran du téléphone sur pc via usb

Le reste du script ne fait que trois lignes :

button.when_pressed = led.on
button.when_released = led.off
pause()

Les pause() call here empêche simplement le script de se terminer lorsqu'il atteint le bas. Les événements à deux boutons sont déclenchés chaque fois que le bouton est enfoncé et relâché. Enregistrez et exécutez votre script et vous verrez le même résultat qu'avant !

Deux façons d'ajouter un bouton à Raspberry Pi

Parmi les deux façons de configurer le bouton, la méthode GPIO Zero semble être la plus simple. Il vaut toujours la peine de se renseigner sur la bibliothèque RPi.GPIO car la plupart des projets Raspberry Pi débutants utilise le. Aussi simple que soit ce projet, les connaissances peuvent être utilisées pour un certain nombre de choses.

L'utilisation des broches GPIO est un excellent moyen d'apprendre et d'inventer vos propres appareils, mais c'est loin de tout ce que vous pouvez faire avec le Pi. Notre guide non officiel du Raspberry Pi regorge d'idées créatives et de tutoriels que vous pouvez essayer vous-même ! Pour un autre tutoriel comme celui-ci, consultez comment faire un bouton connecté Wi-Fi .

Partager Partager Tweeter E-mail 5 astuces pour surcharger vos machines Linux VirtualBox

Vous en avez assez des mauvaises performances offertes par les machines virtuelles ? Voici ce que vous devez faire pour améliorer les performances de votre VirtualBox.

Lire la suite
Rubriques connexes
  • DIY
  • Tarte aux framboises
  • Python
  • GPIO
  • Tutoriels de projets de bricolage
A propos de l'auteur Ian Buckley(216 articles publiés)

Ian Buckley est un journaliste indépendant, musicien, interprète et producteur vidéo vivant à Berlin, en Allemagne. Quand il n'écrit pas ou sur scène, il bricole de l'électronique ou du code DIY dans l'espoir de devenir un savant fou.

Plus de Ian Buckley

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner
Catégorie Diy