Introduction¶
This convenience library makes coding for the Crickit robotics boards simpler and shorter.
Dependencies¶
This driver depends on:
Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.
Installing from PyPI¶
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:
pip3 install adafruit-circuitpython-crickit
To install system-wide (this may be required in some cases):
sudo pip3 install adafruit-circuitpython-crickit
To install in a virtual environment in your current project:
mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-crickit
Usage Example¶
This examples shows how to control all the devices supported by the library. In most cases you just need a couple of imports.
# This is a mock example showing typical usage of the library for each kind of device.
from adafruit_crickit import crickit
# Add this import if using stepper motors.
# It will expose constants saying how to step: stepper.FORWARD, stepper.BACKWARD, etc.
from adafruit_motor import stepper
# Set servo 1 to 90 degrees
crickit.servo_1.angle = 90
# Change servo settings.
crickit.servo_1.actuation_range = 135
crickit.servo_1.set_pulse_width_range(min_pulse=850, max_pulse=2100)
# You can assign a device to a variable to get a shorter name.
servo_2 = crickit.servo_2
servo_2.throttle = 0
# Run a continous servo on Servo 2 backwards at half speed.
crickit.continuous_servo_2.throttle = -0.5
# Run the motor on Motor 1 terminals at half speed.
crickit.dc_motor_1.throttle = 0.5
# Set Drive 1 terminal to 3/4 strength.
crickit.drive_1.fraction = 0.75
if crickit.touch_1.value:
print("Touched terminal Touch 1")
# A single stepper motor uses up all the motor terminals.
crickit.stepper_motor.onestep(direction=stepper.FORWARD)
# You can also use the Drive terminals for a stepper motor
crickit.drive_stepper_motor.onestep(direction=stepper.BACKWARD)
# Note: On CPX Crickit, NeoPixel pin is normally connected to A1, not to seesaw,
# so this part of the demo cannot control the NeoPixel terminal.
# Strip or ring of 8 NeoPixels
crickit.init_neopixel(8)
crickit.neopixel.fill((100, 100, 100))
# Set the Crickit's on-board NeoPixel to a dim purple.
crickit.onboard_pixel.brightness = 0.01
crickit.onboard_pixel[0] = (255, 24, 255)
# or
crickit.onboard_pixel.fill((255, 24, 255))
Documentation¶
API documentation for this library can be found on Read the Docs.
For information on building library documentation, please check out this guide.
Contributing¶
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.
Table of Contents¶
adafruit_crickit
Crickit
Crickit.SIGNAL1
Crickit.SIGNAL2
Crickit.SIGNAL3
Crickit.SIGNAL4
Crickit.SIGNAL5
Crickit.SIGNAL6
Crickit.SIGNAL7
Crickit.SIGNAL8
Crickit.continuous_servo_1
Crickit.continuous_servo_2
Crickit.continuous_servo_3
Crickit.continuous_servo_4
Crickit.dc_motor_1
Crickit.dc_motor_2
Crickit.drive_1
Crickit.drive_2
Crickit.drive_3
Crickit.drive_4
Crickit.drive_stepper_motor
Crickit.feather_drive_1
Crickit.feather_drive_2
Crickit.feather_drive_3
Crickit.feather_drive_4
Crickit.feather_drive_stepper_motor
Crickit.init_neopixel()
Crickit.neopixel
Crickit.onboard_pixel
Crickit.reset()
Crickit.seesaw
Crickit.servo_1
Crickit.servo_2
Crickit.servo_3
Crickit.servo_4
Crickit.stepper_motor
Crickit.touch_1
Crickit.touch_2
Crickit.touch_3
Crickit.touch_4
CrickitTouchIn
crickit