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 *
|
from compLib.Motor import *
|
||||||
|
|
||||||
def forward():
|
def forward():
|
||||||
Motor.power(1, -30);
|
Motor.power(0, -30);
|
||||||
Motor.power(2, 30);
|
Motor.power(3, 30);
|
||||||
|
|
||||||
|
|
||||||
def backward():
|
def backward():
|
||||||
Motor.power(1, 30);
|
Motor.power(0, 30);
|
||||||
Motor.power(2, -30);
|
Motor.power(3, -30);
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
print("hallo ich bin ein roboter beep buup")
|
print("hallo ich bin ein roboter beep buup")
|
||||||
|
@ -29,4 +29,63 @@ Vorwärts und rückwärts fahren
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
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()
|
main()
|
Reference in a new issue