Go Down

Topic: Servo Problem. (Read 910 times) previous topic - next topic


Nov 09, 2009, 04:45 pm Last Edit: Nov 09, 2009, 04:52 pm by KYL3R Reason: 1
Hey, ich versuche momentan meinen Servo in Gang zu bringen.
Habe ihn angeschlossen wie auf dem Bild. zu finden hier: http://www.arduino.cc/playground/Learning/SingleServoExample .

Wenn ich jetzt ein Beispiel lade, tut sich beim "uploaden" etwas, minimale bewegungen. Aber wenn die loop-schleife dann laufen sollte(nach dem uploaden) tut sich nichts.. auch das Beispiel mit Processing geht nicht. Woran kann das liegen ? Ist mein Servo vielleicht kaputt ?

edit : Hat sich erledigt, das ander Beispiel(aus "examples") geht, ich musste nur das kabel auch in pin 9 stecken wie im script vorgesehen, das ändern auf 14, wie ich es angeschlossen hatte, funktionierte nicht.

Dennoch geht das beispiel mit processing nicht. aber ich glaube so wie es jetzt geht, reicht es mir.


Hallo KYL3R,

ein Servo wird mittels PWM gesteuert. Daher kann es an Pin 14 (? welches Board hast du denn) nicht klappen.

Ein Arduino Duemilanove / Diecimila (ATMEGA168/328) kann PWM an Pin 3, 5, 6, 9, 10 und 11 liefern ;-)

Lieben Gruß


Nov 10, 2009, 12:04 pm Last Edit: Nov 10, 2009, 12:11 pm by mem Reason: 1
Sorry to reply in English but I hope the following makes things clearer:

That example uses a software servo library that does not use PWM so it should work in any pin.  Unfortunately, the library name conflicts with the naming of servo library distributed with Arduino and its not good to have two libraries on your system with the same name. But the Arduino Servo library that comes with version 0017 will also work on any pin so I suggest you remove the software servo library (if you have downloaded it) and use the Arduino library.

edit: I see you now have it working, but you may still want to switch to the arduino library, it has the advantage that you do not need to repeatedly call the refresh function in loop.

The following version of that sketch should work with the Arduino Servo Library:
Code: [Select]
#include <Servo.h>

Servo servo1; Servo servo2;

void setup() {
 servo1.attach(14); //analog pin 0
 servo2.attach(15); //analog pin 1

void loop() {

 static int v = 0;

 if ( Serial.available()) {
   char ch = Serial.read();

   switch(ch) {
     case '0'...'9':
       v = v * 10 + ch - '0';
     case 's':
       v = 0;
     case 'w':
       v = 0;
     case 'd':
     case 'a':


I already wrote, problem solved, it was meant to be pin 14 , but it didn´t work. I used the other example, where pin9 was suggested, i changed code to pin14(where i put my wire in) and it didn´t work as well, then I just changed it to pin 9 again, and put my wire in pin 9 as well, and then it worked.

Poldi, ja genau, jetzt steuere ich es über pin 9 an, wie oben(in englisch) beschrieben. Beispiel war auf pin 14 ausgelegt, funktionierte nicht, anderes beispiel auf pin9 ausgelegt, ging nicht nachdem ich den code auf 14 geändert hatte(wo mein draht drinsteckte), dann wieder auf 9 geändert und auch den draht in pin9 gesteckt, dann liefs.

Danke nochmal.


Yes, I saw you had solved the problem shortly after I posted my reply so edited my post accordingly.

Good to hear you have it going.

Viel Spaß!

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131