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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ozobot_evo-0.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 df316e4efb2caad281592f66c9caf64eb2ebaebc075094a9242fd75c8c2ea546
MD5 ba1758d9c8fbbeac49fcaad70d5a931a
BLAKE2b-256 e1722662f7aa43183134b540787ee746a4b33c3d3b383d22080ed6844b65c52f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ozobot_evo-0.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fd6bd89a9ddce1517ada6c02f619c1221bf60fa78d5bfef46e80397b86a9d65d
MD5 02ce656fa85ebfedd411f8452c13fff8
BLAKE2b-256 29ce8561cd2beddd5ceaaab7f587381f1b79bd8c80e55542916c0e62d72711c8

See more details on using hashes here.

Provenance

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