如何解决我正在使用VS Code用python编程EV3,但无法使红外传感器正常工作
我正在使用的代码是:
#!/usr/bin/env python3
from ev3dev2.motor import LargeMotor,MoveSteering,OUTPUT_B,OUTPUT_C,SpeedDPS
from ev3dev2.sensor.lego import InfraredSensor
from sys import stderr
from time import sleep
motorB = LargeMotor(OUTPUT_B)
steer_pair = MoveSteering(OUTPUT_B,OUTPUT_C)
ir = InfraredSensor()
wf = 1
motorB.position = 0
steer_pair.on(steering=0,speed=SpeedDPS(265))
while motorB.position*0.612 < 640:
if ir.proximity * 0.7 < 23:
motorB.position = 0
print(motorB.position*0.612,ir.proximity * 0.7,file = stderr)
sleep(0.1)
steer = 28
rots = -1
steer_pair.on_for_rotations(steering=0,speed=25,rotations=0.5*wf)
steer_pair.on_for_rotations(steering=steer,speed=15,rotations=rots*wf)
steer_pair.on_for_rotations(steering=-steer,rotations=rots*wf)
steer_pair.on_for_rotations(steering=0,rotations=0.7*wf)
Traceback (most recent call last):
File "/home/robot/part3/self_park_ir.py",line 9,in <module>
ir = InfraredSensor()
File "/usr/lib/python3/dist-packages/ev3dev2/sensor/lego.py",line 838,in __init__
super(InfraredSensor,self).__init__(address,name_pattern,name_exact,driver_name='lego-ev3-ir',**kwargs)
File "/usr/lib/python3/dist-packages/ev3dev2/sensor/__init__.py",line 78,in __init__
super(Sensor,self).__init__(self.SYstem_CLASS_NAME,**kwargs)
File "/usr/lib/python3/dist-packages/ev3dev2/__init__.py",line 223,in __init__
chain_exception(DeviceNotFound("%s is not connected." % self),None)
File "/usr/lib/python3/dist-packages/ev3dev2/__init__.py",line 54,in chain_exception
raise exception from cause
ev3dev2.DeviceNotFound: InfraredSensor is not connected.
我尝试使用不同的端口和电线,因为这是我遇到的另一个问题的解决方法,但是这次不起作用。有人知道如何解决这个问题吗?
解决方法
我认为您应该为红外传感器分配一个输入端口,如下所示:
从ev3dev2.sensor导入INPUT 1
ir = InfraredSensor(INPUT 1)
此外,还有一些提高准确性的硬件技巧。
不要“热插拔”任何传感器
- 一旦设备开启,您就可以在此处插入它。
确保导入正确的模块
- 确保您导入了 shebang 行和正确的模块
确保您的 EV3DEV 代码与新的 EV3DEV 2 代码保持同步,并且您已将正确的操作系统映像刷入 microSD 卡。
- 否则,代码将无法顺利运行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。