def init(): # servoMin = 150 # Min pulse length out of 4096 # servoMax = 600 # Max pulse length out of 4096 pwm = PWM(0x40) # pwm = PWM(0x40, debug=True) pwm.setPWMFreq(60) # Set frequency to 60 Hz # pwm.setPWM(0, 0, 450) #medium return pwm
def init(): #servoMin = 150 # Min pulse length out of 4096 #servoMax = 600 # Max pulse length out of 4096 pwm = PWM(0x40) #pwm = PWM(0x40, debug=True) pwm.setPWMFreq(60) # Set frequency to 60 Hz #pwm.setPWM(0, 0, 450) #medium return pwm
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): pwm.setPWM(3, 0, 375) time.sleep(1) pwm.setPWM(3, 0, 450) time.sleep(1) pwm.setPWM(3, 0, 525) time.sleep(1) pwm.setPWM(3, 0, 450) time.sleep(1) ''' pwm.setPWM(0, 0, servoMin) time.sleep(1) pwm.setPWM(0, 0, servoMax)
servoMax = 600 # Max pulse length out of 4096 def setServoPulse(channel, pulse): pulseLength = 1000000 # 1,000,000 us per second pulseLength /= 5 # 50 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, int(pulse)) def setServo(position): servoMin = 105 servoMax = 525 servoRange = servoMax - servoMin servoValue = ((position / 180) * servoRange) + servoMin pwm.setPWM(0, 0, int(servoValue)) pwm.setPWMFreq(49) # Set frequency to 60 Hz # pwm.setPWM(0,0,525) while (True): setServo(0) time.sleep(1) setServo(180) time.sleep(1)
#!/usr/bin/python import time from Sunfounder_PWM_Servo_Driver import PWM pwm = PWM(0x40) pwm.setPWMFreq(60) # Min found around 150 # Max found around 700 servoMin = 150 servoMax = 700 servoMid = servoMin + (servoMax - servoMin) / 2 debug = False mouthChannel = 0 headChannel = 4 def log(string): if debug: print string return def setServoValue(channel, value): pwm.setPWM(channel, 0, value) log("Setting channel " + str(channel) + " to " + str(value)) return