2 façons d'ajouter un bouton à votre projet Raspberry Pi
Apprendre à utiliser les broches GPIO sur votre Raspberry Pi ouvre tout un monde de possibilités. Les principes de base appris par les projets pour débutants ouvrent la voie à une connaissance utile à la fois de l'électronique de bricolage et de la programmation.
Ce tutoriel vous montrera deux manières 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 de disposer des composants suivants:
- 1 x Raspberry Pi (Tout ira bien, le modèle 3B est utilisé dans ce tutoriel)
- 1 x bouton poussoir
- 1 x LED
- 1 x 220 Ohm Resistor (Les valeurs supérieures conviennent, votre LED sera simplement plus faible)
- 1 x planche à pain
- Brancher des 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 procéder consiste à utiliser l’image NOOBS (New Out Of The Box Software). Les instructions pour le faire 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 encore, notre guide des broches GPIO de Raspberry Pi vous aidera. Le circuit ici est presque identique à celui de notre projet précédent Raspberry Pi LED, avec l’ajout du bouton que vous utiliserez aujourd’hui..
Configurez votre circuit selon ce schéma:
- le 5v et GND les broches se connectent aux rails d'alimentation de la planche à pain.
- Pin 12 (GPIO 18) se connecte à la jambe positive de la LED.
- Une jambe du résistance se fixe à la jambe négative de la DEL et l'autre jambe 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 de base de la planche à pain.
Une fois qu'il est configuré, voici à quoi cela devrait ressembler:
Vérifiez votre circuit pour vous assurer qu'il est correct, puis mettez votre Raspberry Pi sous tension..
Méthode 1: la bibliothèque RPi.GPIO
Une fois que le Pi a démarré, allez dans le menu et sélectionnez Programmation> IDE Thonny Python. Un nouveau script Python va s'ouvrir. Si vous êtes totalement nouveau dans Python, c'est un excellent langage pour les débutants et il existe de nombreux endroits géniaux pour en apprendre davantage sur Python une fois que vous avez terminé ce didacticiel.!
Commencez par importer la bibliothèque RPi.GPIO et définissez le mode tableau.
importer RPi.GPIO en tant que GPIO GPIO.setmode (GPIO.BOARD)
Déclarez maintenant les variables pour les numéros de broches de LED et de bouton.
ledPin = 12 buttonPin = 16
Notez que puisque nous avons le mode conseil défini sur PLANCHE nous utilisons les numéros de broches plutôt que les numéros GPIO. Si cela vous semble confus, un tableau de broutage de Raspberry Pi peut vous aider à mieux comprendre..
Configuration du bouton
Il est temps de configurer les broches GPIO. Définissez 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 (boutonPin, GPIO.IN, pull_up_down = GPIO.PUD_UP)
Le texte après GPIO.IN fait référence à la résistance de traction interne du Raspberry Pi. Vous devez l'activer pour obtenir une lecture nette du bouton. Puisque le bouton va sur la broche de terre, nous avons besoin d’une résistance pull-up pour maintenir la broche d’entrée HAUT jusqu’à ce que vous appuyiez dessus..
Avant de poursuivre, examinons les résistances de soulèvement et de descente.
Entrées: Résistances Pull Up / Pull Down
Lorsque vous configurez une broche GPIO en entrée, il la lit pour déterminer son état. Dans ce circuit, vous devez savoir si une broche est HAUTE ou FAIBLE pour déclencher la LED lorsque le bouton est enfoncé. Ce serait simple si ceux-ci étaient les seuls états qu'une épingle pouvait avoir, mais malheureusement, il existe un troisième état: FLOTTANT.
Une broche flottante a une valeur comprise entre haut et bas, ce qui fait que l'entrée agit de manière imprévisible. Résistances pull-up / pull-down résolvent ceci.
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 tirage interne attache la broche GPIO à l'alimentation interne Pi. Ce courant circule et la broche est tirée en toute sécurité jusqu'à HIGH.
Lorsque vous appuyez sur le bouton, la broche GPIO se connecte directement à la broche de terre et le bouton indique.
Les résistances de tirage sont prévues lorsque le commutateur est connecté à la broche d'alimentation. Cette fois, la résistance interne attache la broche GPIO à la masse, en maintenant LOW jusqu’à ce que vous appuyiez sur le bouton..
La théorie de la résistance pull-up et pull-down est déroutante à première vue, mais constitue une connaissance importante à posséder lors de l'utilisation de microcontrôleurs. Pour l'instant, si vous ne le 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 du programme:
while True: buttonState = GPIO.input (buttonPin) si buttonState == False: GPIO.output (ledPin, GPIO.HIGH) sinon: GPIO.output (ledPin, GPIO.LOW)
le alors que vrai loop exécute continuellement le code qu'il contient jusqu'à la fin du programme. Chaque fois qu'il boucle, il met à jour le l'état de bouton en lisant l'entrée du bouton pin. Tant que le bouton n'est pas enfoncé, il reste HAUTE.
Une fois le bouton appuyé, l'état de bouton devient FAIBLE. Cela déclenche la si déclaration, puisque Faux est le même que FAIBLE, et le voyant s'allume. le autre déclaration éteint le voyant lorsque le bouton pin est différent de false.
Sauvegarder et exécuter votre script
Enregistrez votre script en cliquant sur Fichier> Enregistrer sous et en choisissant un nom de fichier. Vous pouvez exécuter le croquis en cliquant sur le bouton vert. Jouer bouton dans la barre d'outils Thonny.
Maintenant, appuyez sur le bouton, et votre LED devrait s'allumer! Appuyez sur le rouge Arrêtez bouton à tout moment pour arrêter le programme
Si vous rencontrez des difficultés, vérifiez minutieusement votre code et la configuration du circuit, puis réessayez..
Méthode 2: bibliothèque zéro GPIO
La bibliothèque RPi.GPIO est fantastique, mais il y a un nouvel enfant dans le quartier. La bibliothèque GPIO Zero a été créée par Ben Nuttall, gestionnaire de la communauté Raspberry Pi, dans le but de simplifier le code, d’en simplifier la lecture et l’écriture..
Pour tester la nouvelle bibliothèque, ouvrez un nouveau fichier Thonny et importez la bibliothèque..
de la DEL d'importation de gpiozero, Bouton de pause d'importation de signal
Vous remarquerez que vous n'avez pas importé toute la bibliothèque. Etant donné que vous utilisez uniquement une LED et un bouton, vous n’avez besoin que de ces modules dans le script. Nous importons aussi Pause depuis la bibliothèque de signaux, qui est une bibliothèque Python pour la gestion des événements.
La configuration des broches est beaucoup plus facile avec GPIO Zero:
led = bouton LED (18) = bouton (23)
Étant donné que la bibliothèque GPIO Zero possède des modules pour les voyants et les boutons, vous n'avez pas besoin de configurer les entrées et les sorties comme auparavant. Vous remarquerez que, même si les repères n'ont pas changé, les numéros ci-dessus sont différents de ceux indiqués ci-dessus. En effet, GPIO Zero utilise uniquement les numéros de broches GPIO (également appelés numéros Broadcom ou BCM)..
Le reste du script ne comporte que trois lignes:
button.when_pressed = led.on button.when_released = led.off pause ()
le pause() appeler ici arrête simplement le script de sortir quand il atteint le bas. Les événements à deux boutons sont déclenchés chaque fois que le bouton est enfoncé puis relâché. Enregistrez et exécutez votre script et vous obtiendrez le même résultat qu'auparavant!
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 est toujours intéressant de se familiariser avec 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 un certain nombre de choses.
Utiliser les broches GPIO est un excellent moyen d’apprendre et d’inventer vos propres périphériques, mais c’est loin de tout ce que vous pouvez faire avec le Pi. Notre guide non officiel de Raspberry Pi Raspberry Pi: Le didacticiel non officiel Raspberry Pi: Le didacticiel non officiel Que vous soyez un propriétaire actuel de Pi qui souhaite en savoir plus ou un propriétaire potentiel de cet appareil de la taille d'une carte de crédit, il ne s'agit pas d'un guide vous voulez manquer. Lire la suite regorge d'idées créatives et de tutoriels que vous pouvez essayer vous-même! Pour un autre tutoriel comme celui-ci, voyez comment créer un bouton de connexion Wi-Fi. Comment créer votre propre bouton de connexion Wi-Fi avec ESP8266. Comment créer votre propre bouton de connexion Wi-Fi avec ESP8266. Dans ce tutoriel, vous allez apprendre créer un bouton compatible Wi-Fi utilisant NodeMCU et IFTTT. Lire la suite .
Pour en savoir plus sur les didacticiels de projet DIY, GPIO, Python, Raspberry Pi.