Add linefollower
This commit is contained in:
parent
f6e45ac25d
commit
002db9d650
1 changed files with 63 additions and 4 deletions
|
@ -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")
|
||||
|
@ -30,3 +30,62 @@ Vorwärts und rückwärts fahren
|
|||
|
||||
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()
|
Reference in a new issue