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.2.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.2-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ozobot_evo-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 005dc79173ac1adb4ef1b13f87c5717ac89fe41249c9d5251cd81d21b7a17793
MD5 3a1391804c97e2dcde49b5cd04113af3
BLAKE2b-256 131b6d337cfce7796c82efb4c260c5d4d9ed73f882aa0c492e644939331cabed

See more details on using hashes here.

Provenance

The following attestation bundles were made for ozobot_evo-0.3.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: ozobot_evo-0.3.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 52b69c14dccd9ac164891d9475c5fda33225d64a1d10777393725b75c5a520a6
MD5 cfd106e817002f66d6cd7623ad3ef92f
BLAKE2b-256 fafc169d8275ae903ba0aa8c691124e37c1f967351c2e9e90dea7d8461d6819d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ozobot_evo-0.3.2-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