Werbung

Das Erlernen der Verwendung der GPIO-Pins auf Ihrem Raspberry Pi eröffnet eine ganze Welt von Möglichkeiten. Die Grundprinzipien, die durch Anfängerprojekte erlernt wurden, ebnen den Weg zu nützlichen Kenntnissen sowohl der Heimwerkerelektronik als auch der Programmierung.

Dieses Tutorial zeigt Ihnen zwei Möglichkeiten, wie Sie Ihrem Raspberry Pi-Projekt eine Schaltfläche hinzufügen können. Mit der Taste wird eine LED gesteuert. Schriftliche Anweisungen 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 wird es tun, 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 dunkler)
  • 1 x Steckbrett
  • Kabel anschließen

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

Für das Pi Button Tutorial benötigte Teile

Sie benötigen außerdem eine SD-Karte mit installiertem Raspbian-Betriebssystem. Der schnellste Weg, dies zu tun, ist mit dem NOOBS-Image (New Out Of the Box Software). Anweisungen dazu finden Sie in diesem Video:

instagram viewer

Schaltung einrichten

Sie werden die GPIO-Pins des Pi verwenden, um die Schaltung herzustellen, 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 unserer vorherigen Raspberry Pi LED-Projektmit der Schaltfläche, die Sie heute verwenden werden.

Richten Sie Ihre Schaltung gemäß diesem Diagramm ein:

Fritzing Diagramm für Pi Button Tutorial
  • Das 5v und GND Die Stifte werden mit den Stromschienen des Steckbretts verbunden.
  • Pin 12 (GPIO 18) Verbindet mit dem positiven Zweig der LED.
  • Ein Bein der Widerstand Wird am negativen Schenkel der LED und der andere Schenkel 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.

Nach dem Einrichten sollte es folgendermaßen aussehen:

Raspberry Pi ist an einen Knopf und eine LED auf einem Steckbrett angeschlossen.

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

Methode 1: Das RPi. GPIO-Bibliothek

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

Thonny Python IDE

Beginnen Sie mit dem Importieren des RPi. GPIO-Bibliothek und Einstellen des Kartenmodus.

RPi importieren. GPIO als 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 wir den Board-Modus auf eingestellt haben TAFEL Wir verwenden eher die PIN-Nummern als die GPIO-Nummern. Wenn Sie das verwirrt, kann eine Raspberry Pi-Pinbelegung helfen, das Problem zu beheben.

Mein Pi Pinout

Einrichten der Schaltfläche

Es ist Zeit, die GPIO-Pins einzurichten. Stellen Sie den LED-Pin auf Ausgang und den Tastenstift 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 Himbeer-Pi. Sie müssen dies aktivieren, um einen sauberen Messwert über die Schaltfläche zu erhalten. Da der Knopf zum Erdungsstift führt, benötigen wir einen Pull-up-Widerstand, um den Eingangsstift HIGH zu halten, bis Sie ihn drücken.

Bevor wir fortfahren, schauen wir uns 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 Status zu bestimmen. In dieser Schaltung müssen Sie lesen, ob ein Pin 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 ein Pin haben kann, aber leider gibt es einen dritten Zustand: SCHWIMMEN.

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

Beispieldiagramm für Pull-Up-Widerstände

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 dem internen Pi-Netzteil. Dieser Strom fließt und der Stift wird sicher auf HIGH gezogen.

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

Beispieldiagramm für Pulldown-Widerstände

Pulldown-Widerstände sind für den Fall vorgesehen, dass der Schalter an den Stromanschluss angeschlossen ist. Diesmal verbindet der interne Widerstand den GPIO-Pin mit Masse und hält ihn auf 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. Im Moment, wenn Sie es nicht ganz verstehen, machen Sie sich keine Sorgen!

Fahren wir dort fort, wo wir aufgehört haben.

Die Programmschleife

Richten Sie als Nächstes die Programmschleife ein:

während True: buttonState = GPIO.input (buttonPin) wenn buttonState == False: GPIO.output (ledPin, GPIO.HIGH) sonst: GPIO.output (ledPin, GPIO.LOW)

Das während wahr Die Schleife führt den darin enthaltenen Code kontinuierlich aus, bis wir das Programm beenden. Jedes Mal, wenn es eine Schleife durchläuft, wird das aktualisiert buttonState durch Lesen der Eingabe von der buttonPin. Während 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 NIEDRIGund die LED leuchtet auf. Das sonst Anweisung schaltet die LED aus, wenn der 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 Wählen eines Dateinamens. Sie können die Skizze ausführen, indem Sie auf das Grün klicken abspielen Schaltfläche in der Thonny-Symbolleiste.

Thonny Systemsteuerung

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

Druckknopf Test Gif

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

Methode 2: GPIO Zero Library

Das RPi. Die 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 und leichter zu lesen und zu schreiben zu machen.

Öffnen Sie zum Testen der neuen Bibliothek eine neue Thonny-Datei und importieren Sie die Bibliothek.

von gpiozero import LED, Button. 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 Taste enthält, müssen Sie die Ein- und Ausgänge nicht wie zuvor einrichten. Sie werden feststellen, dass sich die Stifte hier nicht geändert haben, die Zahlen hier jedoch von oben abweichen. Dies liegt daran, dass GPIO Zero nur die GPIO-PIN-Nummern verwendet (auch als Broadcom- oder BCM-Nummern bezeichnet).

Der Rest des Skripts besteht nur aus drei Zeilen:

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

Das Pause() Der Aufruf hier verhindert einfach, dass das Skript beendet wird, wenn es den unteren Rand erreicht. Die Ereignisse mit zwei Tasten werden ausgelöst, wenn die Taste gedrückt und losgelassen wird. Speichern Sie Ihr Skript und führen Sie es aus. Sie sehen das gleiche Ergebnis wie zuvor!

Zwei Möglichkeiten, Raspberry Pi einen Button hinzuzufügen

Von den beiden Möglichkeiten zum Einrichten der Schaltfläche scheint die GPIO Zero-Methode die einfachste zu sein. Es lohnt sich immer noch, etwas über das RPi zu lernen. GPIO-Bibliothek als die meisten Anfänger Raspberry Pi Projekte 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, eigene Geräte zu erlernen und zu erfinden, aber es ist weit entfernt von allem, was Sie mit dem Pi tun können. Unser inoffizieller Leitfaden zum Raspberry Pi Raspberry Pi: Das inoffizielle TutorialEgal, ob Sie ein aktueller Pi-Besitzer sind, der mehr erfahren möchte, oder ein potenzieller Besitzer dieses Geräts in Kreditkartengröße, dies ist kein Leitfaden, den Sie verpassen sollten. Weiterlesen steckt voller kreativer Ideen und Tutorials, die Sie selbst ausprobieren können! Ein weiteres Tutorial wie dieses finden Sie unter Wie erstelle ich eine Wi-Fi-Verbindungstaste? So stellen Sie mit ESP8266 Ihre eigene Wi-Fi-Verbindungstaste herIn diesem Tutorial erfahren Sie, wie Sie mit NodeMCU und IFTTT eine Wi-Fi-fähige Schaltfläche erstellen. Weiterlesen .

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