from pybricks.hubs import TechnicHub from pybricks.pupdevices import ColorDistanceSensor from pybricks.parameters import Port, Color from pybricks.tools import wait sensor = ColorDistanceSensor(Port.B) led = TechnicHub().light lastReading = None while True: wait(100) newReading = sensor.distance() if newReading != lastReading: print(newReading) lastReading = newReading if newReading == 100: led.off() else: led.on(Color(newReading * 3))
from pybricks.hubs import TechnicHub from pybricks.parameters import Color from pybricks.tools import wait from math import sin, pi # Initialize the hub. hub = TechnicHub() # Make an animation with multiple colors. hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500) wait(10000) # Make the color RED grow faint and bright using a sine pattern. hub.light.animate( [Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in range(30)], 40) wait(10000) # Cycle through a rainbow of colors. hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40) wait(10000)
from pybricks.hubs import TechnicHub from pybricks.tools import wait from pybricks.geometry import Axis # Initialize the hub. In this case, specify that the hub is mounted with the # top side facing forward and the front side facing to the right. # For example, this is how the hub is mounted in BLAST in the 51515 set. hub = TechnicHub(top_side=Axis.X, front_side=-Axis.Y) while True: # Read the tilt values. Now, the values are 0 when BLAST stands upright. # Leaning forward gives positive pitch. Leaning right gives positive roll. pitch, roll = hub.imu.tilt() # Print the result. print(pitch, roll) wait(200)