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)

results matching ""

    No results matching ""