mCookie
mCookie库中所有扩展方法及属性皆依赖于mcookie扩展包,使用前请导入mcookie
import mcookie
除OLED模块外其他皆适用于'mCookie扩展'固件。文中凡支持float类型或有效字符串float类型的参数,在实际运行中都是将其直接转换成int型。例如 2.3 等价于2 、'2.6' 等价于 2
动作
1、电机(Motor)速度
mcookie.motorContro(ports, speed)
"""
ports : 电机端口(包含两个端口,1A1B与2A2B)默认1A1B,参数为0和1
speed : 电机转速(默认30r/min)
功能 : 控制电机以指定速度运转
参数类型: ports与speed皆支持int、float型和纯数字型字符串)
适用模块 : 传感器扩展板
"""
ports 为0 代表1A1B,1 代表2A2B;ports 为float类型或字符串float时会自动取整为int型
2、电机(Motor)停止
mcookie.motorBrake(ports)
"""
ports : 电机端口(包含两个端口,1A1B与2A2B),参数为0和1
功能 : 停止指定端口的电机
参数类型: ports支持int、float型和纯数字型字符串
适用模块 : 传感器扩展板
"""
ports 为0 代表1A1B,1 代表2A2B;ports 为float类型或字符串float时会自动取整为int型
3、电机速度
mcookie.motorplusControl(ports, speed)
"""
ports : 电机端口(包含两个端口,1A1B与2A2B),参数为0和2
speed : 电机转速(默认255r/min)
功能 : 控制电机以指定速度运转
参数类型: ports与speed皆支持int、float型和纯数字型字符串
适用模块 : 传感器扩展板
"""
ports 为0 代表1A1B,2 代表2A2B;ports 为float类型或字符串float时会自动取整为int型
4、电机停止
mcookie.motorBrake(ports)
"""
ports : 电机端口(包含两个端口,1A1B与2A2B),参数为0和2
功能 : 停止指定端口的电机
参数类型: ports支持int、float型和纯数字型字符串
适用模块 : 传感器扩展板
"""
ports 为0 代表1A1B,2 代表2A2B;ports 为float类型或字符串float时会自动取整为int型
左为电机(Motor)模块,右为电机模块
5、小车(Motor)控制
mcookie.carControl(port1, port2)
"""
port1 : 电机端口1A1B,参数默认为-150代表逆时针转速为150r/min
port2 : 电机端口2A2B,参数默认为150代表顺时针转速为150r/min
功能 : 控制两个端口的电机以相反方向进行旋转
参数类型 : port1与port2皆支持int、float型和纯数据型字符串
适用模块 : Motor模块
"""
port1和port2 为float类型或字符串float时会自动取整为int型
6、小车控制
mcookie.carPlusControl(150, 150)
"""
port1 : 电机端口1A1B,参数默认为150代表逆时针转速为150r/min
port2 : 电机端口2A2B,参数默认为150代表顺时针转速为150r/min
功能 : 控制两个端口的电机以相反方向进行旋转
参数类型 : port1与port2皆支持int、float型和纯数字型字符串
适用模块 : MotorPlus模块
"""
小车控制中Motor模块与Motor+模块参数存在误解,Motor模块语句中默认‘-’号代表反转,Motor+模块语句中默认不加‘-’号2A2B端口也存在反转,电机转速较低时电机不能正常启动,此时须提高转速;port1和port2 为float类型或字符串float时会自动取整为int型
7、舵机旋转角度
arduino.servoWrite(port, angle)
"""
port : 舵机引脚端口,默认为2, 参数为2
angle : 舵机旋转角度
功能 : 将指定引脚下的舵机旋转到需要的角度
参数类型 : port、angle皆适用于int、 float及纯数字型字符串
适用模块 : 传感器扩展板
"""
8、控制舵机速度
mcookie.servoControl(port, value1, value2, delay)
"""
port : 舵机引脚端口,默认为2/3端口,参数为2
value1 : 舵机启始转动值默认为30
value2 : 舵机终止转动值默认为120
delay : 舵机持续转动时间默认为500ms
功能 : 控制舵机在规定时间内由转动值value1到value2
参数类型 : port、speed1、speed2皆支持int、float型和纯数字型字符串
适用模块 : 传感器扩展板
"""
port为float类型或字符串float时会自动取整为int型
显示
9、LED彩灯渐变
mcookie.colorLEDControl(port, num, color1, color2, delay)
"""
port : 彩灯引脚端口,默认为2/3端口,参数为2
num : 彩灯索引值,彩灯允许串联使用,从连接至扩展口的第一个开始,索引值依次为0、1、2... 默认值为0,即第一个彩灯
color1 : 彩灯起始色彩值,默认为'#b20862'(色彩十六进制字符串)
color2 : 彩灯结束色彩值,默认为'#136e17'(色彩十六进制字符串)
delay : 彩灯从起始颜色到结束颜色过渡时间,默认为500ms
功能 : 控制彩灯在初始颜色与结束颜色之间在规定时间内进行渐变
参数类型 : port、num、delay皆支持int、float型和纯数字型字符串,color1、color2为16进制色彩值字符串类型
适用模块 : 传感器扩展板
"""
10、LED彩灯单色
mcookie.colorLEDColor(port, num, color)
"""
port : 彩灯引脚端口,默认为2/3端口,参数为2
num : 彩灯索引值,彩灯允许串联使用,从连接至扩展口的第一个开始,索引值依次为0、1、2... 默认值为0,即第一个彩灯
color : 彩灯色彩值,默认为'#62f1e5'(色彩十六进制字符串)
功能 : 控制彩灯在初始颜色与结束颜色之间在规定时间内进行渐变
参数类型 : port、num皆支持int、float型和纯数字型字符串,color为16进制色彩值字符串类型
适用模块 : 传感器扩展板
"""
单色LED彩灯只有一个控制接口,所以只能接收一道命令;全彩LED灯有一个控制接口(IN),和一个传递接口(OUT)所以可以接收多道命令,并将命令传递给下一个全彩LED灯,使用时可以根据需要选择单色或者全彩LED
11、点阵屏图案
mcookie.dotMatrixColor(address,color)
"""
address : 地址范围,默认为64
color : 十六进制色彩值字符串,所有点的色彩值拼接为一个字符串,默认值全为#000000
端口 : IIC
适用模块 : 传感器扩展板
参数类型 : address支持int、float及纯数据型字符串,color为字符型
"""
12、点阵屏坐标填色
mcookie.dotMatrixPoint(64, 1, 1, '#6d26ea')
"""
address : 地址范围,默认为64
x : x坐标值,默认值为1
y : y坐标值,默认值为1
color : 十六进制色彩值字符串,默认值为#6d26ea'
端口 : IIC
适用模块 : 传感器扩展板
参数类型 : address、x 、y支持int、float及纯数据型字符串,color为字符型
"""
点阵的地址说明: 1、地址范围:1~64,超过64为64 2、地址表示方法:点阵上电后显示的绿点数量表示点阵地址 3、地址设置方法:点阵上电后的3秒内,按下背面按键可进入地址配置状态,此时点阵颜色变为白色 --慢按按键(2次按键间隔大于0.5s)会增加地址 --快按按键(2次按键间隔小于0.5s)会减小地址 点阵地址设定完毕后,长按设置键3秒,即可退出地址配置状态
13、RGB色值
combineRGB(R, G, B)
"""
R : 三基色(红), 默认为255
G : 三基色(绿), 默认为0
B : 三基色(蓝), 默认为0
功能 : 使用R、G、B组合出所需要的颜色
参数类型 : R、G、B皆支持int、float型和纯数据字型字符串
"""
14、OLED清屏
mcookie.oledClear()
"""
功能 : 用于清空OLED显示屏的当前显示内容
适用模块 : OLED扩展模块
固件选择 : 适用于烧录mCookie固件
适用模块 : 传感器扩展板
"""
其他指令可以直接烧录‘mCookie扩展’固件即可使用,但是OLED模块需要烧录‘mCookie‘固件才可以正常使用,否则会出现OLED不能显示的故障
15、OLED信息
mcookie.oledMessage(x, y, msg)
"""
x : x坐标值,默认值为10
y : y坐标值,默认值为10
msg : OLED展示屏要显示的信息
功能 : 在OLED显示屏上显示指定信息
固件选择 : 适用于烧录mCookie固件
适用模块 : 传感器扩展板
"""
OLED显示屏并不支持python语法中的转义符、特殊字符及汉字,例如转义符:'\n'、'\r'、'\t'...特殊字符:¥∆˚¬πœ∑†¥åß∂ƒ˙∆˚©...否则会出现乱码或混合字符过长(特殊字符加汉字或单独特殊字符总长超过15个字符)会出现持续闪烁或偶发性死机的情况,偶尔出现死机时须断开并重新连接即可恢复正常
16、OLED画线 -画矩形
mcookie.oledDraw(type, x0, y0, x1, y1)
"""
type : 绘图类型,默认为0,包含0(画线)、1(画矩形)
x0 : 线条或矩形(矩形起始点为对角中的点)起始点x坐标y
y0 : 线条或矩形(矩形起始点为对角中的点)起始点y坐标
x1 : 线条或矩形(矩形终点点为对角中的点)起终点x坐标
y1 : 线条或矩形(矩形终点点为对角中的点)起终点y坐标
功能 : 绘制直线、斜线、矩形
适用模块 : 传感器扩展板
固件选择 : 适用于烧录mCookie固件
"""
17、OLED画圆
mcookie.oledCircle(x, y, r)
"""
x : x坐标值,默认值为10
y : y坐标值,默认值为10
r : 圆的半径
功能 : 绘制以指定坐标点为圆心r为半径的圆
适用模块 : 传感器扩展板
固件选择 : 适用于烧录mCookie固件
"""
18、数码管引脚
mcookie.setNixietube(port, num1, num2, point)
"""
port : 数码管引脚端口,默认端口为2/3,参数为2
num1 : 数码管索引值,允许数码管串联使用,从连接至扩展口的第一个开始,索引值依次为0、1、2... 默认值为0,即第一个数码管
num2 : 选定数码管要显示的数字内容,须要关闭数码管时调用mcookie.sendNixieTube(port, num1, num2, point),关闭时num1+=1
point : 小数点,包含三个状态0(不带)、1(带)、3(用于关闭状态)
功能 : 指定数码管并显示指定数字
参数类型 : port、num1、num2、point皆支持int、float及纯数字型字符串
适用模块 : 传感器扩展板
"""
播放
19、蜂鸣器音调
mcookie.buzzerNote(port, beat, delay1)
time.sleep(delay2)
"""
port : 蜂鸣器引脚端口,默认为2/3端口,参数为2
beat : 音符音调包含(C4、D4、E4、F4、G4、A4、B4、C5、D5、E5、F5、G5、A5、B5、C6、D6、E6、F6、G6、A6、B6)默认C4,参数为262
delay1 : 蜂鸣器持续时间默认250ms
delay2 : 蜂鸣器持续时间默认250ms
适用模块 : 传感器扩展板
参数类型 : port、beat、delay1、delay2 皆支持int、float及纯数据型字符串
"""
音调对应的频率值为:C4(262)、D4(294)、E4(330)、F4(349)、G4(392)、A4(440)、B4(494)、C5(523)、D5(587)、E5(659)、F5(698)、G5(784)、A5(880)、B5(988)、C6(1047)、D6(1175)、E6(1319)、F6(1397)、G6(1568)、A6(1760)、B6(1976); delay1为无效值,不能作为正常延时使用,延时操作需导入import time -> time.sleep(delay2) delay2为延时时间,单位ms
20、蜂鸣器频率
mcookie.buzzerControl(port, frequency, delay1)
time.sleep(delay2)
"""
port : 蜂鸣器引脚端口,默认为2/3端口,参数为2
frequency : 蜂鸣器振动频率
delay1 : 鸣器持续时间默认250ms
delay2 : 鸣器持续时间默认250ms
适用模块 : 传感器扩展板
参数类型 : port、beet、delay1、delay2 皆支持int、float及纯数据型字符串
"""
delay1为无效值,不能作为正常延时使用,延时操作需导入import time -> time.sleep(delay2) delay2为延时时间,单位ms
21、蜂鸣器播放音乐
mcookie.buzzerSong(port, type)
"""
port : 蜂鸣器引脚端口,默认为2/3端口,参数为2
type : 音乐类型,默认为1
适用模块 : 传感器扩展板
参数类型 : port、type 皆支持int、float及纯数据型字符串
"""
音乐类型主要有: 1(丢手娟)、2(两只老虎)、3(多啦A梦)、4(小苹果)
22、蜂鸣器关闭
mcookie.buzzerOff(port)
"""
port : 蜂鸣器引脚端口,默认为2/3端口,参数为2
功能 : 关闭指定端口的音乐播放
适用模块 : 传感器扩展板
参数类型 : port 支持int、float及纯数据型字符串
"""
感知
23、开关状态
mcookie.touchKey(port, status)
"""
port : 监听指定端口的开关状态,默认为2/3端口,参数为1
status : 开关状态,主要有1(已抬起)、0(已按下)、2(长按)
返回值类型 : 返回类型为bool类型,状态为真时返回True否则False
参数类型 : port、status支持int、float及纯数据型字符串
适用模块 : 传感器扩展板
"""
24、摇杆按键状态
mcookie.joystickKey(port, button, status)
"""
port : 监听指定端口的揺杆按钮状态,默认为A0,参数为0,支持A0-A7端口,参数为0-7
button : 揺杆的指定按钮默认为'上',参数为1,主要有'上'(1)、'下'(2)、'左'(3)、'右'(4)、'中央'(0)、
status : 开关状态,主要有1(已抬起)、0(已按下)、2(长按)
返回值类型 : 返回类型为bool类型,状态为真时返回True否则False
参数类型 : port、button、status、支持int、float及纯数据型字符串
适用模块 : 传感器扩展板
"""
25、红外揺控状态
mcookie.irKey(port, button, status)
"""
port : 红外摇控引脚端口,默认为2/3端口,参数为2
button : 揺控器状态指令,默认为Power,参数为 0x1FE48B7
status : 开关状态,主要有1(已抬起)、0(已按下)、2(长按)
返回值类型 : 返回类型为bool类型,状态为真时返回True否则False
参数类型 : port、status、支持int、float及纯数据型字符串,button为标准十六进制
适用模块 : 传感器扩展板
"""
揺控器的指令主要包括: Power(0x1FE48B7)、A(0x1FE807F)、B(0x1FE40BF)、C(0x1FEC03F)、D(0x1FE20DF)、E(0x1FE609F)、OK(0x1FE10EF)、上(0x1FEA05F)、下(0x1FED827)、左(0x1FEE01F)、右(0x1FE906F)、后退(0x1FE50AF)、播放/暂停(0x1FE30CF)、音量+(0x1FEF807)、音量-(0x1FE708F)、静音(0x1FEB04F)
26、姿态传感器-角度/偏航
mcookie.getMotionSTH2X('motion',angle, status, 106, 28)
"""
angle : 角度选择,默认为角度,参数为‘0’,包含'0'(角度)、'2'(角速度)
status : 状态选择,默认为偏航,参数为‘Z', 包含'Z'(偏航)、'Y'(俯仰)、'X'(翻滚)
返回值类型 : 返回值类型为float
参数类型 : angle, status皆为字符串类型
"""
参数'motion'、106,28为固定值,不可手动修改,其中angle为’0'时,最后一位参数为28,angle为'2'时,最后一位参数为16
27、姿态传感器-加速度
mcookie.getMotionSTH2X('motion','1',status, 106, 4)
"""
status : 状态选择,默认为'前后',参数为‘X', 包含'X'(前后)、'Y'(左右)、'Z'(上下)
返回值类型 : 返回值类型为float
参数类型 : status皆为字符串类型
"""
28、 温/湿度传感器
mcookie.temperatureSTH2X()
mcookie.humiditySTH2X()
"""
端口 : IIC
选择 : 检测温度接口(temperatureSTH2X())、检测湿度接口(humiditySTH2X())
功能 : 用于检测温度和湿度
返回值 : 返回值类型为float类型
适用模块 : 传感器扩展板
"""
29、温度传感器
mcookie.temperatureLM75()
"""
端口 : IIC
功能 : 用于检测温度
返回值 : 返回值类型为float类型
适用模块 : 传感器扩展板
"""
30、手势距离
mcookie.gestureDistance()
"""
端口 : IIC
功能 : 用于测量手势距离
返回值 : 返回值类型为int类型,表示实际距离
适用模块 : 传感器扩展板
"""
31、超声波测距
mcookie.ultrasonic()
"""
端口 : IIC
功能 : 用于测量距离
返回值 : 返回值类型为int类型,表示实际距离
适用模块 : 传感器扩展板
"""