如何在电机和传感器之间获得即时响应?
How do I get immediate response between motors and sensors?
我是 pybricks 的新手,发现很少的文档可以帮助回答我自己的查询。我已经编写了我认为是一个简单的程序来原地旋转我的机器人,直到 UltrasonicSensor 检测到一些东西。然后它将向前推进。如果它被向后推并看到一条黑线,它应该尝试摆开。
以下代码“有效”,但它对超声波和光传感器的响应明显延迟:
#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import Motor, ColorSensor, UltrasonicSensor
from pybricks.parameters import Port
from pybricks.tools import wait
ev3 = EV3Brick()
eyes = UltrasonicSensor(Port.S2)
left_motor = Motor(Port.B)
right_motor = Motor(Port.A)
right_light = ColorSensor(Port.S1)
left_light = ColorSensor(Port.S4)
while True:
if right_light.reflection() < 50:
ev3.speaker.say('black')
left_motor.run(500)
right_motor.run(-100)
wait(2000)
left_motor.run(500)
right_motor.run(500)
wait(1000)
if eyes.distance() > 200:
left_motor.run(500)
right_motor.run(-500)
else:
left_motor.run(-500)
right_motor.run(-500)
我可以在(有限的)documentation 中看到您显然可以更改电机设置,但我找不到如何执行此操作的方向(或者即使它有用)。任何帮助将不胜感激。
我是 pybricks 的新手,发现很少的文档可以帮助回答我自己的查询。我已经编写了我认为是一个简单的程序来原地旋转我的机器人,直到 UltrasonicSensor 检测到一些东西。然后它将向前推进。如果它被向后推并看到一条黑线,它应该尝试摆开。
以下代码“有效”,但它对超声波和光传感器的响应明显延迟:
#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import Motor, ColorSensor, UltrasonicSensor
from pybricks.parameters import Port
from pybricks.tools import wait
ev3 = EV3Brick()
eyes = UltrasonicSensor(Port.S2)
left_motor = Motor(Port.B)
right_motor = Motor(Port.A)
right_light = ColorSensor(Port.S1)
left_light = ColorSensor(Port.S4)
while True:
if right_light.reflection() < 50:
ev3.speaker.say('black')
left_motor.run(500)
right_motor.run(-100)
wait(2000)
left_motor.run(500)
right_motor.run(500)
wait(1000)
if eyes.distance() > 200:
left_motor.run(500)
right_motor.run(-500)
else:
left_motor.run(-500)
right_motor.run(-500)
我可以在(有限的)documentation 中看到您显然可以更改电机设置,但我找不到如何执行此操作的方向(或者即使它有用)。任何帮助将不胜感激。