forked from Arcmyx/pynamics
Add templates/color-sensor-start-logic.py
This commit is contained in:
62
templates/color-sensor-start-logic.py
Normal file
62
templates/color-sensor-start-logic.py
Normal file
@@ -0,0 +1,62 @@
|
||||
from pybricks.pupdevices import ColorSensor
|
||||
from pybricks.parameters import Color, Port
|
||||
from pybricks.tools import run_task
|
||||
from pybricks.tools import wait
|
||||
from pybricks.hubs import PrimeHub
|
||||
hub = PrimeHub()
|
||||
color_sensor = ColorSensor(Port.F) # Change the port to your color sensor's port
|
||||
# Function to classify color based on HSV
|
||||
def detect_color(h, s, v, reflected):
|
||||
if reflected > 4:
|
||||
if h < 4 or h > 350: # red
|
||||
return "Red"
|
||||
elif 3 < h < 40 and s > 70: # orange
|
||||
return "Orange"
|
||||
elif 47 < h < 56: # yellow
|
||||
return "Yellow"
|
||||
elif 70 < h < 160: # green - your brick should approach from the top for accuracy
|
||||
return "Green"
|
||||
elif 195 < h < 198: # light blue
|
||||
return "Light_Blue"
|
||||
elif 210 < h < 225: # blue - your brick should approach from the top for accuracy
|
||||
return "Blue"
|
||||
elif 260 < h < 350: # purple
|
||||
return "Purple"
|
||||
|
||||
else:
|
||||
return "Unknown"
|
||||
return "Unknown"
|
||||
async def main():
|
||||
while True:
|
||||
h, s, v = await color_sensor.hsv()
|
||||
reflected = await color_sensor.reflection()
|
||||
color = detect_color(h, s, v, reflected)
|
||||
|
||||
|
||||
if color == "Green":
|
||||
print('Running Task 1')
|
||||
# Run a function with await Function() here
|
||||
elif color == "Red":
|
||||
print('Running Task 2')
|
||||
# Run a function with await Function() here
|
||||
elif color == "Yellow":
|
||||
print('Running Task 3')
|
||||
# Run a function with await Function() here
|
||||
elif color == "Blue":
|
||||
print('Running Task 4')
|
||||
# Run a function with await Function() here
|
||||
elif color == "Orange":
|
||||
print('Running Task 5')
|
||||
# Run a function with await Function() here
|
||||
elif color == "Purple":
|
||||
print('Running Task 6')
|
||||
# Run a function with await Function() here
|
||||
elif color == "Light_Blue":
|
||||
print("Running Task 7")
|
||||
# Run a function with await Function() here
|
||||
else:
|
||||
print(f"Unknown color detected (Hue: {h}, Sat: {s}, Val: {v})")
|
||||
#pass
|
||||
await wait(10)
|
||||
# Run the main function
|
||||
run_task(main())
|
||||
Reference in New Issue
Block a user