Raspberry Pi - Touch Sensor - Servo Motor

Diese Anleitung zeigt Ihnen, wie Sie Raspberry Pi und einen Touch Sensor zur Steuerung eines Servo Motors verwenden. Im Detail:

Die gleichen Schritte werden dann wiederholt.

Hardware erforderlich

1×Raspberry Pi 5
1×Berührungssensor
1×Servo-Motor
1×Jumper Wires (Verbindungskabel)
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.

Kaufhinweis: Falls Sie mehrere Servomotoren verwenden möchten, empfehlen wir die Verwendung des PCA9685 16 Channel PWM Servo Driver Module, um MCU-Pins zu sparen und die Verdrahtung zu vereinfachen.

Über Servo Motor und Touch Sensor

Falls Sie mit Servo Motoren und Touch Sensoren nicht vertraut sind (einschließlich Pinbelegung, Funktionalität und Programmierung), können Ihnen die folgenden Tutorials helfen:

Schaltplan

Raspberry Pi Touch Sensor Servo Motor Schaltplan

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

Bitte beachten Sie, dass der oben gezeigte Schaltplan nur für einen Servo Motor mit geringem Drehmoment geeignet ist. Falls der Motor vibriert anstatt zu rotieren, muss eine externe Stromversorgung verwendet werden, um dem Servo Motor mehr Leistung zu liefern. Das Folgende zeigt den Schaltplan mit einer externen Stromversorgung für den Servo Motor.

TO BE ADD IMAGE

Bitte vergessen Sie nicht, GND der externen Stromversorgung mit GND des Raspberry Pi zu verbinden.

Raspberry Pi Code - Touch Sensor steuert Servo Motor

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 demselben 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.
  • Falls Sie Raspberry Pi zum ersten Mal verwenden, sehen Sie wie Sie den Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi unter Verwendung des integrierten SSH-Clients auf Linux und macOS oder PuTTY auf Windows. Siehe wie Sie Ihren PC über SSH mit Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skript-Datei touch_sensor_servo.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-touch-sensor-servo-motor import RPi.GPIO as GPIO import time # Constants won't change TOUCH_SENSOR_PIN = 18 # Raspberry Pi GPIO pin connected to the motion sensor's pin SERVO_PIN = 20 # Raspberry Pi GPIO pin connected to the servo motor's pin # Variables will change angle = 0 # The current angle of the servo motor prev_motion_state = None # The previous state of the motion sensor motion_state = None # The current state of the motion sensor # Setup GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(TOUCH_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(SERVO_PIN, GPIO.OUT) # Create PWM instance for servo servo_pwm = GPIO.PWM(SERVO_PIN, 50) # 50 Hz frequency # Initialize servo position servo_pwm.start(0) try: while True: prev_motion_state = motion_state # Save the last state motion_state = GPIO.input(TOUCH_SENSOR_PIN) # Read new state if prev_motion_state == GPIO.LOW and motion_state == GPIO.HIGH: print("The sensor is touched") # Change angle of servo motor if angle == 0: angle = 90 else: angle = 0 # Control servo motor according to the angle duty_cycle = (angle / 18) + 2.5 # Convert angle to duty cycle servo_pwm.ChangeDutyCycle(duty_cycle) time.sleep(0.1) # Add a small delay to avoid rapid sensor readings except KeyboardInterrupt: servo_pwm.stop() GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 touch_sensor_servo.py
  • Berühren Sie den Touch Sensor mehrmals.
  • Beobachten Sie, wie sich der Winkel des Servo Motors ändert.

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

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.

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