Compare commits
1 Commits
master
...
2211567-pa
| Author | SHA1 | Date |
|---|---|---|
|
|
aa414fcc13 |
|
|
@ -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())
|
||||||
Loading…
Reference in New Issue