mCookie

mCookie库中所有扩展方法及属性皆依赖于mcookie扩展包,使用前请导入mcookie

import mcookie

除OLED模块外其他皆适用于'mCookie扩展'固件。文中凡支持float类型或有效字符串float类型的参数,在实际运行中都是将其直接转换成int型。例如 2.3 等价于2 、'2.6' 等价于 2

动作

1、电机(Motor)速度

Motor00

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)停止

Motor00

mcookie.motorBrake(ports)
"""
    ports : 电机端口(包含两个端口,1A1B与2A2B),参数为0和1
    功能 : 停止指定端口的电机 
    参数类型: ports支持int、float型和纯数字型字符串
    适用模块 : 传感器扩展板
"""

ports 为0 代表1A1B,1 代表2A2B;ports 为float类型或字符串float时会自动取整为int型

3、电机速度

Motor00

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、电机停止

Motor00

mcookie.motorBrake(ports)
"""
    ports : 电机端口(包含两个端口,1A1B与2A2B),参数为0和2
    功能 : 停止指定端口的电机
    参数类型: ports支持int、float型和纯数字型字符串
    适用模块 : 传感器扩展板
"""

ports 为0 代表1A1B,2 代表2A2B;ports 为float类型或字符串float时会自动取整为int型

左为电机(Motor)模块,右为电机模块

Motor00

5、小车(Motor)控制

Motor00

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、小车控制

Motor00

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、舵机旋转角度

Pin

arduino.servoWrite(port, angle)
"""
    port : 舵机引脚端口,默认为2, 参数为2
    angle : 舵机旋转角度
    功能 : 将指定引脚下的舵机旋转到需要的角度
    参数类型 :  port、angle皆适用于int、 float及纯数字型字符串
    适用模块 : 传感器扩展板
"""

8、控制舵机速度

Motor00

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彩灯渐变

ColorLED00

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彩灯单色

ColorLED00

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、点阵屏图案

ColorLED00

mcookie.dotMatrixColor(address,color)
"""
    address : 地址范围,默认为64
    color : 十六进制色彩值字符串,所有点的色彩值拼接为一个字符串,默认值全为#000000
    端口 : IIC
    适用模块 : 传感器扩展板
    参数类型 : address支持int、float及纯数据型字符串,color为字符型
"""

12、点阵屏坐标填色

ColorLED00

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色值

ColorLED00

combineRGB(R, G, B)
"""
    R : 三基色(红), 默认为255
    G : 三基色(绿), 默认为0
    B : 三基色(蓝), 默认为0
    功能 : 使用R、G、B组合出所需要的颜色
    参数类型 : R、G、B皆支持int、float型和纯数据字型字符串
"""

14、OLED清屏

Oled_00

mcookie.oledClear()
"""
    功能 : 用于清空OLED显示屏的当前显示内容
    适用模块 : OLED扩展模块 
    固件选择 : 适用于烧录mCookie固件
    适用模块 : 传感器扩展板
"""

其他指令可以直接烧录‘mCookie扩展’固件即可使用,但是OLED模块需要烧录‘mCookie‘固件才可以正常使用,否则会出现OLED不能显示的故障

15、OLED信息

Oled_00

mcookie.oledMessage(x, y, msg)
"""
    x : x坐标值,默认值为10
    y : y坐标值,默认值为10
    msg : OLED展示屏要显示的信息
    功能 : 在OLED显示屏上显示指定信息
    固件选择 : 适用于烧录mCookie固件
    适用模块 : 传感器扩展板
"""

OLED显示屏并不支持python语法中的转义符、特殊字符及汉字,例如转义符:'\n'、'\r'、'\t'...特殊字符:¥∆˚¬πœ∑†¥åß∂ƒ˙∆˚©...否则会出现乱码或混合字符过长(特殊字符加汉字或单独特殊字符总长超过15个字符)会出现持续闪烁或偶发性死机的情况,偶尔出现死机时须断开并重新连接即可恢复正常

16、OLED画线 -画矩形

Oled_03

mcookie.oledDraw(type, x0, y0, x1, y1)
"""
    type : 绘图类型,默认为0,包含0(画线)、1(画矩形)
    x0 : 线条或矩形(矩形起始点为对角中的点)起始点x坐标y
    y0 : 线条或矩形(矩形起始点为对角中的点)起始点y坐标
    x1 : 线条或矩形(矩形终点点为对角中的点)起终点x坐标
    y1 : 线条或矩形(矩形终点点为对角中的点)起终点y坐标
    功能 : 绘制直线、斜线、矩形
    适用模块 : 传感器扩展板
    固件选择 : 适用于烧录mCookie固件
"""

17、OLED画圆

Oled_04

mcookie.oledCircle(x, y, r)
"""
    x : x坐标值,默认值为10
    y : y坐标值,默认值为10
    r : 圆的半径
    功能 : 绘制以指定坐标点为圆心r为半径的圆
    适用模块 : 传感器扩展板
    固件选择 : 适用于烧录mCookie固件
"""

18、数码管引脚

Tube

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、蜂鸣器音调

ColorLED00

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、蜂鸣器频率

ColorLED00

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、蜂鸣器播放音乐

ColorLED00

mcookie.buzzerSong(port, type)
"""
    port : 蜂鸣器引脚端口,默认为2/3端口,参数为2
    type : 音乐类型,默认为1
    适用模块 : 传感器扩展板 
    参数类型 : port、type 皆支持int、float及纯数据型字符串
"""

音乐类型主要有: 1(丢手娟)、2(两只老虎)、3(多啦A梦)、4(小苹果)

22、蜂鸣器关闭

ColorLED00

mcookie.buzzerOff(port)
"""
    port : 蜂鸣器引脚端口,默认为2/3端口,参数为2
    功能 : 关闭指定端口的音乐播放
    适用模块 : 传感器扩展板
    参数类型 : port 支持int、float及纯数据型字符串
"""

感知

23、开关状态

ColorLED00

mcookie.touchKey(port, status)
"""
    port : 监听指定端口的开关状态,默认为2/3端口,参数为1
    status : 开关状态,主要有1(已抬起)、0(已按下)、2(长按)
    返回值类型 : 返回类型为bool类型,状态为真时返回True否则False
    参数类型 : port、status支持int、float及纯数据型字符串
    适用模块 : 传感器扩展板    
"""

24、摇杆按键状态

ColorLED00

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、红外揺控状态

IR00

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、姿态传感器-角度/偏航

Postion00

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、姿态传感器-加速度

Postion01

mcookie.getMotionSTH2X('motion','1',status, 106, 4)
"""
    status : 状态选择,默认为'前后',参数为‘X', 包含'X'(前后)、'Y'(左右)、'Z'(上下)
    返回值类型 : 返回值类型为float  
    参数类型 : status皆为字符串类型
"""

28、 温/湿度传感器

Temp00

mcookie.temperatureSTH2X()
mcookie.humiditySTH2X()
"""
    端口 : IIC
    选择 : 检测温度接口(temperatureSTH2X())、检测湿度接口(humiditySTH2X())
    功能 : 用于检测温度和湿度
    返回值 : 返回值类型为float类型
    适用模块 : 传感器扩展板
"""

29、温度传感器

Temp01

mcookie.temperatureLM75()
"""
    端口 : IIC
    功能 : 用于检测温度
    返回值 : 返回值类型为float类型
    适用模块 : 传感器扩展板
"""

30、手势距离

Gesture

mcookie.gestureDistance()
"""
    端口 : IIC
    功能 : 用于测量手势距离
    返回值 : 返回值类型为int类型,表示实际距离
    适用模块 : 传感器扩展板
"""

31、超声波测距

ultrasonic

mcookie.ultrasonic()
"""
    端口 : IIC
    功能 : 用于测量距离
    返回值 : 返回值类型为int类型,表示实际距离
    适用模块 : 传感器扩展板
"""