掌控拓展板parrot是mPython掌控板衍生的一款体积小巧、易于携带。支持电机驱动、语音播放、语音合成等功能的IO引脚扩展板,可扩展12路IO接口和2路I2C接口。
该库为掌控拓展板提供电机驱动,LED驱动等功能。
电机控制I2C通讯协议数据格式:
Type |
Command |
motor_no |
speed(int) |
控制电机 |
0x01 |
0x01/0x02 |
-100~100 |
当 ‘speed’ 为负值,反转;当为正值,正转。
-
parrot.MOTOR_1 = 1
M1电机编号,0x01
-
parrot.MOTOR_2 = 2
M2电机编号,0x02
-
parrot.set_speed(motor_no, speed)[source]
设置电机速度
- Parameters
motor_no (int) – 控制电机编号,可以使用 MOTOR_1
, MOTOR_2
,或者直接写入电机编号。
speed (int) – 电机速度,范围-100~100,负值代表反转。
-
parrot.get_speed(motor_no)[source]
返回电机速度
- Parameters
motor_no (int) – 控制电机编号,可以使用 MOTOR_1
, MOTOR_2
,或者直接写入电机编号。
- Return type
int
- Returns
返回该电机速度
-
parrot.led_on(no, brightness=50)[source]
打开灯。电机接口,除了可以驱动电机,还能做灯的控制。
- Parameters
no (int) – 控制电机编号,可以使用 MOTOR_1
, MOTOR_2
,或者直接写入电机编号。
brightness (int) – 设置亮度,范围0~100
-
parrot.led_off(no)[source]
关闭灯。
- Parameters
no (int) – 控制电机编号,可以使用 MOTOR_1
, MOTOR_2
,或者直接写入电机编号。
-
parrot.get_battery_level()[source]
获取拓展板的电压值。
- Returns
返回电量,单位mV。
-
class parrot.IR_encode[source]
红外编码类
-
encode_raw(carry_freq, len, repeat_pos, code, data)[source]
制作任意编码。
- Parameters
carry_freq (int) – 载波频率,单位hz。
len (int) – 加上循环码后的单次发码的code总数
repeat_pos (int) – 循环码位置
code (int) – code列表,16个成员,记录8组不同的高低电平波形
data (char) – 编码波形数据,最长64字节
- Returns
返回编码后的红外脉冲数据buff
-
encode_nec(user_code, command_code)[source]
NEC编码。
- Parameters
user_code (int) – 用户码
command_code (int) – 命令码
- Returns
返回编码后的红外脉冲数据buff
-
class parrot.IR[source]
红外收发管的抽象类,用于红外发射和学习。
-
send(buff, repeat_en=0)[source]
发送红外脉冲数据buff
- Parameters
-
-
stop_send()[source]
停止发送,当发送重复码后,使用该函数来停止发送。
-
learn(wait=True)[source]
红外学习。默认下wait为True,此时为阻塞函数。learn()开始后,须在5秒内,常按住被学习对象按键。当学习完成后,会返回学习结果,成功True,失败Fail。wait 为 False,则为非阻塞,此时不返回结果。
- Parameters
wait (bool) – 是否阻塞。
- Returns
bool类型,返回结果
-
get_learn_data()[source]
返回学习后的,红外编码数据。该函数须在 learn
函数后使用。
- Returns
返回编码后的红外脉冲数据buff