我想知道,如果別人遇到了同樣的問題,他們的伺服電機上的樹莓派(我擁有3 B型)超聲波傳感器相結合。樹莓派伺服和超聲波傳感器抖動
從本質上講,我已經安裝兩個超聲波傳感器(HC-SR04)與彼此分開180°上的伺服電動機的頂部(HS-422)作爲一個雷達。
下面是一個示例代碼。伺服和聲波類是由我製作的。他們完全有功能,他們使用瓊的pigpio。
import pigpio, time
from Files.servo import Servo
from Files.sonic import Sonic
pi = pigpio.pi()
servoMotor = Servo(name = 'Test', gpio_list = [14], pi)
sensor = Sonic(name = 'Test2', trig = 2, echo = 3, pi)
servoMotor.rotate(0)
time.sleep(1)
try:
while True:
for i in range(181):
servoMotor.rotate(angleR = i)
time.sleep(0.01)
print(i, sensor.distance())
for i in range(181):
servoMtor.rotate(angleR = 180 - i)
time.sleep(0.01)
print((180 - i), sensor.distance())
except KeyboardInterrupt:
pi.stop()
問題:當我通過角度(180倍)使伺服旋轉角度時,一切正常。當我將我的超聲波傳感器與伺服一起使用並返回它們的距離()時,所有事情都開始滯後,伺服器移動速度非常慢。我試圖打印距離來查看它是否是伺服抖動問題,但我的懷疑得到證實:這一切都是滯後的。就好像RPi太慢一樣。有時候,我會在20°時得到「正常」的速度,然後再次減速。這就是確認我不是gpio庫問題,也不是傳感器問題。
有沒有辦法呢? RPi真的滯後嗎?