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

  • Peter Holmes
  • 0
  • 5773
  • 1079
Publicité

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 et de la programmation DIY.

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). 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 de Raspberry Pi vous aidera. Le circuit ici est presque identique à celui de notre précédent projet 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 s'ouvrira. Si vous êtes totalement novice en Python, c'est un excellent langage pour les débutants et il existe de nombreux endroits géniaux pour en apprendre davantage sur Python après avoir 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..

Mise en place 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. Étant donné que le bouton va sur la broche de terre, nous avons besoin d'une résistance de rappel 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 lit cette broche 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, entraînant une action imprévisible de l'entrée. 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é à 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 en tant 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 buttonState en lisant l'entrée du bouton pin. Tant que le bouton n'est pas enfoncé, il reste HAUTE.

Une fois le bouton appuyé, buttonState 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.

Enregistrez et exécutez 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 votre code et la configuration du circuit à la recherche d'erreurs, 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, responsable 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 du 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 bien que les repères n'aient 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() call here arrête simplement le script de quitter quand 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 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 connaître 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. 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 à l'aide de NodeMCU et IFTTT. .




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.