-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathservoblst.py
More file actions
33 lines (24 loc) · 766 Bytes
/
servoblst.py
File metadata and controls
33 lines (24 loc) · 766 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import time
import os
servos = {}
class ServoController:
def __init__(self):
os.system('sudo /home/pi/PiBits/ServoBlaster/user/servod')
def setAngle(self, servo_id, degrees):
if degrees > 90:
degrees = 90
elif degrees < -90:
degrees = -90
#http://www.raspberrypi.org/forums/viewtopic.php?f=44&t=36572
pulse = 1520 + (degrees * 400) / 45
os.system("echo %d=%d > /dev/servoblaster" % (servo_id, pulse/10))
time.sleep(0.1)
servos[servo_id] = degrees
#print "angle=%s pulse=%s" % (degrees, pulse)
return servos[servo_id]
def incAngle(self, servo_id, increment):
angle = servos.get(servo_id, 0)
return self.setAngle(servo_id, angle + increment)
def clean_up(self):
print "cleaning up"
os.system('sudo killall servod')