class RobotDifferentialDrive(object): PAN_PID = 10 TILT_PID = 11 TRIG_PID = 12 ECHO_PID = 13 LEFT_MOTOR_ENABLE_PID = 3 LEFT_MOTOR_ORIENTATION_PID = (4, 5) RIGHT_MOTOR_ENABLE_PID = 6 RIGHT_MOTOR_ORIENTATION_PID = (7, 8) def __init__(self): self.pin_layout = ArduinoPinLayout() self.pan_servo = Servo(self.pin_layout.create_servo_pin(self.PAN_PID)) self.tilt_servo = Servo(self.pin_layout.create_servo_pin(self.TILT_PID)) self. distance_monitor = DistanceMonitor(self.pin_layout.create_output_pin(self.TRIG_PID), self.pin_layout.create_input_pin(self.ECHO_PID)) self.left_motor = Motor(self.pin_layout.create_pwm_pin(self.LEFT_MOTOR_ENABLE_PID), (self.pin_layout.create_output_pin(self.LEFT_MOTOR_ORIENTATION_PID[0]), self.pin_layout.create_output_pin(self.LEFT_MOTOR_ORIENTATION_PID[1]))) self.right_motor = Motor(self.pin_layout.create_pwm_pin(self.RIGHT_MOTOR_ENABLE_PID), (self.pin_layout.create_output_pin(self.RIGHT_MOTOR_ORIENTATION_PID[0]), self.pin_layout.create_output_pin(self.RIGHT_MOTOR_ORIENTATION_PID[1])))