2 façons d’ajouter des boutons à un projet Raspberry Pi
Apprendre à utiliser les broches GPIO sur le Raspberry Pi ouvre un monde de possibilités. Les bases apprises grâce à des projets pour débutants ouvrent la voie à des connaissances utiles en électronique et en programmation DIY.
Ce tutoriel vous montrera deux façons d’ajouter des boutons à votre projet Raspberry Pi. Ce bouton sera utilisé pour contrôler la LED. Des instructions écrites sont fournies sous la vidéo.
Tu auras besoin de
Pour commencer, assurez-vous que vous disposez des composants suivants :
- 1 x Raspberry Pi (n’importe lequel fera l’affaire, ce tutoriel utilise un modèle 3B)
- 1 bouton
- 1 DEL
- 1 résistance de 220 Ohms (les valeurs supérieures conviennent, vos LED seront plus faibles)
- 1 planche à pain
- Connectez les fils
Une fois collecté, vous devriez avoir des composants comme celui-ci :
Vous aurez également besoin d’une carte SD avec le système d’exploitation Raspbian installé. Le moyen le plus rapide consiste à utiliser une image NOOBS (New Out of the Box Software). Des instructions sur la façon de procéder sont fournies dans cette vidéo :
Mettre en place le circuit
Vous utiliserez les broches GPIO du Pi pour faire le circuit, si vous ne les connaissez pas, notre guide des broches GPIO Raspberry Pi vous aidera. Le circuit ici est à peu près le même que dans notre précédent projet Raspberry Pi LED, avec l’ajout des boutons que vous utiliserez aujourd’hui.
Configurez votre circuit selon ce schéma :
- Ce 5v et sol Les broches sont connectées aux rails d’alimentation de la planche à pain.
- Broche 12 (GPIO 18) Connectez-vous au côté positif de la LED.
- une jambe Résistance Connectez-vous à la borne négative de la LED et l’autre au rail de masse de la planche à pain.
- Broche 16 (GPIO 23) Connectez-vous d’un côté du bouton et de l’autre au rail au sol de la planche à pain.
Faire une vidéo du jour
Une fois configuré, cela ressemble à ceci :
Vérifiez votre circuit pour vous assurer qu’il est correct, puis allumez votre Raspberry Pi.
Méthode 1 : Bibliothèque RPi.GPIO
Une fois le Pi démarré, allez dans le menu et sélectionnez Programmation > EDI Thonny Python. ouvrira un nouveau script Python. Si vous êtes complètement 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 après avoir terminé ce didacticiel !
Importez d’abord la bibliothèque RPi.GPIO, puis définissez le mode carte.
Importer RPi.GPIO en tant que GPIO
GPIO.setmode(GPIO.BOARD)
Déclarez maintenant les variables pour les numéros de broches des LED et des boutons.
LEDPin = 12
Goupille de bouton = 16
Notez que puisque nous avons défini le mode de carte sur planche Nous utilisons des numéros de broches au lieu de numéros GPIO. Si cela vous embrouille, le schéma de brochage du Raspberry Pi peut vous aider à vous vider l’esprit.
Bouton Paramètres
Il est temps de configurer les broches GPIO.Définissez les broches LED comme sorties, les broches des boutons-poussoirs comme entrées, utilisez des résistances pull-up
GPIO.setup(ledPin, GPIO.OUT)
GPIO.setup(boutonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
Le texte après GPIO.IN fait référence à Résistance pull-up interne Raspberry Pi. Vous devez activer cette fonction pour obtenir des lectures claires à partir des boutons. Étant donné que le bouton sera connecté à la broche de masse, nous avons besoin d’une résistance de rappel pour maintenir la broche d’entrée haute jusqu’à ce que vous appuyiez dessus.
Avant d’aller plus loin, regardons les résistances pull-up et pull-down.
Intermittent : résistances pull-up/pull-down
Lorsque vous configurez une broche GPIO comme entrée, il lit la broche pour déterminer son état.Dans ce circuit, vous devez lire si une broche est Haut ou meugler Déclencher la LED lorsque le bouton est enfoncé. Ce serait simple si c’étaient les seuls états qu’une broche pourrait avoir, mais malheureusement il y a un troisième état : flottant.
Les broches flottantes ont des valeurs entre haut et bas, ce qui entraîne un comportement d’entrée 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. Les broches GPIO sont mises à la terre via le bouton. Des résistances pull-up internes connectent les broches GPIO à l’alimentation interne Pi. Ce courant circule et la broche est tirée haut en toute sécurité.
Lorsque vous appuyez sur le bouton, la broche GPIO est directement connectée à la broche de terre et le bouton lit bas.
Les résistances pull-down sont utilisées lorsque le commutateur est connecté aux broches d’alimentation. Cette fois, la résistance interne connecte la broche GPIO à la terre, en la maintenant basse jusqu’à ce que vous appuyiez sur le bouton.
La théorie des résistances pull-up et pull-down peut sembler déroutante au début, mais c’est une connaissance importante à saisir lorsque vous travaillez avec des microcontrôleurs. Maintenant, si vous ne savez pas grand-chose à ce sujet, ne vous inquiétez pas !
Continuons là où nous nous sommes arrêtés.
boucle de programme
Ensuite, configurez la boucle du programme :
Et véritable:
buttonState = GPIO.entrée (boutonPin)
Si état du bouton == faux :
GPIO.sortie(ledPin, GPIO.HIGH)
autre:
GPIO.sortie(ledPin, GPIO.LOW)
Ce et véritable La boucle continue d’exécuter le code jusqu’à ce que nous terminions le programme.Il sera mis à jour à chaque fois dans la boucle état du bouton en lisant l’entrée de épingle à boutonLorsque le bouton n’est pas enfoncé, il reste Haut.
Une fois le bouton appuyé, état du bouton devenir meuglerCela déclenchera si déclarationpuisque Incorrect Sont identiques meugler, la LED s’allume.Ce autre L’instruction éteint la LED tant que buttonPin n’est pas False.
Enregistrez et exécutez votre script
Enregistrez le script en cliquant sur Fichier > Enregistrer sous et choisissez un nom de fichier.Vous pouvez exécuter l’esquisse en cliquant sur le vert Jouer Bouton dans la barre d’outils de Thonny.
Appuyez maintenant sur le bouton et votre LED devrait s’allumer !appuyez sur rouge arrêter bouton pour arrêter le programme à tout moment
Si vous êtes bloqué, vérifiez soigneusement votre code et la configuration de votre circuit pour détecter les erreurs et réessayez.
Méthode 2 : bibliothèque zéro GPIO
La bibliothèque RPi.GPIO est géniale, mais a un petit nouveau. La bibliothèque GPIO Zero a été créée par Ben Nuttall, responsable de la communauté Raspberry Pi, pour rendre le code plus simple, plus facile à lire et à écrire.
Pour tester la nouvelle bibliothèque, ouvrez un nouveau fichier Thonny et importez la bibliothèque.
Importer des LED, des boutons de gpiozero
Importer une pause à partir du signal
Vous remarquerez que vous n’importez pas toute la bibliothèque. Puisque vous n’utilisez que des voyants et des boutons, vous n’avez besoin que de ces modules dans le script.nous importons également pause De la bibliothèque Signals, une bibliothèque Python pour la gestion des événements.
Il est beaucoup plus facile de définir des broches avec GPIO zéro :
DEL = DEL(18)
bouton = bouton(23)
Étant donné que la bibliothèque GPIO Zero comporte des modules de voyants et de boutons, vous n’avez pas besoin de configurer les entrées et les sorties comme auparavant. Vous remarquerez que même si les broches n’ont pas changé, les chiffres ici sont différents de ceux ci-dessus. En effet, le GPIO zéro utilise uniquement les numéros de broches GPIO (également appelés numéros Broadcom ou BCM).
Le reste du script n’est que de trois lignes :
button.when_pressed = led.on
button.when_released = led.off
pause()
Ce pause() call here arrête simplement le script de se fermer lorsqu’il atteint le bas. Chaque fois que le bouton est enfoncé et relâché, deux événements de bouton sont déclenchés. Enregistrez et exécutez votre script et vous verrez les mêmes résultats qu’avant !
Deux façons d’ajouter des boutons à Raspberry Pi
Des deux méthodes de configuration d’un bouton, la méthode GPIO Zero semble être la plus simple. Cela vaut toujours la peine d’apprendre la bibliothèque RPi.GPIO car la plupart des projets Raspberry Pi débutants l’utilisent. Aussi simple que soit ce projet, les connaissances peuvent être utilisées pour beaucoup de choses.
L’utilisation de broches GPIO est un excellent moyen d’apprendre et d’inventer votre propre appareil, 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 et de tutoriels que vous pouvez essayer vous-même ! Pour un autre tutoriel comme celui-ci, consultez Comment créer un bouton de connexion Wi-Fi.
A propos de l’auteur