Skip to main content

Ozobot EVO library

Project description

ozobot-evo

Interface for controlling Ozobot Evo. See the monorepo for more details.

Work in progress, only a web runtime driver for Ozobot Editor available

Usage

import asyncio
import random
from ozobot.evo import EvoHandle, Evo
from ozobot.linefollower import NamedColor, LEDMask, Direction


async def monitor(it):
    async for data in it:
        print(f"Sample taken: {data.value}")


async def main():
    async with EvoHandle(id="ABCDE*") as evo:
        await evo.move(100, 50)
        await evo.rotate(180, 90)

        velo_task = asyncio.create_task(evo.set_velocity(50, 0))
        await asyncio.sleep(2)
        velo_task.cancel()

        await evo.set_led(LEDMask.FRONT_CENTER | LEDMask.FRONT_LEFT | LEDMask.FRONT_RIGHT, NamedColor.BLUE)
        await evo.set_led(LEDMask.FRONT_LEFT_CENTER | LEDMask.FRONT_RIGHT_CENTER, NamedColor.RED)

        await evo.play_sound("happy")
        await evo.play_note("A", 4, 1)

        await evo.follow_line(Direction.STRAIGHT)
        intersection = await evo.data.intersection.read()
        print(f"At intersection: {intersection.value}")

        async with evo.data.intersection.watch() as intersections, evo.data.color_code.watch() as codes:
            t1 = asyncio.create_task(_monitor(intersections))
            t2 = asyncio.create_task(_monitor(codes))

            await evo.follow_line(random.choice(list(intersection.value)))

            t1.cancel()
            t2.cancel()


asyncio.run(main())

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

ozobot_evo-0.3.0.tar.gz (37.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ozobot_evo-0.3.0-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

Details for the file ozobot_evo-0.3.0.tar.gz.

File metadata

  • Download URL: ozobot_evo-0.3.0.tar.gz
  • Upload date:
  • Size: 37.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ozobot_evo-0.3.0.tar.gz
Algorithm Hash digest
SHA256 58387ef4a10634ff95b023a07f611cc49404b35a551777a5d6b939fd4defdc84
MD5 58df59af927ad217f32fb587a8b04fa3
BLAKE2b-256 5c37d9e0057a678a1b8b6aac4239af5ac30c7bb39d6a37a6e326ec8f8d1b3163

See more details on using hashes here.

Provenance

The following attestation bundles were made for ozobot_evo-0.3.0.tar.gz:

Publisher: publish.yml on ozobot/python-libraries

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ozobot_evo-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: ozobot_evo-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 42.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ozobot_evo-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c2a5699456323a5f489c00b65613168861d35c6a461d1cb51a38dc824e3160f
MD5 f5589dcf259fe8d4f231bfed56e0c39b
BLAKE2b-256 e2dc3e949f17a5d02aaed2a09b97ca31cec691b0423dbc3538b9a220da565900

See more details on using hashes here.

Provenance

The following attestation bundles were made for ozobot_evo-0.3.0-py3-none-any.whl:

Publisher: publish.yml on ozobot/python-libraries

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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