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+ |
Sie können diese auch separat über die untenstehenden Links kaufen.
SN |
KOMPONENTENBESCHREIBUNG |
ANZAHL |
KAUF-LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 |
Schaltplan
Verkabelung
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 Pfadkepler-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.