MotorPair
- class buildhat.MotorPair(leftport, rightport)
Pair of motors
- Parameters:
motora – One of the motors to drive
motorb – Other motor in pair to drive
- Raises:
DeviceError – Occurs if there is no motor attached to port
- property release
Determine if motors are released after running, so can be turned by hand
- Getter:
Returns whether motors are released, so can be turned by hand
- Setter:
Sets whether motors are released, so can be turned by hand
- Returns:
Whether motors are released, so can be turned by hand
- Return type:
bool
- run_for_degrees(degrees, speedl=None, speedr=None)
Run pair of motors for degrees
- Parameters:
degrees – Number of degrees
speedl – Speed ranging from -100 to 100
speedr – Speed ranging from -100 to 100
- run_for_rotations(rotations, speedl=None, speedr=None)
Run pair of motors for N rotations
- Parameters:
rotations – Number of rotations
speedl – Speed ranging from -100 to 100
speedr – Speed ranging from -100 to 100
- run_for_seconds(seconds, speedl=None, speedr=None)
Run pair for N seconds
- Parameters:
seconds – Time in seconds
speedl – Speed ranging from -100 to 100
speedr – Speed ranging from -100 to 100
- run_to_position(degreesl, degreesr, speed=None, direction='shortest')
Run pair to position (in degrees)
- Parameters:
degreesl – Position in degrees for left motor
degreesr – Position in degrees for right motor
speed – Speed ranging from -100 to 100
direction – shortest (default)/clockwise/anticlockwise
- set_default_speed(default_speed)
Set the default speed of the motor
- Parameters:
default_speed – Speed ranging from -100 to 100
- set_speed_unit_rpm(rpm=False)
Set whether to use RPM for speed units or not
- Parameters:
rpm – Boolean to determine whether to use RPM for units
- start(speedl=None, speedr=None)
Start motors
- Parameters:
speedl – Speed ranging from -100 to 100
speedr – Speed ranging from -100 to 100
- stop()
Stop motors
Example
"""Example for pair of motors"""
from buildhat import MotorPair
pair = MotorPair('C', 'D')
pair.set_default_speed(20)
pair.run_for_rotations(2)
pair.run_for_rotations(1, speedl=100, speedr=20)
pair.run_to_position(20, 100, speed=20)