Skip to main content

Play simple tunes on a piezo buzzer asynchronously

Project description

Introduction

Documentation Status Discord Build Status Code Style: Black

Play simple tunes on a piezo buzzer asynchronously

Dependencies

This driver depends on:

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 circuitpython-async-buzzer

To install system-wide (this may be required in some cases):

sudo pip3 install circuitpython-async-buzzer

To install in a virtual environment in your current project:

mkdir project-name && cd project-name
python3 -m venv .venv
source .env/bin/activate
pip3 install circuitpython-async-buzzer

Installing to a Connected CircuitPython Device with Circup

Make sure that you have circup installed in your Python environment. Install it with the following command if necessary:

pip3 install circup

With circup installed and your CircuitPython device connected use the following command to install:

circup install async_buzzer

Or the following command to update an existing version:

circup update

Usage Example

import asyncio

import pwmio

from async_buzzer import Buzzer
import board

tune = [
    ("E5",500),
    ("G5",500),
    ("A5",1000),
    ("E5",500),
    ("G5",500),
    ("B5",250),
    ("A5",750),
    ("E5",500),
    ("G5",500),
    ("A5",1000),
    ("G5",500),
    ("E5",1500)
]

pwm = pwmio.PWMOut(board.D10, variable_frequency=True)
buzzer = Buzzer(pwm)


async def main():
    buzzer.play(tune, wait=False)
    for i in range(5):
        print(i)
        await asyncio.sleep(1)
    await buzzer.wait()

asyncio.run(main())

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.

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

circuitpython-async-buzzer-1.0.1.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file circuitpython-async-buzzer-1.0.1.tar.gz.

File metadata

File hashes

Hashes for circuitpython-async-buzzer-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ca47d64d08c500ae5640c026317f7d57aeba0874bedac3f596a8ee0740d5d708
MD5 389437f2a07fbba8fe442b31044b3a2d
BLAKE2b-256 dd61065ca0a6f1e7e1364fbaaa7020ec85d3cf30118eb6dc225352c7193e1980

See more details on using hashes here.

File details

Details for the file circuitpython_async_buzzer-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for circuitpython_async_buzzer-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ed173f5239147fe9f051a8a17b437f4ba6722e3d7e60a7b0fbcb742a3bf093d7
MD5 d5561e6ce5bd8f13b5ffb59eb06de0f7
BLAKE2b-256 34cd9e9ce8a706fabb7f53f025db58c18dc6c3617cb8163d52cd4fee8c04337b

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