Beispiele
Vorwärts und rückwärts fahren
import time
from compLib.Motor import *
def forward():
Motor.power(0, -30)
Motor.power(3, 30)
def backward():
Motor.power(0, 30)
Motor.power(3, -30)
def main():
print("hallo ich bin ein roboter beep buup")
forward()
time.sleep(1)
backward()
time.sleep(1)
if __name__ == '__main__':
main()
Eine Linie verfolgen
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()
Funktionalität des Roboters überprüfen
import time
from compLib.Motor import Motor
from compLib.Encoder import Encoder
from compLib.IRSensor import IRSensor
def testIR():
print("Enabling Infrared Sensor")
IRSensor.enable()
time.sleep(1)
print("Writing sensor values...")
for i in range(0, 50):
print(IRSensor.read_all())
time.sleep(0.1)
print("Disabling Infrared Sensor")
IRSensor.disable()
def testEncoders():
Motor.multiple_pulse_width((0, 50), (3, -50))
print("Writing encoder positions...")
for i in range(0, 50):
print(Encoder.read_all_positions())
time.sleep(0.1)
time.sleep(2)
print("Writing encoder velocities...")
for i in range(0, 50):
print(Encoder.read_all_velocities())
time.sleep(0.1)
Motor.multiple_pulse_width((0, 0), (3, 0))
def testMotors():
print("Setting pulse_with")
Motor.multiple_pulse_width((0, 50), (3, -50))
time.sleep(3)
print("Setting power")
Motor.multiple_power((0, 50), (3, -50))
time.sleep(3)
print("Setting pulse_with")
Motor.multiple_speed((0, 5), (3, -5))
time.sleep(3)
for i in range(0, 100):
Motor.multiple_power((0, i), (3, -i))
time.sleep(0.1)
if __name__ == "__main__":
print("Make sure robot is turned on it's back!")
time.sleep(5)
print()
print("----------------- Testing Infrared Sensor -----------------")
testIR()
print()
print("----------------- Testing Encoder -----------------")
testEncoders()
print()
print("----------------- Testing Motors -----------------")
testMotors()