fusion_hat.motor module

Motor

This module provides a class for controlling motors on the Fusion Hat.

Example

Simple usage

>>> from fusion_hat.motor import Motor
>>> motor = Motor('M0', is_reversed=False)
>>> motor.set_power(50)

Change the direction of the motor.

>>> motor.set_is_reverse(True)
>>> motor.set_power(50)

Spin the motor in the other direction.

>>> motor.set_power(-50)

Stop the motor

>>> motor.stop()
class fusion_hat.motor.Motor(*args, **kwargs)[source]

Bases: _Base

Motor class

There are two ways to initialize a motor:

Method 1: Pass a motor name as a string.

Parameters:

motor (str) – Motor name

Method 2: Pass two pwm pins as PWM objects.

Parameters:
DEFAULT_FREQ = 100

Default PWM frequency

DEFAULT_MAX = 100

Default maximum motor power

DEFAULT_MIN = 0

Default minimum motor power

MOTOR_PINS = {'M0': ['P11', 'P10'], 'M1': ['P9', 'P8'], 'M2': ['P6', 'P7'], 'M3': ['P4', 'P5']}

Motor pins

speed(power: float = None) None[source]

[DEPRECATED] Get or set motor power

Parameters:

power (float, optional) – Motor power(-100.0~100.0). Defaults to None.

power(power: float = None) None[source]

Get or set motor power

Parameters:

power (float, optional) – Motor power(-100.0~100.0). Defaults to None.

set_is_reverse(is_reverse: bool) None[source]

Set motor is reversed or not

Parameters:

is_reverse (bool) – True or False

stop() None[source]

Stop motor