2 Möglichkeiten, einen Button zu Ihrem Raspberry Pi-Projekt hinzuzufügen

2 Möglichkeiten, einen Button zu Ihrem Raspberry Pi-Projekt hinzuzufügen / DIY

Wenn Sie lernen, die GPIO-Pins Ihres Raspberry Pi zu verwenden, eröffnet sich Ihnen eine ganze Welt voller Möglichkeiten. Die in Einsteigerprojekten erlernten Grundprinzipien ebnen den Weg zu nützlichen Kenntnissen der DIY-Elektronik und der Programmierung.

Dieses Tutorial zeigt Ihnen zwei Möglichkeiten, eine Schaltfläche zu Ihrem Raspberry Pi-Projekt hinzuzufügen. Mit der Taste wird eine LED gesteuert. Schriftliche Anweisungen sind unter dem Video verfügbar.

Du wirst brauchen

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

  • 1 x Raspberry Pi (Beliebig, 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 schwächer)
  • 1 x Brotschneidebrett
  • Drähte anschließen

Nach dem Zusammenstellen sollten Sie Komponenten haben, die ungefähr so ​​aussehen:

Sie benötigen außerdem eine SD-Karte, auf der das Raspbian-Betriebssystem installiert ist. Am schnellsten geht dies mit dem NOOBS-Image (New Out of the Box Software). Anweisungen dazu finden Sie in diesem Video:

Einrichten der Schaltung

Sie werden die GPIO-Pins des Pi verwenden, um die Schaltung herzustellen. Wenn Sie mit ihnen nicht vertraut sind, hilft Ihnen unser Leitfaden zu Raspberry Pi GPIO-Pins. Die Schaltung hier ist fast die gleiche wie in unserem vorherigen Raspberry Pi LED-Projekt, mit der zusätzlichen Schaltfläche, die Sie heute verwenden werden.

Richten Sie Ihre Schaltung gemäß diesem Diagramm ein:

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

Sobald es eingerichtet ist, soll 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

Wenn der Pi hochgefahren ist, gehen Sie zum Menü und wählen Sie Programmierung> Thonny Python IDE. Ein neues Python-Skript wird geöffnet. Wenn Sie mit Python noch nicht vertraut sind, ist dies eine großartige Sprache für Anfänger. Es gibt viele gute Orte, um mehr über Python zu lernen, nachdem Sie mit diesem Tutorial fertig sind!

Beginnen Sie, indem Sie die RPi.GPIO-Bibliothek importieren und den Board-Modus einstellen.

RPi.GPIO als GPIO importieren GPIO.setmode (GPIO.BOARD) 

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

ledPin = 12 buttonPin = 16 

Beachten Sie, dass der Board-Modus auf eingestellt ist TAFEL Wir verwenden die Pin-Nummern anstelle der GPIO-Nummern. Wenn das verwirrend für Sie ist, kann eine Pin-Pin-Tabelle von Raspberry Pi helfen, das Problem zu lösen.

Einrichten der Schaltfläche

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

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 Pullup-Widerstand des Himbeer-Pi. Sie müssen dies aktivieren, um die Schaltfläche vollständig anzeigen zu können. Da die Taste zum Masse-Pin geht, benötigen wir einen Pull-Up-Widerstand, um den Eingangs-Pin HIGH zu halten, bis Sie ihn drücken.

Bevor wir fortfahren, betrachten wir Pull-Up- und Pull-Down-Widerstände.

Pause: Widerstände hochziehen / herunterziehen

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

Ein schwebender Pin hat einen Wert zwischen hoch und niedrig, wodurch der Eingang unvorhersehbar wirkt. Pull-Up / Pull-Down-Widerstände lösen dieses Problem.

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

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

Pulldown-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 ein wichtiges Wissen, wenn Sie mit Mikrocontrollern arbeiten. Für den Moment, wenn Sie es nicht ganz verstehen, machen Sie sich keine Sorgen!

Lass uns dort weitermachen, wo wir aufgehört haben.

Die Programmschleife

Als nächstes richten Sie die Programmschleife ein:

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

Das während wahr loop führt den Code fortlaufend aus, bis das Programm beendet wird. Jedes Mal, wenn es sich in einer Schleife befindet, wird das aktualisiert buttonState durch Lesen der Eingabe aus der buttonPin. Solange die Taste nicht gedrückt wird, bleibt sie erhalten HOCH.

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

Speichern Sie und führen Sie Ihr Skript aus

Speichern Sie Ihr Skript, indem Sie auf klicken Datei> Speichern unter und wählen Sie einen Dateinamen. Sie können die Skizze ausführen, indem Sie auf das grüne Symbol klicken abspielen Schaltfläche in der Thonny-Symbolleiste.

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

Wenn Sie Schwierigkeiten haben, überprüfen Sie Ihren Code und die Schaltung 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 im Block. Die Zero-Bibliothek für GPIO wurde von Ben Nuttall, dem Community-Manager von Raspberry Pi, mit der Absicht erstellt, Code einfacher und lesbarer zu machen.

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

von gpiozero-Import-LED, Taste von Signalimportpause 

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

Das Einrichten der Pins ist mit GPIO Zero viel einfacher:

LED = LED (18) Taste = Taste (23) 

Da die GPIO Zero-Bibliothek Module für LED und Taster enthält, müssen Sie die Ein- und Ausgänge nicht wie zuvor einrichten. Sie werden feststellen, dass, obwohl sich die Pins nicht geändert haben, die Zahlen hier anders sind als oben. Das liegt daran, dass GPIO Zero nur die GPIO-Pin-Nummern verwendet (auch Broadcom- oder BCM-Nummern genannt)..

Der Rest des Skripts besteht nur aus drei Zeilen:

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

Das Pause() Wenn Sie hier aufrufen, wird das Skript einfach beendet, wenn es den unteren Rand erreicht. Die Zwei-Tasten-Events werden ausgelöst, wenn die Taste gedrückt und losgelassen wird. Speichern Sie das Skript und führen Sie es aus. Sie sehen das gleiche Ergebnis wie zuvor!

Zwei Möglichkeiten, einen Button zu Himbeer-Pi hinzuzufügen

Die GPIO Zero-Methode scheint die einfachste Methode zu sein. Es lohnt sich immer noch, etwas über die RPi.GPIO-Bibliothek zu lernen, da die meisten Raspberry Pi-Einsteigerprojekte damit arbeiten. So einfach dieses Projekt ist, kann das Wissen für eine Reihe von Dingen verwendet werden.

Die Verwendung der GPIO-Pins ist eine großartige Möglichkeit, Ihre eigenen Geräte zu erlernen und zu erfinden, ist jedoch alles andere als alles, was Sie mit dem Pi tun können. Unser inoffizieller Leitfaden für den Raspberry Pi Raspberry Pi: Das inoffizielle Lernprogramm Raspberry Pi: Das inoffizielle Lernprogramm Ob Sie ein aktiver Besitzer eines Pi sind oder mehr darüber erfahren möchten, oder ein potenzieller Besitzer dieses Geräts in Kreditkartengröße? du willst es vermissen Read More ist voll von kreativen Ideen und Tutorials, die Sie selbst ausprobieren können! In einem anderen Lernprogramm wie diesem erfahren Sie, wie Sie eine Schaltfläche für das Herstellen einer Wi-Fi-Verbindung herstellen. So stellen Sie eine eigene Schaltfläche für die Wi-Fi-Verbindung mit ESP8266 her So erstellen Sie eine eigene Schaltfläche für eine Wi-Fi-Verbindung mit dem ESP8266 So erstellen Sie eine Wi-Fi-fähige Schaltfläche mit NodeMCU und IFTTT. Weiterlesen .

Erfahren Sie mehr über: DIY-Projekt-Tutorials, GPIO, Python, Raspberry Pi.