def __init__(self, s_pin = "P8_13", f_pin = "P9_14", b_pin = "P9_22", debug = False): # initialize servo for steering self.steer = Servo(s_pin) # save PWM pins for forward and reverse self.forward = f_pin self.reverse = b_pin # start servos and motors self.start() # center the steering center_steering()
def start(): # Starting servo controller global servo servo = Servo() # using default values servo.start() # Start motor control global forward global reverse global PWM forward = "P9_14" reverse = "P9_22" PWM.start(forward, 0, 200) PWM.start(reverse, 0, 200) # initializing the servo init_servo() # Subscribe to ROS Joy node rospy.Subscriber("joy", Joy, callback) rospy.init_node("Joy2Servo") rospy.spin()
import Adafruit_BBIO.GPIO as GPIO import time import math from servo_controller import Servo # most of the time.sleep calls work to give the servo # time to respond (not instantaneous) # setting up the limit switch pins pin1 = "P8_12" pin2 = "P8_14" GPIO.setup(pin1, GPIO.IN) GPIO.setup(pin2, GPIO.IN) # starting the servo servo = Servo() servo.start() # guessed center point center = 100 # current angle angle = center # left and right limits limit1 = angle limit2 = angle # turning left while not GPIO.input(pin1) and not GPIO.input(pin2): angle += .01 servo.set_angle(angle) time.sleep(.0001)