| 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
34
35
36
37
38
39
 | #!/usr/bin/python
from Adafruit_PWM_Servo_Driver import PWM
import time
import random
# ===========================================================================
# Example Code
# ===========================================================================
# Initialise the PWM device using the default address
pwm = PWM(0x40, debug=False)
# Note if you'd like more debug output you can instead run:
#pwm = PWM(0x40, debug=True)
servoMin = 150  # Min pulse length out of 4096
servoMax = 600  # Max pulse length out of 4096
def setServoPulse(channel, pulse):
  pulseLength = 1000000                   # 1,000,000 us per second
  pulseLength /= 60                       # 60 Hz
  print "%d us per period" % pulseLength
  pulseLength /= 4096                     # 12 bits of resolution
  print "%d us per bit" % pulseLength
  pulse *= 1000
  pulse /= pulseLength
  pwm.setPWM(channel, 0, pulse)
pwm.setPWMFreq(60)                        # Set frequency to 60 Hz
while (True):
    for x in range(0,15) :
        # Change speed of continuous servo on channel O
     	pwm.setPWM(x, x, servoMin)
 	time.sleep(random.uniform(0.005,0.0001))
  	pwm.setPWM(x, x, servoMax)
 	time.sleep(random.uniform(0.005,0.0001))
 |