Add linefollower

This commit is contained in:
Konstantin Lampalzer 2022-10-14 00:08:59 +02:00
parent f6e45ac25d
commit 002db9d650

View file

@ -12,13 +12,13 @@ Vorwärts und rückwärts fahren
from compLib.Motor import *
def forward():
Motor.power(1, -30);
Motor.power(2, 30);
Motor.power(0, -30);
Motor.power(3, 30);
def backward():
Motor.power(1, 30);
Motor.power(2, -30);
Motor.power(0, 30);
Motor.power(3, -30);
def main():
print("hallo ich bin ein roboter beep buup")
@ -29,4 +29,63 @@ Vorwärts und rückwärts fahren
time.sleep(1)
if __name__ == '__main__':
main()
Eine Linie verfolgen
********************
.. code-block:: python
import time
from compLib.Motor import Motor
from compLib.Encoder import Encoder
from compLib.IRSensor import IRSensor
COLOR_BREAK = 850
DRIVE_SPEED = 35
IRSensor.enable()
def drive(left, right):
right *= -1
Motor.multiple_power((0, right), (3, left))
print(f"{left} {right}")
def follow():
while True:
sensors = IRSensor.read_all()
if sensors[0] > COLOR_BREAK:
# turn left
drive(-DRIVE_SPEED, DRIVE_SPEED)
elif sensors[4] > COLOR_BREAK:
# turn right
drive(DRIVE_SPEED, -DRIVE_SPEED)
else:
# straight
drive(DRIVE_SPEED, DRIVE_SPEED)
if sensors[0] > COLOR_BREAK and sensors[4] > COLOR_BREAK:
break
drive(0, 0)
time.sleep(1)
def main():
follow()
drive(DRIVE_SPEED, DRIVE_SPEED)
time.sleep(0.5)
follow()
drive(DRIVE_SPEED, DRIVE_SPEED)
time.sleep(0.5)
follow()
drive(DRIVE_SPEED, DRIVE_SPEED)
time.sleep(0.5)
follow()
if __name__ == "__main__":
main()