Example #1
0
class Robot4WD(Robot):

    STEER_PID = 1
    TILT_PID = 0

    LIGHTS_PID = 5

    MOTOR_ENABLE_PID = 3
    MOTOR_ORIENTATION_PID = (8, 10)

    def __init__(self):
        self.pin_layout = GPIOPinLayout()
        self.steer_servo = Servo(self.pin_layout.create_servo_pin(self.STEER_PID), 147, 112, 182)
        self.pan_servo = Servo(self.pin_layout.create_servo_pin(self.TILT_PID), 152, 122, 182)

        self.motor = Motor(self.pin_layout.create_pwm_pin(self.MOTOR_ENABLE_PID),
                           (self.pin_layout.create_output_pin(self.MOTOR_ORIENTATION_PID[0]),
                            self.pin_layout.create_output_pin(self.MOTOR_ORIENTATION_PID[1])))

        movement_controller = MotorServoMovementController(self.motor, self.steer_servo)
        camera_controller = PanCameraController(self.pan_servo)

        super(Robot4WD, self).__init__(movement_controller, camera_controller)

    def stop(self):
        self.movement_controller.stop()
        self.camera_controller.stop()
        self.steer_servo.angle = self.steer_servo.neutral_angle
        self.pan_servo.angle = self.pan_servo.neutral_angle
        self.motor.speed = 0    #TODO: neutral_speed ?
Example #2
0
    def __init__(self):
        self.pin_layout = GPIOPinLayout()
        self.steer_servo = Servo(self.pin_layout.create_servo_pin(self.STEER_PID), 147, 112, 182)
        self.pan_servo = Servo(self.pin_layout.create_servo_pin(self.TILT_PID), 152, 122, 182)

        self.motor = Motor(self.pin_layout.create_pwm_pin(self.MOTOR_ENABLE_PID),
                           (self.pin_layout.create_output_pin(self.MOTOR_ORIENTATION_PID[0]),
                            self.pin_layout.create_output_pin(self.MOTOR_ORIENTATION_PID[1])))

        movement_controller = MotorServoMovementController(self.motor, self.steer_servo)
        camera_controller = PanCameraController(self.pan_servo)

        super(Robot4WD, self).__init__(movement_controller, camera_controller)