Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Simple demo of of the PCA9685 PWM servo/LED controller library.
- # This will move channel 0 from min to max position repeatedly.
- from __future__ import division
- import time
- import Adafruit_PCA9685
- # Initialise the PCA9685 using the default address (0x40).
- pwm = Adafruit_PCA9685.PCA9685()
- servo_min = 150 # Min pulse length out of 4096
- servo_max = 600 # Max pulse length out of 4096
- def set_servo_pulse(channel, pulse):
- pulse_length = 1000000 # 1,000,000 us per second
- pulse_length //= 60 # 60 Hz
- print('{0}us per period'.format(pulse_length))
- pulse_length //= 4096 # 12 bits of resolution
- print('{0}us per bit'.format(pulse_length))
- pulse *= 1000
- pulse //= pulse_length
- pwm.set_pwm(channel, 0, pulse)
- # Set frequency to 60hz, good for servos.
- pwm.set_pwm_freq(60)
- print('Moving servo on channel 0, press Ctrl-C to quit...')
- while True:
- # Move servo on channel O between extremes.
- pwm.set_pwm(0, 0, servo_min)
- time.sleep(1)
- pwm.set_pwm(0, 0, servo_max)
- time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement