.. note:: Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten. **Warum beitreten?** - **Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams. - **Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern. - **Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken. - **Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte. - **Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil. 👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei! .. _py_move: 2. Lassen Sie PiCar-X sich bewegen ====================================== Dies ist das erste Projekt, testen wir die grundlegende Bewegung des Picar-X. **Code ausführen** .. raw:: html .. code-block:: cd ~/picar-x/example sudo python3 2.move.py Nachdem der Code ausgeführt wurde, wird PiCar-X vorwärts fahren, in einer S-Form abbiegen, anhalten und den Kopf schütteln. **Code** .. note:: Sie können den untenstehenden Code **modifizieren/zurücksetzen/kopieren/ausführen/stoppen**. Bevor Sie das tun, müssen Sie jedoch zum Quellcodepfad wie ``picar-x/example`` gehen. Nachdem Sie den Code modifiziert haben, können Sie ihn direkt ausführen, um den Effekt zu sehen. .. raw:: html .. code-block:: python from picarx import Picarx import time if __name__ == "__main__": try: px = Picarx() px.forward(30) time.sleep(0.5) for angle in range(0,35): px.set_dir_servo_angle(angle) time.sleep(0.01) for angle in range(35,-35,-1): px.set_dir_servo_angle(angle) time.sleep(0.01) for angle in range(-35,0): px.set_dir_servo_angle(angle) time.sleep(0.01) px.forward(0) time.sleep(1) for angle in range(0,35): px.set_camera_servo1_angle(angle) time.sleep(0.01) for angle in range(35,-35,-1): px.set_camera_servo1_angle(angle) time.sleep(0.01) for angle in range(-35,0): px.set_camera_servo1_angle(angle) time.sleep(0.01) for angle in range(0,35): px.set_camera_servo2_angle(angle) time.sleep(0.01) for angle in range(35,-35,-1): px.set_camera_servo2_angle(angle) time.sleep(0.01) for angle in range(-35,0): px.set_camera_servo2_angle(angle) time.sleep(0.01) finally: px.forward(0) **Wie funktioniert des?** Die grundlegende Funktionalität von PiCar-X ist im Modul ``picarx`` enthalten, welches zur Steuerung von Lenkservos und Rädern verwendet werden kann, und lässt das PiCar-X vorwärtsfahren, in einer S-Form abbiegen oder den Kopf schütteln. Nun werden die Bibliotheken importiert, die die grundlegende Funktionalität von PiCar-X unterstützen. Diese Zeilen erscheinen in allen Beispielen, die die Bewegung von PiCar-X involvieren. .. code-block:: python :emphasize-lines: 0 from picarx import Picarx import time Die folgende Funktion mit der ``for``-Schleife wird dann verwendet, um PiCar-X vorwärts zu bewegen, die Richtung zu ändern und die Schwenk-/Neigeplattform der Kamera zu bewegen. .. code-block:: python px.forward(speed) px.set_dir_servo_angle(angle) px.set_camera_servo1_angle(angle) px.set_camera_servo2_angle(angle) * ``forward()``: Befiehlt dem PiCar-X, mit einer bestimmten ``speed`` vorwärtszufahren. * ``set_dir_servo_angle``: Dreht den Lenkservo in einen bestimmten ``angle``. * ``set_cam_pan_angle``: Dreht den Pan-Servo in einen bestimmten ``angle``. * ``set_cam_tilt_angle``: Dreht den Neige-Servo in einen bestimmten ``angle``. .. image:: img/pan_tilt_servo.png :width: 400