3.7 - Schwingender Servo

In diesem Set gibt es neben LED und passivem Summer auch ein Gerät, das durch ein PWM-Signal gesteuert wird: der Servo.

Ein Servo ist ein Positionsservo-Gerät, das für Steuerungssysteme geeignet ist, die ständige Winkeländerungen erfordern und aufrechterhalten können. Es wird häufig in hochwertigen ferngesteuerten Spielzeugen eingesetzt, wie Flugzeugen, U-Boot-Modellen und ferngesteuerten Robotern.

Jetzt versuchen Sie, den Servo schwingen zu lassen!

Benötigte Komponenten

Für dieses Projekt benötigen wir folgende Komponenten:

Es ist sicherlich praktisch, ein komplettes Set zu kaufen. Hier ist der Link:

Name

ARTIKEL IN DIESEM SET

KAUF-LINK

Kepler Kit

450+

Kepler Kit

Sie können diese auch separat über die untenstehenden Links kaufen.

SN

KOMPONENTENBESCHREIBUNG

ANZAHL

KAUF-LINK

1

Raspberry Pi Pico W

1

BUY

2

Micro-USB-Kabel

1

3

Steckbrett

1

BUY

4

Jumperkabel

Mehrere

BUY

5

Servo

1

BUY

Schaltplan

sch_servo

Verkabelung

wiring_servo

  • Das orangefarbene Kabel ist das Signal und wird an GP15 angeschlossen.

  • Das rote Kabel ist VCC und wird an VBUS(5V) angeschlossen.

  • Das braune Kabel ist GND und wird an GND angeschlossen.

Code

Bemerkung

  • Sie können die Datei 3.7_swinging_servo.ino im Pfad kepler-kit-main/arduino/3.7_swinging_servo öffnen.

  • Oder kopieren Sie diesen Code in die Arduino IDE.

  • Vergessen Sie nicht, die Platine (Raspberry Pi Pico) und den richtigen Port auszuwählen, bevor Sie auf die Schaltfläche Hochladen klicken.

Wenn das Programm läuft, sehen wir, wie der Servoarm sich von 0° bis 180° hin und her bewegt.

Wie funktioniert es?

Mit Hilfe der Bibliothek Servo.h können Sie den Servo leicht steuern.

#include <Servo.h>

Bibliotheksfunktionen

Servo

Erstellen Sie ein Servo-Objekt, um einen Servo zu steuern.

uint8_t attach(int pin);

Verwandeln Sie einen Pin in einen Servo-Treiber. Ruft pinMode auf. Gibt 0 bei Fehler zurück.

void detach();

Gibt einen Pin vom Servo-Treiber frei.

void write(int value);

Setzt den Winkel des Servos in Grad, von 0 bis 180.

int read();

Gibt den mit dem letzten write()-Befehl eingestellten Wert zurück.

bool attached();

Gibt 1 zurück, wenn der Servo aktuell angeschlossen ist.