pushed existing code base and cleanup

2211567-patch-1
Ruben Seitz 2025-11-18 12:15:32 +01:00
parent 2820669874
commit aa414fcc13
1 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,73 @@
from hub import button, port, motion_sensor as ms
import motor
import motor_pair as mp
import color_sensor as cs
import color
import sys
import runloop
import time
# await mp.move_for_degrees(mp.PAIR_1, 360, 45, velocity=280)
# motor.run_for_degrees(portNum, 200, 300)
# await runloop.sleep_ms(2000)
# mp.move_tank(mp.PAIR_1, 280, -280)
# await runloop.sleep_ms(2000)
# WANTED_COLOR = color.BLACK
async def move_on_color():
start_time = time.time()
print(ms.tilt_angles())
while True:
roll_value = ms.tilt_angles()[2]
if cs.reflection(port.C) < 60:
mp.move_tank(mp.PAIR_1, -100, 100)
elif cs.reflection(port.E) < 60:
mp.move_tank(mp.PAIR_1, 100, -100)
elif roll_value < -150: # uphill function
mp.move(mp.PAIR_1, 0, velocity=450)
else:
mp.move(mp.PAIR_1, 0, velocity=200)
# Geradeaus
# linkskurve
# rechtskurve
# Kreuzung (grüner Punkt)
# wenn grün, dann biege um 90 Grad in die richtung ab (wenn vor schwarzer linie)
# Sackgasse (= zwei grüne Punkte)
# -> Drehung 180 Grad
# Bergauf
# Bergab
# Speedbumper (Schräge Bumper)
# Wippe Notizen
def flipflop(state, r, s):
"""
Logik implementiert in Rampen Logik. Bleibe stehen, wenn der Rollwinkel sich um mehr als 10 ändert.
RS-Flipflop-Logik:
Set (= tue nichts), wenn der Winkel sich ändert;
Reset (= bleibe stehen), solange sich der Rollwinkel ändert, danach fahre normal weiter
"""
return False if r else (True if s else state)
# Obstacle Notizen
# Ziellinie Notizen
# Wenn beide Sensoren rot, stoppe die Motoren
async def main():
mp.pair(mp.PAIR_1, port.A, port.D)
await move_on_color()
sys.exit()
runloop.run(main())