Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- motor_r = Motor(Port.D)
- motor_l = Motor(Port.A)
- distance = UltrasonicSensor(Port.S1)
- gyro = GyroSensor(Port.S4)
- # Первая подзадача:
- # Проезд вперёд до тех пор, пока не заметит
- # препятствие на расстоянии 10 см
- while distance.distance() > 100:
- motor_r.run(200)
- motor_l.run(200)
- motor_r.run(0)
- motor_l.run(0)
- # создание промежуточной переменной, которая поможет нам вернуться в исходное положение
- angle = motor_r.angle()
- # Вторая подзадача:
- # Поворот на 180 градусов вокруг своей оси
- gyro.reset_angle(0)
- while gyro.angle() < 180:
- motor_r.run(-50)
- motor_l.run(50)
- motor_r.run(0)
- motor_l.run(0)
- # Третья подзадача:
- # возвращение на точку старта
- # Первый вариант решения.
- # Сначала просто запускаем 1 мотор, а затем запускается второй методом "run_angle"
- # что позволит им проехать одно и то же расстояние, после чего оба выключатся, так
- # как программа завершится
- motor_r.run(200)
- motor_l.run_angle(200,angle)
- # Второй вариант решения
- # Запускаем 2 мотора методом "run_angle", но в том, моторе, который запускаем первым,
- # указываем третий аргумент "wait", который позволит запустить второй мотор сразу же,
- # без ожидания окончания работы первого мотора. Моторы также проедут одинаковое расстояние.
- motor_r.run_angle(200,angle,wait=False)
- motor_l.run_angle(200,angle)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement