adafruit_motorkit
¶
CircuitPython helper library for DC & Stepper Motor FeatherWing, Shield, and Pi Hat kits.
Author(s): Scott Shawcroft, Kattni Rembor
Implementation Notes¶
Hardware:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
Adafruit’s Bus Device library: https://github.com/adafruit/Adafruit_CircuitPython_BusDevice
Adafruit’s Register library: https://github.com/adafruit/Adafruit_CircuitPython_Register
Adafruit’s PCA9685 library: https://github.com/adafruit/Adafruit_CircuitPython_PCA9685
Adafruit’s Motor library: https://github.com/adafruit/Adafruit_CircuitPython_Motor
- class adafruit_motorkit.MotorKit(address: int = 96, i2c: I2C | None = None, steppers_microsteps: int = 16, pwm_frequency: float = 1600.0)¶
Class representing an Adafruit DC & Stepper Motor FeatherWing, Shield or Pi Hat kit.
- Parameters:
address (int) – I2C address of PCA9685 PWM controller. Default address is
0x60
.i2c (busio.I2C) –
I2C bus object to use. If not specified, use
board.I2C()
.Note
board.I2C()
uses the default I2C bus frequency of 100 kHz. To speed up motor control, use an I2C bus frequency of 400 KHz, or if available, 1 MHz. The PCA9685 controller supports both of these higher speeds. This will noticeably speed up stepper motor operation when many steps are requested.steppers_microsteps (int) – Number of microsteps per step for stepper motors. Default is 16.
pwm_frequency (float) – defaults to 1600 Hz
- property motor1: DCMotor¶
:py:class:
~adafruit_motor.motor.DCMotor
controls for motor 1.The following image shows the location of the M1 terminal on the DC/Stepper FeatherWing. The label on the FeatherWing is found on the bottom of the board. The terminal is labeled on the top of the Shield and Pi Hat.
This example moves the motor forwards for one fifth of a second at full speed.
import time from adafruit_motorkit import motorkit kit = MotorKit() kit.motor1.throttle = 1.0 time.sleep(0.2) kit.motor1.throttle = 0
- property motor2: DCMotor¶
:py:class:
~adafruit_motor.motor.DCMotor
controls for motor 2.The following image shows the location of the M2 terminal on the DC/Stepper FeatherWing. The label on the FeatherWing is found on the bottom of the board. The terminal is labeled on the top of the Shield and Pi Hat.
This example moves the motor forwards for one fifth of a second at full speed.
import time from adafruit_motorkit import motorkit kit = MotorKit() kit.motor2.throttle = 1.0 time.sleep(0.2) kit.motor1.throttle = 0
- property motor3: DCMotor¶
:py:class:
~adafruit_motor.motor.DCMotor
controls for motor 3.The following image shows the location of the M2 terminal on the DC/Stepper FeatherWing. The label on the FeatherWing is found on the bottom of the board. The terminal is labeled on the top of the Shield and Pi Hat.
This example moves the motor forwards for one fifth of a second at full speed.
import time from adafruit_motorkit import motorkit kit = MotorKit() kit.motor3.throttle = 1.0 time.sleep(0.2) kit.motor1.throttle = 0
- property motor4: DCMotor¶
:py:class:
~adafruit_motor.motor.DCMotor
controls for motor 4.This example moves the motor forwards for one fifth of a second at full speed.
import time from adafruit_motorkit import motorkit kit = MotorKit() kit.motor4.throttle = 1.0 time.sleep(0.2) kit.motor1.throttle = 0
- property stepper1: StepperMotor¶
:py:class:
~adafruit_motor.stepper.StepperMotor
controls for one connected to stepper 1 (also labeled motor 1 and motor 2).The following image shows the location of the stepper1 terminals on the DC/Stepper FeatherWing. stepper1 is made up of the M1 and M2 terminals. The labels on the FeatherWing are found on the bottom of the board. The terminals are labeled on the top of the Shield and Pi Hat.
This example moves the stepper motor 100 steps forwards.
from adafruit_motorkit import MotorKit kit = MotorKit() for i in range(100): kit.stepper1.onestep()
- property stepper2: StepperMotor¶
:py:class:
~adafruit_motor.stepper.StepperMotor
controls for one connected to stepper 2 (also labeled motor 3 and motor 4).The following image shows the location of the stepper2 terminals on the DC/Stepper FeatherWing. stepper2 is made up of the M3 and M4 terminals. The labels on the FeatherWing are found on the bottom of the board. The terminals are labeled on the top of the Shield and Pi Hat.
This example moves the stepper motor 100 steps forwards.
from adafruit_motorkit import MotorKit kit = MotorKit() for i in range(100): kit.stepper2.onestep()