» » X1 – 02.0 Servo

X1 – 02.0 Servo

eingetragen in: X1 | 0

 

Servo Basics

Da wir in diesem Lernkurs davon ausgehen dass Ihr einen X1 habt und diesen so schnell wie möglich zum Laufen bekommen wollt, machen wir das jetzt einfach. Der Code wird dir in kurzer Zeit nicht mehr so komplex vorkommen und wir werden auch noch einige male die hier gelernten Techniken wiederholen.

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
}

 

 

 

#include <Servo.h>

 

 

 

 
 
 

Step 1

Mit #include fügst du eine neue Libary ein (Bibliothek). Du musst dir das vorstellen als würde dein Programm vorher ein Paar Formelsammlungen durchlesen, damit es versteht was du von ihm willst. In diesem Fall laden wir die Servo-Libary ein. Diese enthält beispielsweise den Befehl Servo den wir gleich verwenden. Die "<>" Schreibweise verwendest du in Arduino hauptsächlich im Zusammenhang mit #include.

 

 

 

Servo meinServo;

 

 

 

 
 
 

Step 2

Hier sehen wir jetzt einen Befehl den wir durch die neue Libary verwenden können. Der Befehl Servo erstellt einen neuen Servo (Programm-Intern). In unserem Fall heißt dieser „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.

 

 

 

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

 

 

 

 
 
 

Step 3

In void setup() müssen wir sagen an welchem Pin unser Servo nun angeschlossen ist. Da es sich hier um einen Servo handelt können wir nicht wie vorher pinMode benutzen. Außer für die Servos benutzen wir diesen Befehl jedoch nahezu immer.
Bei Servos beginnen wir mit dem Namen, also meinServo. Mit einem Punkt getrennt nutzen wir attach um einen Pin zuzuweisen.

In Worten sagen wir das meinServo aktiviert werden soll und zwar an Pin 10.

 

 

 

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

 

 

 

 
 
 

Step 4

Da ein Servo gerne wüsste wo er hin soll, müssen wir ihm einen Wert zwischen 0 und 180 geben. Das machen wir in dem wir wieder erst den Namen des Servos schreiben. Mit einem Punkt getrennt verwenden wir write um eine Position anzugeben. In Klammern kommt dann noch die Position an dem wir ihn gerne hätten. Wichtig, Zeile abschließen.
Danach setze wir noch ein kurzes delay da das Programm sonst durchgehend diese Position senden würde und das einfach nicht notwendig ist.

 

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 wir eine zusätzliche Libary verwenden. Jedoch wollen wir einen Laufenden Roboter programmieren sodass wir den kleinen Mehraufwand in kauf nehmen um früher Richtige Ergebnisse zu sehen.
 
 
 

Bitte hinterlasse eine Antwort