Search wiring.org.co:

This example is for Wiring version 0024+. If you have a previous version, use the examples included with your software. If you see any errors or have comments, please let us know.

Driving Servo from a graphical user interface by BARRAGAN
Receives data from the serial from Processing to position a servo motor

    #include <Servo.h>

    Servo myservo;              // create servo object to control a servo

    int val = 0;                // variable to read from the serial port

    void setup()
    {
      myservo.attach(0);        // attaches the servo on pin 0 to the servo object
      Serial.begin(9600);       // starts the serial Serial at 9600 bauds
    }

    void loop()
    {
      if( Serial.available() )  // if data is available to read
      {
        val = Serial.read();    // read it and store it in 'val'
      }
      myservo.write(val);       // sets the servo position according to value in val
      delay(15);                // waits for the servo to get there
    }

    /* Processing code for this example

    // servo serial
    // by BARRAGAN <http://barraganstudio.com>

    // Write data to the serial according to the position of a marker
    // controlled by the mouse to position a servo motor

    // created 2 January 2006

    import processing.serial.*;

    Serial port;  		  // create serial port object
    int val;      		  // variable to receive data from the serial port
    float mx = 0.0;
    boolean firstTime = true;

    void setup()
    {
      size(200, 200);
      noStroke();
      frameRate(10);

      // List all the available serial ports in the output pane.
      // You will need to choose the port that the Wiring board is
      // connected to from this list. The first port in the list is
      // port #0 and the third port in the list is port #2.
      println(Serial.list());

      // Open the port that the Wiring board is connected to (in this case #2)
      // Make sure to open the port at the same speed Wiring is using (9600bps)
      port = new Serial(this, Serial.list()[1], 9600);
    }

    void draw()
    {
      // one time wait for 3 seconds before starting to send data to
      // the serial
      if(firstTime) {
        delay(3000);
        firstTime = false;
      }
      background(#222222);		// clear background
      fill(#555555);		// set fill color
      rect(40, height/2-15, 120, 25);	// draw square

      float dif = mouseX - mx;
      if(abs(dif) > 1.0) {
        mx = mx + dif/4.0;
      }
      mx = constrain(mx, 50, 150-1);// keeps marker on the screen
      noStroke();
      fill(255);
      rect(50, height/2-5, 100, 5);
      fill(204, 102, 0);

      rect(mx-2, height/2-5, 4, 5);// draws the position marker
      int angle = (int)(mx-50)*180/100;	// scales the maker value to one in the range 0-180
      //print(angle + " ");		// prints the current angle (debug)
      port.write(angle);		// writes the angle to the serial port
    }

    */