IO控制
IO即数据的输入与输出,在我们的机械臂的X5PI底部和末端Atom上有多个pin脚,通过以下函数接口可以对其设置其输入输出模式。
Atom IO
set_pin_mode(pin_no, pin_mode)
- 功能: 设置 atom 中指定引脚的状态模式
- 参数说明:
pin_no
(int):机器人顶部的具体引脚号pin_mode
(int): 限定0~2- 0设置为运行状态
- 1设置为停止状态
- 2设置为上拉模式
- 返回值: 1
set_digital_output(pin_no, pin_signa)
功能: 设置末端引脚号的工作状态
参数说明:
pin_no
(int
) 设备末端标注的编号仅取数字部分pin_signal
(int
): 输入0表示设置为运行状态,输入1表示停止状态
返回值: 1
get_digital_input(self, pin_no)
功能: 获取末端引脚号的工作状态
参数说明:
pin_no
:表示机器人末端的具体引脚号返回值:
pin_signal
(int
) 当返回的值为0表示在工作状态运行,1表示停止状态
X5PI_GPIO
用法:
import Hobot.GPIO as GPIO
setmode(mode)
- 功能: 设置GPIO针脚模式
- 参数
mode
(str
) "GPIO.BCM" 或者 "GPIO.BOARD" 进入相应模式
setup(pin_no, mode)
- 功能: 设置GPIO针脚模式
- 参数
pin_no
(str
) 脚编号mode
(str
) "GPIO.IN" 或者 "GPIO.OUT"
output(pin_no, state)
- 功能: 将引脚设置为高,低电平
- 参数说明:
pin
(int
) 引脚编号state
:GPIO.LOW设置为低电平; GPIO.HIGH设置为高电平 (吸泵低电平开启工作,高电平停止工作)
input(pin_no)
- 功能: 获取引脚电平状态
- 参数说明:
pin_no
(int
) 引脚编号
- 返回值: 0为低电平 , 1为高电平
案例使用
- MyCobot 280-X5Pi版本:
from pymycobot import MyCobot280RDKX5
import time
import Hobot.GPIO as GPIO
mc = MyCobot280RDKX5("/dev/ttyS1", 1000000)
GPIO.setmode(GPIO.BCM)
GPIO.setup(20, GPIO.OUT)
GPIO.setup(21, GPIO.OUT)
GPIO.output(20, GPIO.LOW)
time.sleep(2)
GPIO.output(20,GPIO.HIGH)
time.sleep(0.05)
GPIO.output(21,GPIO.LOW)
time.sleep(1)
GPIO.output(21,GPIO.IGH)
time.sleep(0.05)