Skip to main content

Build HAT Python library

Project description

Build HAT

The Python Build HAT library supports the Raspberry Pi Build HAT, an add-on board for the Raspberry Pi computer, which allows control of up to four LEGO® TECHNIC™ motors and sensors included in the SPIKE™ Portfolio.

Hardware

The Build HAT provides four connectors for LEGO® Technic™ motors and sensors from the SPIKE™ Portfolio. The available sensors include a distance sensor, a colour sensor, and a versatile force sensor. The angular motors come in a range of sizes and include integrated encoders that can be queried to find their position.

The Build HAT fits all Raspberry Pi computers with a 40-pin GPIO header, including — with the addition of a ribbon cable or other extension device — Raspberry Pi 400. Connected LEGO® Technic™ devices can easily be controlled in Python, alongside standard Raspberry Pi accessories such as a camera module.

Documentation

Library documentation: https://buildhat.readthedocs.io

Hardware documentation: https://www.raspberrypi.com/documentation/accessories/build-hat.html

Projects and inspiration: https://projects.raspberrypi.org/en/pathways/lego-intro

Installation

To install the Build HAT library, enter the following commands in a terminal:

sudo pip3 install buildhat

Usage

See the detailed documentation for the Python objects available.

import time
from signal import pause
from buildhat import Motor

motor = Motor('A')
motor.set_default_speed(30)

print("Position", motor.get_aposition())

def handle_motor(speed, pos, apos):
    print("Motor", speed, pos, apos)

motor.when_rotated = handle_motor

print("Run for degrees")
motor.run_for_degrees(360)

print("Run for seconds")
motor.run_for_seconds(5)

print("Run for rotations")
motor.run_for_rotations(2)

print("Start motor")
motor.start()
time.sleep(3)
print("Stop motor")
motor.stop()

pause()

Building locally

Using asdf:

asdf install

Then:

pip3 install . --user

Building the documentation

Instructions for regenerating the documentation can be found in docs/README.md. Briefly, assuming you have the appropriate python modules installed:

$ (cd docs; make html)

will rebuild the documentation. The doc tree starts at docs/build/html/index.html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildhat-0.5.9.tar.gz (155.6 kB view details)

Uploaded Source

Built Distribution

buildhat-0.5.9-py3-none-any.whl (56.7 kB view details)

Uploaded Python 3

File details

Details for the file buildhat-0.5.9.tar.gz.

File metadata

  • Download URL: buildhat-0.5.9.tar.gz
  • Upload date:
  • Size: 155.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for buildhat-0.5.9.tar.gz
Algorithm Hash digest
SHA256 18b247172577d08f6de6d3e2bdae6b1a381ed0f3523525c4439903a62145e7a9
MD5 7bf4dc8e5c73bec6520ff8bc0fcec7b0
BLAKE2b-256 cd02a7a1de0c3b3a50a7bfe3132d03512cdc11821f769c298bb7b3b991c481a5

See more details on using hashes here.

File details

Details for the file buildhat-0.5.9-py3-none-any.whl.

File metadata

  • Download URL: buildhat-0.5.9-py3-none-any.whl
  • Upload date:
  • Size: 56.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for buildhat-0.5.9-py3-none-any.whl
Algorithm Hash digest
SHA256 5315af2c39a54de0a23040c5ea32e067aabf2937ca3a0ffc1f2bff5a64b2bd18
MD5 8a575484e5e90b11838e41bb1024f4f3
BLAKE2b-256 57ce31fc8bbaaf63a443fa3f4ed2d0b78f4285524a1b97c20e0776ac04d855ba

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page