Raspberry Pi - Keypad 1x4

In diesem Tutorial lernen wir, wie Sie ein 1x4-Keypad mit einem Raspberry Pi verwenden. Im Detail lernen wir:

Raspberry Pi Keypad 1x4

Hardware Erforderlich

1×Raspberry Pi 5
1×Tastenfeld 1x4
1×Jumper Wires (Verbindungsdrähte)
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das 1x4-Keypad

Ein 1x4-Keypad besteht aus vier Membrantasten, die in einer einzigen Reihe angeordnet sind. Es wird häufig für Benutzereingaben in Projekten wie Passcode-Eingabe, Menünavigation oder Steuerungsschnittstellen verwendet.

Pinbelegung

Das 1x4-Keypad hat 5 Pins, die nicht direkt den Tastenbeschriftungen in der Reihenfolge entsprechen. Spezifisch:

  • Pin 1: verbindet sich mit Taste 2
  • Pin 2: verbindet sich mit Taste 1
  • Pin 3: verbindet sich mit Taste 4
  • Pin 4: verbindet sich mit Taste 3
  • Pin 5: ist ein gemeinsamer Pin, der sich mit allen Tasten verbindet
Keypad 1x4 Pinout
image source: diyables.io

Verdrahtungsdiagramm

Raspberry Pi Keypad 1x4 Wiring Diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Raspberry Pi Code

Jede Taste auf dem 1x4-Keypad funktioniert als Button. Das bedeutet, wir können die digitalRead() Funktion verwenden, um den Status jeder Taste zu überprüfen. In der Praxis müssen wir jedoch, wie bei jedem Button, das Problem des Prellens handhaben, bei dem ein einzelner Tastendruck fälschlicherweise als mehrfache Drücke erkannt werden könnte. Um dies zu vermeiden, müssen wir jede Taste entprellen. Diese Aufgabe wird herausfordernd, wenn man versucht, vier Tasten zu entprellen, ohne andere Teile des Codes zu blockieren. Glücklicherweise vereinfacht die ezButton-Bibliothek diesen Prozess.

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem gleichen lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
  • Wenn Sie zum ersten Mal einen Raspberry Pi verwenden, sehen Sie wie man den Raspberry Pi einrichtet
  • Verbinden Sie das Arduino Nano mit dem 1x4-Keypad.
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skript-Datei keypad_1x4.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-keypad-1x4 import RPi.GPIO as GPIO import time # Define GPIO pins for the keypad buttons PIN_KEY_1 = 24 # The Raspberry Pi pin GPIO24 connected to the key 1 PIN_KEY_2 = 23 # The Raspberry Pi pin GPIO23 connected to the key 2 PIN_KEY_3 = 8 # The Raspberry Pi pin GPIO8 connected to the key 3 PIN_KEY_4 = 25 # The Raspberry Pi pin GPIO25 connected to the key 4 KEY_PINS = [PIN_KEY_1, PIN_KEY_2, PIN_KEY_3, PIN_KEY_4] DEBOUNCE_TIME = 0.1 # 100 milliseconds # Setup GPIO mode GPIO.setmode(GPIO.BCM) # Setup GPIO pins as inputs with pull-up resistors for pin in KEY_PINS: GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize previous states for each button previous_states = [GPIO.input(pin) for pin in KEY_PINS] # Function to read the state of the keypad buttons with debouncing def get_key_pressed(): pressed_key = 0 for i, pin in enumerate(KEY_PINS): current_state = GPIO.input(pin) if previous_states[i] == GPIO.HIGH and current_state == GPIO.LOW: # Detect state change from HIGH to LOW time.sleep(DEBOUNCE_TIME) # Wait for debounce time if GPIO.input(pin) == GPIO.LOW: # Ensure button is still pressed pressed_key = i + 1 break return pressed_key try: while True: key = get_key_pressed() if key: print(f"The key {key} is pressed") # Update the previous states previous_states = [GPIO.input(pin) for pin in KEY_PINS] time.sleep(0.1) # Delay for a short period to avoid excessive CPU usage except KeyboardInterrupt: # Cleanup GPIO settings before exiting GPIO.cleanup() print("Program terminated")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 keypad_1x4.py
  • Drücken Sie jede Taste auf dem 1x4-Keypad nacheinander
  • Überprüfen Sie das Ergebnis im Terminal.
PuTTY - Raspberry Pi
The key 1 is pressed The key 2 is pressed The key 3 is pressed The key 4 is pressed

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!