Raspberry Pi - Touch Sensor - Relay

Diese Anleitung zeigt Ihnen, wie Sie den Raspberry Pi und einen Touch Sensor zur Steuerung eines Relays verwenden. Durch die Verbindung des Relays mit einem Magnetschloss, einer Glühbirne, einem LED-Strip, einem Motor oder einem Aktuator... können wir einen Touch Sensor zur Steuerung dieser Komponenten verwenden. Wir werden zwei verschiedene Anwendungen lernen:

Anwendung 1 - Der Relay-Zustand ist synchronisiert mit dem Touch Sensor-Zustand. Im Detail:

Anwendung 2 - Der Relay-Zustand wird jedes Mal umgeschaltet, wenn der Touch Sensor berührt wird. Spezifischer:

Erforderliche Hardware

1×Raspberry Pi 5
1×Berührungssensor
1×Relais
1×Breadboard (Steckplatine)
1×Jumper Wires (Verbindungskabel)
1×(Optional) Solenoid Lock (Magnetschloss)
1×(Optional) 12V Power Adapter (12V Netzteil)
1×(Optional) DC Power Jack (DC Strombuchse)
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 Relay und Touch Sensor

Wenn Sie mit Relay und Touch Sensor nicht vertraut sind (einschließlich Pinout, Funktionsweise und Programmierung), können Ihnen die folgenden Tutorials helfen:

Schaltplan

Raspberry Pi Touch Sensor relay 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

Anwendung 1 - Der Relay-Zustand ist synchron mit dem Touch Sensor-Zustand

Kurzanleitung

  • 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 demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
  • Wenn Sie den Raspberry Pi zum ersten Mal verwenden, lesen Sie wie Sie den Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi über den eingebauten SSH-Client unter Linux und macOS oder PuTTY unter Windows. 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 touch_sensor_relay.py und fügen Sie 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-touch-sensor-relay import RPi.GPIO as GPIO # Set the GPIO mode (BCM or BOARD) GPIO.setmode(GPIO.BCM) # Define the GPIO pin number to which the relay is connected RELAY_PIN = 20 # Define the GPIO pin number to which the touch sensor is connected TOUCH_SENSOR_PIN = 18 # Set up the GPIO pins GPIO.setup(TOUCH_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Input with pull-up resistor GPIO.setup(RELAY_PIN, GPIO.OUT) # Output try: while True: touch_state = GPIO.input(TOUCH_SENSOR_PIN) if touch_state == GPIO.HIGH: print("The sensor is touched") GPIO.output(RELAY_PIN, GPIO.HIGH) # Turn the relay on else: print("The sensor is not touched") GPIO.output(RELAY_PIN, GPIO.LOW) # Turn the relay off except KeyboardInterrupt: GPIO.output(RELAY_PIN, GPIO.LOW) # Turn off the relay GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 touch_sensor_relay.py
  • Berühren Sie den Touch Sensor mit Ihrem Finger und halten Sie ihn einige Sekunden lang, dann lassen Sie ihn los.
  • Beobachten Sie die Änderung im Relay-Zustand. Sie werden sehen, dass der Relay-Zustand synchron mit dem Touch Sensor-Zustand ist.

Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.

Code-Erklärung

Schauen Sie sich die zeilenweise Erklärung in den Kommentaren des Quellcodes an!

Anwendung 2 - Touch Sensor schaltet Relay um

Kurzanleitung

  • Erstellen Sie eine Python-Skript-Datei touch_sensor_toggle_relay.py und fügen Sie 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-touch-sensor-relay import RPi.GPIO as GPIO import time # Constants won't change TOUCH_SENSOR_PIN = 16 # The number of the touch sensor pin RELAY_PIN = 18 # The number of the relay pin # Variables will change relay_state = GPIO.LOW # The current state of the relay prev_touch_state = GPIO.LOW # The previous state of the touch sensor touch_state = GPIO.LOW # The current state of the touch sensor # Set up GPIO GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbering GPIO.setup(RELAY_PIN, GPIO.OUT) # Initialize the relay pin as an output GPIO.setup(TOUCH_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize the touch sensor pin as a pull-up input try: while True: # Read the state of the touch sensor value prev_touch_state = touch_state # Save the last state touch_state = GPIO.input(TOUCH_SENSOR_PIN) # Read new state if prev_touch_state == GPIO.LOW and touch_state == GPIO.HIGH: time.sleep(0.1) # 100 milliseconds debounce time print("The sensor is touched") # Toggle the state of the relay if relay_state == GPIO.LOW: relay_state = GPIO.HIGH else: relay_state = GPIO.LOW # Control relay according to the toggled state GPIO.output(RELAY_PIN, relay_state) except KeyboardInterrupt: # Clean up GPIO on program exit GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 touch_sensor_toggle_relay.py
  • Berühren Sie den Touch Sensor mehrmals und lassen Sie ihn wieder los.
  • Beobachten Sie die Änderung im Relay-Zustand. Sie werden bemerken, dass das Relay ein- oder ausschaltet, jedes Mal wenn Sie Ihren Finger auf den Touch Sensor legen.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Kommentare

※ 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!