Verwenden eines Druckknopfschalters mit dem Raspberry Pi

Using a Push Button Switch with the Raspberry Pi

 

Ein Druckknopfschalter ist ein einfaches, aber effektives Eingabegerät, das häufig in Projekten wie Starten oder Stoppen von Prozessen, Steuerung von LEDs oder Auslösen von Ereignissen verwendet wird. In diesem Tutorial führt Sie durch das Verbinden eines Druckknopfschalters zum Raspberry Pi, durch das Einrichten der Verkabelung und das Schreiben eines Python -Skripts zum Erkennen von Tastendrücken.


Was Sie brauchen werden

  1. Raspberry Pi (Jedes Modell mit GPIO -Unterstützung, z. B. PI 3, PI 4)
  2. Druckknopfschalter
  3. Breadboard- und Jumper -Drähte
  4. Widerstand (10 kΩ für Pulldown)
  5. Python installiert Auf Ihrem Himbeer -Pi
  6. GPIO -Bibliothek zur Steuerung der GPIO -Stifte des Raspberry Pi

Schritt 1: Verkabelung des Druckknopfs mit Raspberry Pi

Ein Druckknopfschalter funktioniert, indem der GPIO -Pin entweder mit einem hohen (3,3 V) Status angeschlossen wird, wenn Sie gedrückt werden, oder wenn Sie ihn nicht an niedrig (0V) ziehen, wenn Sie nicht gedrückt werden. Wir werden einen Pulldown-Widerstand verwenden, um sicherzustellen, dass der GPIO-Pin niedrig liest, wenn die Taste nicht gedrückt wird.

Verkabelung des Druckknopfs

Druckknopfstift Raspberry Pi Gpio Pin
Ein Stift Gpio17 (Pin 11)
Andere Stift Masse (Pin 6)
Ein Stift 10 ken Widerstand gegen Masse

Hier ist das Verdrahtungs -Setup:

  • Schließen Sie einen Terminal des Druckknopfs an mit an Gpio17 (Pin 11).
  • Schließen Sie das andere Terminal des Druckknopfs an mit an Boden (Pin 6).
  • Schließen Sie einen 10kΩ -Widerstand zwischen anschließend an Gpio17 Und Boden als Pulldown-Widerstand fungieren.

Dies stellt sicher, dass GPIO17, wenn die Taste gedrückt wird, hoch (3,3 V) liest, und wenn sie nicht gedrückt wird, wird GPIO17 vom Widerstand auf niedrig (0V) gezogen.


Schritt 2: Aktivieren Sie GPIO -Stifte in Python

  1. Aktualisieren Sie zunächst die Paketliste Ihres Raspberry Pi:

    sudo apt update
    sudo apt upgrade -y
    
  2. Installieren Sie die erforderliche Python -GPIO -Bibliothek (falls nicht bereits installiert):

    sudo apt install python3-rpi.gpio
    
  3. Importieren Sie die Bibliothek in Ihr Python -Skript:

    import RPi.GPIO as GPIO
    import time
    

Schritt 3: Schreiben Sie den Python -Code

Schreiben wir nun ein Python -Skript, um zu erkennen, wann die Taste gedrückt wird, und ergreifen Sie entsprechend Maßnahmen.

Beispiel für Python -Code

import RPi.GPIO as GPIO
import time

# Set up the GPIO mode and pin
GPIO.setmode(GPIO.BCM)        # Use BCM numbering
button_pin = 17               # GPIO pin connected to the button
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)  # Set up pin with pull-down resistor

# Function to detect button press
def button_callback(channel):
    print("Button was pressed!")

# Set up an event on the button pin
GPIO.add_event_detect(button_pin, GPIO.RISING, callback=button_callback, bouncetime=300)

try:
    print("Press the button...")
    while True:
        # Keep the program running to wait for button press
        time.sleep(0.1)
except KeyboardInterrupt:
    print("Program exited")
finally:
    GPIO.cleanup()  # Clean up GPIO to ensure a clean exit

Code Erläuterung:

  • Gpio.setMode (gpio.bcm): Legt die GPIO -PIN -Nummerierung in den BCM (Broadcom) -Modus fest.
  • Gpio.setup (button_pin, gpio.in, pull_up_down = gpio.pud_down): Konfiguriert die Tastendispin als Eingang mit einem Pulldown-Widerstand, was bedeutet, dass sie bei Nicht gedrückt wird.
  • Gpio.add_event_detect (): Erkennt die steigende Kante (Taste Drücken) des GPIO -PINs und löst die Rückruffunktion aus button_callback Wenn die Taste gedrückt wird.
  • time.sleep (0.1): Halten Sie das Skript ausgeführt, sodass es auf eine Taste warten kann.
  • Gpio.cleanUp (): Reinigt die GPIO -Einstellungen, wenn das Skript beendet ist.

Schritt 4: Testen der Taste

  1. Führen Sie Ihr Python -Skript aus:

    python3 button.py
    
  2. Drücken Sie die Drucktaste und beobachten Sie die Meldung "Die Taste wurde gedrückt!" im Terminal.


Schritt 5: Anwendungen

Hier sind einige Ideen für die Verwendung des Druckknopfs in Ihren Projekten:

  1. Kontrolle einer LED: Verwenden Sie den Druckknopf, um eine LED ein- und auszuschalten.
  2. Ein Ereignis auslösen: Starten oder stoppen Sie einen Prozess (z. B. einen Motor starten, einen Lüfter einschalten oder ein Skript einleiten).
  3. Smart Türklingel: Verwenden Sie die Taste als Türklingel, um eine Benachrichtigung an Ihr Telefon zu senden.
  4. Benutzereingabe: Holen Sie sich einfache Benutzereingaben für Ihre Projekte (wie eine Antwort "Ja/Nein").

Fehlerbehebung

  • Taste nicht erkannt:

    • Stellen Sie sicher, dass die Taste mit dem Pulldown-Widerstand korrekt verkabelt ist.
    • Überprüfen Sie Ihren GPIO-PIN-Setup im Code.
  • GPIO -Fehler:

    • Stellen Sie sicher, dass die GPIO -Bibliothek ordnungsgemäß installiert ist und dass die PIN -Nummern in Ihrem Skript korrekt sind.
  • Knopfsprung:

    • Wenn Sie feststellen, dass mehrere Tastendrücken erkannt werden, können Sie eine Entladungszeit hinzufügen (bouncetime=300 im Skript), um falsche Erkennungen zu vermeiden.

Abschluss

Die Verwendung eines Druckknopfschalters mit dem Raspberry Pi ist eine einfache Möglichkeit, Ihren Projekten Eingabefunktionen hinzuzufügen. Egal, ob es sich um LEDs handelt, Ereignisse auszulösen oder mit anderen Hardware zu interagieren, dieses einfache Setup kann die Grundlage für viele interessante Anwendungen sein. Experimentieren Sie mit verschiedenen GPIO -Stiften und entdecken Sie Einstellungen, um Ihren Anforderungen zu entsprechen!

Hinterlasse einen Kommentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.