Search wiring.org.co:

This example is for Wiring version 1.0 build 0100+. 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.

Use setPWMResolution and fade an LED brightness by BARRAGAN http://barraganstudio.com
Demonstrates the use of PWM pin 4 dimming an LED using the analogWrite() command and the setPWMResoultion command. By default 8-bit resolution is set in all PWM pins On Wiring v1 boards the PWM capable pins are: 29, 30, 31, 35, 36 and 37 and all are 8, 9 and 10 bit resolution capable On Wiring S board the PWM capable pins are: 4, 5, 6, 7, 19 and 20 and only 4 and 5 are 8, 9 and 10 bit resolution capable

    int brightness = 0;    // LED brightness
    int increment = 5;     // brightness increment

    void setup()
    {
      pinMode(4, OUTPUT);      // set PWM pin as output
      setPWMResolution(4, 10); // set PWM resolution to 10-bit (now values range in 0-1023)
    }

    void loop()
    {
      // increment brightness for next loop iteration
      brightness = brightness + increment;
      // reverse the direction of the fading
      // since 10-bit resolution is active,
      // possible values are in the range 0-1023
      if (brightness <= 0 || brightness >= 1023)
      {

        increment = -increment;
      }

      // keep brightness in the range
      brightness = constrain(brightness, 0, 1023);
      analogWrite(4, brightness); // set the PWM output

      // wait for 20 milliseconds to see the dimming effect
      delay(20);
    }