IO 控制
IO即数据的输入与输出,在我们的机械臂的Atom和树莓派本身上有多个pin脚,通过以下函数接口可以对其设置其输入输出模式
Atom IO
set_pin_mode(id, pin_no, pin_mode)
设置 atom 中指定引脚的状态模式。
参数
id - 1/2(左/右)
pin_no (int) – 引脚编号 (1 - 5)。
pin_mode (int) - 0 - 输入,1 - 输出
set_digital_output(id, pin_no, pin_signal)
设置 atom IO 输出电平
参数
id - 1/2(左/右)
pin_no (int) - 1 - 5
pin_signal (int) – 0 / 1
get_digital_input(id, pin_no)
读取Atom IO输入电平
参数
id - 1/2(左/右)
pin_no (int) - 1 - 5
set_pwm_output(id, channel, frequency, pin_val)
脉宽调制控制
参数
id - 1/2(左/右)
channel (int) – IO 编号 (1 - 5)。
frequency (int) – 时钟频率 (0/1: 0 - 1Mhz 1 - 10Mhz)
pin_val (int) – 占空比 0 ~ 100: 0 ~ 100%
树莓派 IO
注意:以下接口是对 RPi.GPIO 的封装使用,详情请了解 RPi.GPIO 如何控制树莓派 IO.
get_gpio_input(pin)
获取 GPIO 输入值。
参数
pin - (int)pin 号。
set_gpio_mode(pin_no, mode)
初始化 GPIO 模块,设置 BCM 模式, 设置为输入/输出模式。
参数
pin_no - (int) 引脚号。
mode - 0 - 输入 1 - 输出
set_gpio_output(pin, v)
设置 GPIO 输出值。
参数
pin - (int)pin 号。
v - (int) 0 / 1
set_gpio_pwm(pin, baud, dc)
设置 GPIO PWM 值。
参数
pin - (int)pin 号。
baud - (int) 10 - 1000000
dc - (int) 0 - 100
示例
from pymycobot import MyBuddy
import time
mc = MyBuddy("/dev/ttyACM0")
# 设置树莓派IO 20为输出模式
mc.set_gpio_mode(20, 1)
mc.set_gpio_output(20, 1)
time.sleep(2)
mc.set_gpio_output(20, 0)