» » X1 – 02.0 Servo

X1 – 02.0 Servo

eingetragen in: X1 | 0

 

Servo Basics

Da wir in diesem Lernkurs davon ausgehen dass du einen X1 hast und diesen sicher so schnell wie möglich zum laufen bekommen willst, zeigen wir dir jetzt, wie das funktioniert. Anfangs kann es sein, dass dir der Code etwas komplex vorkommt, aber keine Sorge. Du wirst sehen, dass dieses Gefühl schnell nachlässt und du außerdem die hier gelernten Techniken auch noch einige male wiederholen wirst.

Video-Beispiel:

 

Code-Beispiel:

#include <Servo.h>     //Füge die Bibiliotek Servo hinzu

Servo meinServo; //Servo(aus ServoBibiliotek) wird benannt "meinServo"

void setup() {
meinServo.attach(10); //Pin 10 soll ein Servo sein
}

void loop() {
meinServo.write(80); //meinServo soll auf Position 60
delay(100); //Warte 100ms
}

 
 
 

Step 1

Mit #include fügst du eine neue Libary (Bibliothek) ein. Du musst dir das so vorstellen, dein Programm muss ein Paar Notizen durchlesen, damit es versteht was du ihm sagen möchtest. In diesem Fall lädst du die Servo-Libary ein. Diese enthält beispielsweise den Befehl Servo den du gleich verwenden wirst. Libarys sind Headerdatein und haben daher die Endung .h. Die "<>" Schreibweise verwendest du in Arduino hauptsächlich im Zusammenhang mit #include

 

 

 

#include <Servo.h>

 

 

 

 
 
 

Step 2

Hier siehst du jetzt einen Befehl den du durch die neue Libary verwenden kannst. Der Befehl Servo erstellt einen neuen Servo (Programm-Intern). Der Name für unseren Servo ist hier „meinServo“. Diese Schreibweise nennt sich „Camel-Case“ und wir nutzen es da sie sehr übersichtlich ist und keine Leerzeichen in einem Namen verwendet werden dürfen. Etwas älter aber immer noch oft gesehen, gerade in Windows, ist mein_Servo, wir finden diese Schreibweise aber veraltet und auch nicht so schön.

 

 

 

Servo meinServo;

 

 

 

 
 
 

Step 3

In void setup() musst du sagen an welchem Pin unser Servo nun angeschlossen ist. Da es sich hier um einen Servo handelt kannst du nicht wie vorher pinMode benutzen, außer für die Servos benutzt du diesen Befehl jedoch nahezu immer.
Bei Servos beginnst du mit dem Namen, also meinServo. Durch einen Punkt getrennt, schreibst du dann attach um einen Pin zuzuweisen.

In Worten sagst du das meinServo aktiviert werden soll und zwar an Pin 10.

 

 

 

void setup() {
meinServo.attach(10);
}

 

 

 

 
 
 

Step 4

Da ein Servo wissen muss wo er hin soll, musst du ihm einen Wert zwischen 0 und 180 geben. Das machst du in dem du wieder erst den Namen des Servos schreibst. Mit einem Punkt getrennt, verwendest du write um eine Position anzugeben. In Klammern kommt dann die Position an dem du ihn gerne hättst. Wichtig, Zeile abschließen nicht vergessen.
Danach setzt du noch ein kurzes delay da das Programm sonst durchgehend diese Position senden würd, was nicht notwendig wäre.

 

 

 

void loop() {
meinServo.write(80);
delay(100);0ms
}

 

 

 

 

Fazit

Dieser Code sieht schon ganz anders aus, wie das Vorherige Programm. Vor allem die Servos unterscheiden sich von der Schreibweise im Vergleich zu LEDs, Schaltern und Co. Das liegt daran, dass du eine zusätzliche Libary verwendest. Jedoch willst du einen laufenden Roboter programmieren, weshalb du den kleinen Mehraufwand in kauf nimmst um früher richtige Ergebnisse zu sehen.
 
 
 

Bitte hinterlasse eine Antwort