Raspberry Pi Servo Motor via Bluetooth steuern

Diese Anleitung zeigt Ihnen, wie Sie einen Raspberry Pi programmieren, um einen Servo Motor entweder über Bluetooth (HC-05 Modul) oder BLE (HM-10 Modul) zu steuern. Schritt-für-Schritt-Anleitungen für beide Module werden bereitgestellt.

Wir verwenden die Bluetooth Serial Monitor App auf einem Smartphone, um den Winkelwert an den Raspberry Pi zu übertragen. Der Raspberry Pi passt den Servo Motor basierend auf dem empfangenen Wert an.

Raspberry Pi Servo Motor Bluetooth

Benötigte Hardware

1×Raspberry Pi 5
1×HC-05 Bluetooth Modul
1×(Alternativ) HM-10 BLE Modul
1×Servo-Motor
1×Jumper Kabel
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 Bluetooth Modul

Falls Sie nicht mit Servo Motoren, Bluetooth Modulen, deren Pinbelegung, Funktionen und Programmierung vertraut sind, lesen Sie bitte die folgenden Anleitungen für weitere Informationen:

Schaltplan

  • Um einen Servo Motor mit Classic Bluetooth zu steuern, sollte das HC-05 Bluetooth Modul verwendet werden und der bereitgestellte Schaltplan konsultiert werden.
Raspberry Pi Servo Motor Bluetooth Schaltplan

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

  • Um einen Servo Motor mit BLE zu steuern, sollte das HM-10 BLE Modul verwendet werden. Der Schaltplan ist unten als Referenz angegeben.
Raspberry Pi Servo Motor BLE 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

Raspberry Pi Code - Servo Motor via Bluetooth/BLE steuern

Der hier angegebene Code kann sowohl mit dem HC-05 Bluetooth Modul als auch mit dem HM-10 BLE Modul verwendet werden.

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.
  • Falls Sie den Raspberry Pi zum ersten Mal verwenden, siehe wie Sie den Raspberry Pi einrichten
  • Verbinden Sie Ihren PC mit dem Raspberry Pi über SSH unter Verwendung des integrierten SSH-Clients auf Linux und macOS oder PuTTY auf Windows. Siehe wie Sie Ihren PC mit dem Raspberry Pi über SSH 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
pip install pyserial
  • Erstellen Sie eine Python-Skriptdatei bluetooth_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-control-servo-motor-via-bluetooth import serial import RPi.GPIO as GPIO from time import sleep # Define pins SERVO_PIN = 16 # GPIO 16 (Servo pin) # Set up GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(SERVO_PIN, GPIO.OUT) # Create serial port for Bluetooth communication bluetooth = serial.Serial('/dev/ttyS0', baudrate=9600, timeout=1) # Create servo object servo = GPIO.PWM(SERVO_PIN, 50) # 50 Hz frequency for standard servo # Start PWM with 0% duty cycle (servo at 0 degrees) servo.start(0) def rotate_servo(angle): duty_cycle = 2 + (angle / 18) # Map angle to duty cycle (for a standard servo) servo.ChangeDutyCycle(duty_cycle) sleep(1) # Give servo time to move # Main program try: bluetooth.flushInput() # Clear any existing data in the input buffer while True: bluetooth.write(b"Raspberry Pi here, command me!\n") if bluetooth.inWaiting() > 0: angle = bluetooth.parseInt() if 0 <= angle <= 180: rotate_servo(angle) bluetooth.write(b"Rotated servo to angle: ") bluetooth.write(str(angle).encode('utf-8')) bluetooth.write(b"\n") else: bluetooth.write(b"Invalid angle: ") bluetooth.write(str(angle).encode('utf-8')) bluetooth.write(b"\n") # Add a delay to avoid excessive looping sleep(0.1) except KeyboardInterrupt: pass finally: servo.stop() GPIO.cleanup() bluetooth.close()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 bluetooth_servo.py

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

  • Installieren Sie die Bluetooth Serial Monitor App auf Ihrem Smartphone.
  • Öffnen Sie die Bluetooth Serial Monitor App auf Ihrem Smartphone und wählen Sie entweder die Classic Bluetooth oder BLE Option, je nachdem welches Modul Sie verwenden.
Bluetooth Serial Monitor App
  • Verbinden Sie die App mit dem HC-05 Bluetooth Modul oder HM-10 BLE Modul.
Bluetooth Serial Monitor Kopplung
  • Geben Sie einen Winkel ein, wie z.B. 45 oder 90, und drücken Sie dann die Senden Taste.
Bluetooth Serial Monitor App
  • Beobachten Sie die Winkeländerung des Servo Motors.
  • Überprüfen Sie die Ergebnisse in der Android App.
Bluetooth Serial Monitor App

Falls Sie die Bluetooth Serial Monitor App hilfreich finden, bewerten Sie sie bitte mit 5 Sternen im Play Store. Vielen Dank für Ihre Unterstützung!

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!