2 Möglichkeiten zum Hinzufügen einer Schaltfläche zu Ihrem Raspberry Pi-Projekt

2 Möglichkeiten zum Hinzufügen einer Schaltfläche zu Ihrem Raspberry Pi-Projekt

Das Erlernen der Verwendung der GPIO-Pins auf Ihrem Raspberry Pi eröffnet eine ganze Welt von Möglichkeiten. Die in Anfängerprojekten erlernten Grundprinzipien ebnen den Weg zu nützlichem Wissen sowohl in der Heimwerkerelektronik als auch in der Programmierung.





Dieses Tutorial zeigt Ihnen zwei Möglichkeiten, um Ihrem Raspberry Pi-Projekt eine Schaltfläche hinzuzufügen. Die Taste wird verwendet, um eine LED zu steuern. Eine schriftliche Anleitung finden Sie unter dem Video.





Du wirst brauchen

Stellen Sie zunächst sicher, dass Sie über die folgenden Komponenten verfügen:





  • 1 x Raspberry Pi (Jeder reicht, Modell 3B wird in diesem Tutorial verwendet)
  • 1 x Druckknopf
  • 1 x LED
  • 1 x 220 Ohm Widerstand (höhere Werte sind in Ordnung, Ihre LED wird nur gedimmt)
  • 1 x Steckbrett
  • Kabel anschließen

Nach der Zusammenstellung sollten Sie Komponenten haben, die ungefähr so ​​​​aussehen:

Außerdem benötigen Sie eine SD-Karte mit installiertem Raspbian-Betriebssystem. Am schnellsten geht das mit dem NOOBS-Image (New Out Of the Box Software). Eine Anleitung dazu finden Sie in diesem Video:



Einrichten der Schaltung

Sie werden die GPIO-Pins des Pi verwenden, um die Schaltung zu erstellen, und wenn Sie mit ihnen nicht vertraut sind, unsere Anleitung zu Raspberry Pi GPIO-Pins wird helfen. Die Schaltung hier ist fast die gleiche wie in unserem vorherigen Raspberry Pi LED-Projekt , mit dem Hinzufügen der Schaltfläche, die Sie heute verwenden werden.

Bauen Sie Ihre Schaltung gemäß diesem Diagramm auf:





  • Die 5v und Masse Pins verbinden sich mit den Stromschienen des Steckbretts.
  • Pin 12 (GPIO 18) verbindet sich mit dem positiven Bein der LED.
  • Ein Bein des Widerstand wird am negativen Bein der LED befestigt, und das andere Bein wird an der Erdungsschiene des Steckbretts befestigt.
  • Pin 16 (GPIO 23) wird an einer Seite des Knopfes befestigt, die andere Seite wird an der Erdungsschiene des Steckbretts befestigt.

Sobald es eingerichtet ist, sollte es so aussehen:

Überprüfen Sie Ihre Schaltung, um sicherzustellen, dass sie korrekt ist, und schalten Sie dann Ihren Raspberry Pi ein.





Methode 1: Die RPi.GPIO-Bibliothek

Sobald der Pi gebootet hat, gehen Sie zum Menü und wählen Sie Programmierung> Thonny Python IDE . Ein neues Python-Skript wird geöffnet. Wenn Python für Sie völlig neu ist, ist es eine großartige Sprache für Anfänger und es gibt viele großartige Orte, um mehr über Python zu erfahren, nachdem Sie mit diesem Tutorial fertig sind!

Beginnen Sie mit dem Importieren der RPi.GPIO-Bibliothek und dem Einstellen des Board-Modus.

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

Deklarieren Sie nun die Variablen für die LED- und Tasten-Pin-Nummern.

ledPin = 12
buttonPin = 16

Beachten Sie, dass, da wir den Board-Modus auf PLANKE Wir verwenden die Pin-Nummern anstelle der GPIO-Nummern. Wenn das für Sie verwirrend ist, kann ein Raspberry Pi-Pinbelegungsdiagramm helfen, dies zu klären.

Einrichten der Schaltfläche

Es ist Zeit, die GPIO-Pins einzurichten. Stellen Sie den LED-Pin auf Ausgang und den Taster-Pin auf Eingang mit einem Pull-up-Widerstand

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

Der Text nach GPIO.IN bezieht sich auf die interner Pull-Up-Widerstand des Raspberry Pi. Sie müssen dies aktivieren, um einen sauberen Messwert von der Schaltfläche zu erhalten. Da der Taster zum Massestift geht, benötigen wir einen Pull-Up-Widerstand, um den Eingangsstift HIGH zu halten, bis Sie ihn drücken.

Bevor wir fortfahren, schauen wir uns die Pull-Up- und Pull-Down-Widerstände an.

Pause: Pull-Up/Pull-Down-Widerstände

Wenn Sie einen GPIO-Pin für die Eingabe konfigurieren, liest er diesen Pin, um seinen Zustand zu bestimmen. In dieser Schaltung müssen Sie lesen, ob ein Pin ist HOCH oder NIEDRIG zum Auslösen der LED, wenn die Taste gedrückt wird. Dies wäre einfach, wenn dies die einzigen Zustände wären, die ein Pin haben kann, aber leider gibt es einen dritten Zustand: SCHWIMMEND .

Ein schwebender Pin hat einen Wert zwischen High und Low, wodurch der Eingang unvorhersehbar reagiert. Pull-Up/Pull-Down-Widerstände lösen dies.

Das obige Bild ist ein vereinfachtes Diagramm einer Schaltfläche und eines Raspberry Pi. Der GPIO-Pin wird über die Taste mit Masse verbunden. Der interne Pull-Up-Widerstand verbindet den GPIO-Pin mit der internen Pi-Stromversorgung. Dieser Strom fließt und der Pin wird sicher auf HIGH hochgezogen.

Wenn Sie die Taste drücken, wird der GPIO-Pin direkt mit dem Massepin verbunden und die Taste zeigt niedrig an.

Pull-Down-Widerstände sind für den Fall, dass der Schalter mit dem Power-Pin verbunden ist. Diesmal verbindet der interne Widerstand den GPIO-Pin mit Masse und hält LOW, bis Sie die Taste drücken.

Die Pull-Up- und Pull-Down-Widerstandstheorie ist auf den ersten Blick verwirrend, aber wichtige Kenntnisse bei der Arbeit mit Mikrocontrollern. Wenn Sie es jetzt nicht ganz verstehen, machen Sie sich keine Sorgen!

Machen wir dort weiter, wo wir aufgehört haben.

Die Programmschleife

Als nächstes richten Sie die Programmschleife ein:

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

Die während wahr loop führt den darin enthaltenen Code kontinuierlich aus, bis wir das Programm beenden. Jedes Mal, wenn es eine Schleife wiederholt, aktualisiert es die buttonState indem Sie die Eingabe aus dem lesen TastePin . Solange die Taste nicht gedrückt wird, bleibt sie HOCH .

Sobald die Taste gedrückt wird, buttonState wird NIEDRIG . Dies löst die if-Anweisung , schon seit Falsch ist das gleiche wie NIEDRIG , und die LED leuchtet. Die anders -Anweisung schaltet die LED aus, wenn buttonPin nicht False ist.

Speichern Sie Ihr Skript und führen Sie es aus

Speichern Sie Ihr Skript, indem Sie auf klicken Datei > Speichern unter und einen Dateinamen wählen. Sie können die Skizze ausführen, indem Sie auf das Grün klicken Spiel in der Thonny-Symbolleiste.

Drücken Sie nun die Taste, und Ihre LED sollte aufleuchten! Drücken Sie die rote Halt jederzeit drücken, um das Programm zu stoppen

Wenn Sie Schwierigkeiten haben, überprüfen Sie Ihren Code und die Schaltungskonfiguration gründlich auf Fehler und versuchen Sie es erneut.

Methode 2: GPIO Zero Library

Die RPi.GPIO-Bibliothek ist fantastisch, aber es gibt ein neues Kind auf dem Block. Die GPIO Zero Library war Erstellt von Raspberry Pi Community Manager Ben Nuttall mit der Absicht, Code einfacher zu machen und leichter zu lesen und zu schreiben.

Um die neue Bibliothek zu testen, öffnen Sie eine neue Thonny-Datei und importieren Sie die Bibliothek.

from gpiozero import LED, Button
from signal import pause

Sie werden feststellen, dass Sie nicht die gesamte Bibliothek importiert haben. Da Sie nur eine LED und einen Taster verwenden, benötigen Sie nur diese Module im Skript. Wir importieren auch Pause aus der Signalbibliothek, einer Python-Bibliothek für das Ereignismanagement.

Das Einrichten der Pins ist mit GPIO Zero viel einfacher:

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

Da die GPIO Zero-Bibliothek Module für die LED und den Taster enthält, müssen Sie Ein- und Ausgänge nicht wie bisher einrichten. Sie werden feststellen, dass sich die Zahlen hier zwar nicht geändert haben, sich jedoch von oben unterscheiden. Das liegt daran, dass GPIO Zero nur die GPIO-Pinnummern verwendet (auch bekannt als Broadcom- oder BCM-Nummern).

Suchmaschinen, die keine Ergebnisse filtern

Der Rest des Skripts besteht nur aus drei Zeilen:

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

Die Pause() call here stoppt einfach das Beenden des Skripts, wenn es das Ende erreicht. Die Zwei-Tasten-Ereignisse werden immer dann ausgelöst, wenn die Taste gedrückt und losgelassen wird. Speichern Sie Ihr Skript und führen Sie es aus und Sie sehen das gleiche Ergebnis wie zuvor!

Zwei Möglichkeiten zum Hinzufügen einer Schaltfläche zu Raspberry Pi

Von den beiden Möglichkeiten, die Schaltfläche einzurichten, scheint die GPIO-Zero-Methode die einfachste zu sein. Es lohnt sich immer noch, die RPi.GPIO-Bibliothek kennenzulernen, da die meisten Raspberry Pi-Projekte für Anfänger benutze es. So einfach dieses Projekt auch ist, das Wissen kann für eine Reihe von Dingen verwendet werden.

Die Verwendung der GPIO-Pins ist eine großartige Möglichkeit, Ihre eigenen Geräte zu lernen und zu erfinden, aber es ist bei weitem nicht alles, was Sie mit dem Pi tun können. Unser inoffizieller Guide zum Raspberry Pi steckt voller kreativer Ideen und Tutorials, die Sie selbst ausprobieren können! Ein weiteres Tutorial wie dieses finden Sie unter So erstellen Sie eine Wi-Fi-verbundene Schaltfläche .

Teilen Teilen Tweet Email 5 Tipps zum Aufladen Ihrer VirtualBox-Linux-Maschinen

Haben Sie genug von der schlechten Leistung virtueller Maschinen? Hier ist, was Sie tun sollten, um Ihre VirtualBox-Leistung zu steigern.

Weiter lesen
Verwandte Themen
  • Heimwerken
  • Himbeer-Pi
  • Python
  • GPIO
  • DIY-Projekt-Tutorials
Über den Autor Ian Buckley(216 veröffentlichte Artikel)

Ian Buckley lebt als freiberuflicher Journalist, Musiker, Performer und Videoproduzent in Berlin. Wenn er nicht gerade schreibt oder auf der Bühne steht, bastelt er an DIY-Elektronik oder Code, in der Hoffnung, ein verrückter Wissenschaftler zu werden.

Mehr von Ian Buckley

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren