Files
pybricks-api/examples/pup/sensor_ultrasonic/math.py
T
Laurens Valk bd7806d2d4 all: Format with black.
Also activate auto formatting. Bump flake8 and mark black
disagreements in setup.cfg.
2022-05-27 16:22:05 +02:00

30 lines
831 B
Python

from pybricks.pupdevices import UltrasonicSensor
from pybricks.parameters import Port
from pybricks.tools import wait, StopWatch
from umath import pi, sin
# Initialize the sensor.
eyes = UltrasonicSensor(Port.A)
# Initialize a timer.
watch = StopWatch()
# We want one full light cycle to last three seconds.
PERIOD = 3000
while True:
# The phase is where we are in the unit circle now.
phase = watch.time() / PERIOD * 2 * pi
# Each light follows a sine wave with a mean of 50, with an amplitude of 50.
# We offset this sine wave by 90 degrees for each light, so that all the
# lights do something different.
brightness = [sin(phase + offset * pi / 2) * 50 + 50 for offset in range(4)]
# Set the brightness values for all lights.
eyes.lights.on(brightness)
# Wait some time.
wait(50)