Exit the Python Console by typing:
>>> exit()
This should take you back to the Linux prompt.
Enter the following command to create a new files called servo.py
Enter the following command to create a new files called servo.py
nano servo.py
Now paste the code below into the editor window.
NOTE: Don't forget to add the inverse parameter to the PWM.start function if you found it was required to make your servos move in the previous page!
NOTE: Don't forget to add the inverse parameter to the PWM.start function if you found it was required to make your servos move in the previous page!
import Adafruit_BBIO.PWM as PWM servo_pin = "P8_13" duty_min = 3 duty_max = 14.5 duty_span = duty_max - duty_min PWM.start(servo_pin, (100-duty_min), 60.0) while True: angle = raw_input("Angle (0 to 180 x to exit):") if angle == 'x': PWM.stop(servo_pin) PWM.cleanup() break angle_f = float(angle) duty = 100 - ((angle_f / 180) * duty_span + duty_min) PWM.set_duty_cycle(servo_pin, duty)
To start the program, enter the command:
# python servo.py Angle (0 to 180 x to exit):90 Angle (0 to 180 x to exit):180 Angle (0 to 180 x to exit):0 Angle (0 to 180 x to exit):x #
Entering a value between 0 and 180 will set the servo's angle accordingly.
When you want to stop the program, enter 'x'.
You may find that your servo judders at one end of its range or does not give a full 180 degree range of movement. If this is the case, try tweaking the values in duty_min and duty_max.
When you enter 'x', the PWM is stopped and 'cleanup' is run, otherwise the PWM signal would continue in the background even after the program had stopped running.
When you want to stop the program, enter 'x'.
You may find that your servo judders at one end of its range or does not give a full 180 degree range of movement. If this is the case, try tweaking the values in duty_min and duty_max.
When you enter 'x', the PWM is stopped and 'cleanup' is run, otherwise the PWM signal would continue in the background even after the program had stopped running.
Page last edited July 15, 2013
Text editor powered by tinymce.