Servo Beispiel
Der Servo (auch Rudermaschine) hat die Aufgabe, entsprechend dem Signal, dass er vom Empfänger erhält, die Ruder (oder andere Komponenten am Modell) zu stellen.
Servo lassen sich, in der Regel, von 0 - 180° bewegen. Der entsprechende Stellwinkel wird mittels eines Wert von 0.0 bis 1.0 angegeben.
Es gibt analoge und digitale Servo's. Der Unterschied liegt darin, dass digitale Servo erst anfangen den Stellwinkel zu wechseln, wenn ein sauberes Signal anliegt.
Servo haben einen Stellmoment bzw. die Stellkraft, z.B. 9 Gramm, welche nicht überschritten werden sollte.
Servo benötigt die Servo Library. Diese Steuert einen Servo mittels PWM Signal an.
Anwendungen
- Steuerung von Roboterarmen
- Modellflugzeuge
- Schalten von Weichen auf der Modelleisenbahn
Anschlussbelegung (Servo - Shield)
Der Servo wird mit 5V betrieben und kann direkt auf einen der Servo Header (D9 oder D10) gesteckt werden. Das orange Kabel zeigt nach links
Revision 2:fbe80f505ced, committed 2015-05-20
- Comitter:
- stefan1691
- Date:
- Wed May 20 12:12:00 2015 +0000
- Parent:
- 1:32f0eb92121b
- Commit message:
- Servo kalibrieren, damit er die vollen 180? verwendet.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 32f0eb92121b -r fbe80f505ced main.cpp --- a/main.cpp Wed Mar 25 12:03:02 2015 +0000 +++ b/main.cpp Wed May 20 12:12:00 2015 +0000 @@ -8,17 +8,20 @@ int main() { + // Servo kalibrieren, damit er die vollen 180° verwendet. + servo.calibrate ( 0.0009, 180.0); + while ( 1 ) { // Servo langsam bewegen (immer in der Mitte Anfangen mit Tests, sonst besteht die Gefahr von Schäden) - for ( float p = 0.4f; p < 0.6f; p += 0.0001f ) + for ( float p = 0.2f; p <= 0.8f; p += 0.0001f ) { servo = p; wait(0.001); } wait( 1.0 ); // und die andere Seite - for ( float p = 0.6f; p >= 0.4f; p -= 0.0001f ) + for ( float p = 0.8f; p >= 0.2f; p -= 0.0001f ) { servo = p; wait(0.001);