示例#1
0
# Use position reached callback to swing back and forth
def cb_reached(servo_num, position):
    if position == 9000:
        print('Position: 90°, going to -90°')
        servo.set_position(servo_num, -9000)
    elif position == -9000:
        print('Position: -90°, going to 90°')
        servo.set_position(servo_num, 9000)
    else:
        print('Error') # Can only happen if another program sets position

if __name__ == "__main__":
    ipcon.connect(HOST, PORT) # Connect to brickd
    # Don't use device before ipcon is connected

    # Register "position reached callback" to cb_reached
    # cb_reached will be called every time a position set with
    # set_position is reached
    servo.register_callback(servo.CALLBACK_POSITION_REACHED, cb_reached)

    # Set velocity to 100°/s. This has to be smaller or equal to 
    # maximum velocity of the servo, otherwise cb_reached will be
    # called too early
    servo.set_velocity(0, 10000) 
    servo.set_position(0, 9000)
    servo.enable(0)

    raw_input('Press key to exit\n') # Use input() in Python 3
    ipcon.disconnect()
示例#2
0
文件: gps.py 项目: miefda/krebsling
    # Don't use device before it is added to a connection
    servo.set_degree(motor, -9000, 9000)
    servo.set_pulse_width(motor, 950, 1950)
    servo.set_period(motor, 20000)
    servo.set_acceleration(motor, 7000)
    servo.set_velocity(motor, 0xFFFF) # Full speed
    servo.set_degree(steeringsrv, -3600, 3600)
    servo.set_pulse_width(steeringsrv, 955, 2000)
    servo.set_period(steeringsrv, 20000)
    servo.set_acceleration(steeringsrv, 7000) # Full acceleration 0xFFFF
    servo.set_velocity(steeringsrv, 0xFFFF) # Full speed
    

    servo.set_position(motor, stop)
    servo.set_position(steeringsrv, mid)
    servo.enable(motor)
    servo.enable(steeringsrv)


    # Set Period for coordinates callback to 1s (1000ms)
    # Note: The callback is only called every second if the 
    #       coordinates have changed since the last call!
    gps.set_coordinates_callback_period(500)
    gps.set_status_callback_period(50)
    # Register current callback to function cb_current
    gps.register_callback(gps.CALLBACK_COORDINATES, cb_coordinates)
    gps.register_callback(gps.CALLBACK_STATUS, cb_status)