#!/usr/bin/python from ABElectronics_ServoPi import PWM import time # Initialise the PWM device using the default address, change this value if you have bridged the address selection jumpers pwm = PWM(0x40) pwm.outputEnable() servoMin = 180 # Min pulse length out of 4096 servoMed = 400 # Min pulse length out of 4096 servoMax = 550 # Max pulse length out of 4096 # Set PWM frequency to 60 Hz pwm.setPWMFreq(60) pwm.setPWM(0, 0, servoMax) pwm.setPWM(1, 0, servoMax) pwm.setPWM(2, 0, servoMax) pwm.setPWM(3, 0, servoMax) pwm.setPWM(4, 0, servoMax) pwm.setPWM(5, 0, servoMax) pwm.setPWM(6, 0, servoMax) pwm.setPWM(7, 0, servoMax) pwm.setPWM(8, 0, servoMin) pwm.setPWM(9, 0, servoMin) pwm.setPWM(10, 0, servoMin) pwm.setPWM(11, 0, servoMin) pwm.setPWM(12, 0, servoMin) pwm.setPWM(13, 0, servoMin) pwm.setPWM(14, 0, servoMin) pwm.setPWM(15, 0, servoMin) while (True): for x in range(0, 8, 1): pwm.setPWM(x, 0, servoMin) time.sleep(0.08) time.sleep(0.3) for x in range(8, 16, 1): pwm.setPWM(x, 0, servoMax) time.sleep(0.08) time.sleep(0.3) for x in range(0, 8, 1): pwm.setPWM(x, 0, servoMax) time.sleep(0.08) time.sleep(0.3) for x in range(8, 16, 1): pwm.setPWM(x, 0, servoMin) time.sleep(0.08) time.sleep(0.3) for x in range(0, 8, 1): pwm.setPWM(x, 0, servoMin) pwm.setPWM(x+8, 0, servoMax) time.sleep(0.08) time.sleep(0.3) for x in range(7, -1, -1): pwm.setPWM(x, 0, servoMax) pwm.setPWM(x+8, 0, servoMin) time.sleep(0.08) time.sleep(0.3) for x in range(0, 3, 1): pwm.setPWM(0, 0, servoMin) pwm.setPWM(1, 0, servoMin) pwm.setPWM(2, 0, servoMin) pwm.setPWM(3, 0, servoMin) pwm.setPWM(4, 0, servoMin) pwm.setPWM(5, 0, servoMin) pwm.setPWM(6, 0, servoMin) pwm.setPWM(7, 0, servoMin) pwm.setPWM(8, 0, servoMax) pwm.setPWM(9, 0, servoMax) pwm.setPWM(10, 0, servoMax) pwm.setPWM(11, 0, servoMax) pwm.setPWM(12, 0, servoMax) pwm.setPWM(13, 0, servoMax) pwm.setPWM(14, 0, servoMax) pwm.setPWM(15, 0, servoMax) time.sleep(0.3) pwm.setPWM(0, 0, servoMax) pwm.setPWM(1, 0, servoMax) pwm.setPWM(2, 0, servoMax) pwm.setPWM(3, 0, servoMax) pwm.setPWM(4, 0, servoMax) pwm.setPWM(5, 0, servoMax) pwm.setPWM(6, 0, servoMax) pwm.setPWM(7, 0, servoMax) pwm.setPWM(8, 0, servoMin) pwm.setPWM(9, 0, servoMin) pwm.setPWM(10, 0, servoMin) pwm.setPWM(11, 0, servoMin) pwm.setPWM(12, 0, servoMin) pwm.setPWM(13, 0, servoMin) pwm.setPWM(14, 0, servoMin) pwm.setPWM(15, 0, servoMin) time.sleep(0.3)