This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

Name

SoftwareServo

Examples
import processing.io.*;
SoftwareServo servo;

void setup() {
  servo = new SoftwareServo(this);
  servo.attach(4);

  // On the Raspberry Pi, GPIO 4 is pin 7 on the pin header,
  // located on the fourth row, above one of the ground pins
}

void draw() {
  // we don't go right to the edge to prevent
  // making the servo unhappy
  float angle = 90 + sin(frameCount / 100.0)*85;
  servo.write(angle);
}

Description Opens an RC servo motor connected to a GPIO pin

This library uses timers to control RC servo motors by means of pulse width modulation (PWM). While not as accurate as dedicated PWM hardware, it has shown to be sufficient for many applications.

Connect the signal wire (typically colored yellow) to any available GPIO pin and control the servo's angle as shown in the example sketch.
Methods
attach() Attaches a servo motor to a GPIO pin
attach() Attaches a servo motor to a GPIO pin using custom pulse widths
write() Moves a servo motor to a given orientation
attached() Returns whether a servo motor is attached to a pin
detach() Detatches a servo motor from a GPIO pin
Constructor
SoftwareServo(parent)
Parameters
parent PApplet: typically use "this"
Updated on January 1, 2021 03:38:10am EST