控制单个总线舵机对应的 API 为:
Arm_serial_servo_write(id, angle, time)
函数功能:控制总线舵机要运行到的角度。
参数解释:
id:要控制的舵机的 ID 号,范围是 1~6,每个 ID 号表示一个舵机,从最底端的舵机的 ID 为 1,往上依次增加,最上面的舵机 ID 为 6。
angle:控制舵机要运行到的角度,除了 5 号舵机(ID=5),其他舵机的控制范围都是 0~180,5 号舵机的控制范围是 0~270。
time:控制舵机运行的时间,在有效范围内,舵机转动相同的角度,输入运行的时间越小,舵机运动越快。输入 0 则舵机以最快速度运行。
返回值:无。
代码路径:/home/jetson/Dofbot/3.ctrl_Arm /3.ctrl_servo.ipynb
#!/usr/bin/env python3
#coding=utf-8
import time
from Arm_Lib import Arm_Device
# 创建机械臂对象
Arm = Arm_Device()
time.sleep(.1)
xxxxxxxxxx
# 单独控制一个舵机运动到某个角度
id = 6
Arm.Arm_serial_servo_write(id, 90, 500)
time.sleep(1)
xxxxxxxxxx
# 控制一个舵机循环切换角度
id = 6
def main():
while True:
Arm.Arm_serial_servo_write(id, 120, 500)
time.sleep(1)
Arm.Arm_serial_servo_write(id, 50, 500)
time.sleep(1)
Arm.Arm_serial_servo_write(id, 120, 500)
time.sleep(1)
Arm.Arm_serial_servo_write(id, 180, 500)
time.sleep(1)
try :
main()
except KeyboardInterrupt:
print(" Program closed! ")
pass
xxxxxxxxxx
del Arm # 释放掉 Arm 对象
从 jupyter lab 打开程序文件,并且点击 jupyter lab 工具栏上的运行整个notebook 按钮,即可看到机械臂的爪子一直不停变动角度。
如果要退出则点击工具栏的停止按钮。