Raspberry Pi, Python Servo Control
The following python code, along with Adafruit PWM and Servo Kernel allows you to control a servo with the following syntax:
python servo.py [degree] [degree] [degree]...
Example rotation to 180 and back to 0 twice:
python servo.py 0 180 0 180 0
# Servo Control
import time
import sys
def set(property, value):
try:
f = open("/sys/class/rpi-pwm/pwm0/" + property, 'w')
f.write(value)
f.close()
except:
print("Error writing to: " + property + " value: " + value)
def setServo(angle):
set("servo", str(angle))
set("delayed", "0")
set("mode", "servo")
set("servo_max", "180")
point = 1
while point < len(sys.argv):
setServo(sys.argv[point])
time.sleep(0.5) #may need to change depending on speed of servo to allow full range of movement
point = point + 1
If you want to build in a non-standard time delay we simply change:
time.sleep(0.5)
to time.sleep(float(sys.argv[1]))
and now we can use the syntax like such:
python servo.py [delay] [degree] [degree] [degree]...
On top of this if you want to program your own delays as arguments you could with sys.argv.