掌控板进阶教程!必看!!!


发布于 2024-04-30 / 63 阅读 / 0 评论 /
掌控板进阶教程!必看!!! 第1课 掌控拓展板介绍 第1课 掌控拓展板介绍 一、了解掌控拓展板 1. 掌控板和拓展板的组装 掌控板和掌控拓展板的组合方法如下,用三个铜柱将掌控板和掌控拓展板连接,拧上螺丝固定,套入软质外壳即可。

掌控板进阶教程!必看!!!

第1课 掌控拓展板介绍

第1课 掌控拓展板介绍

一、了解掌控拓展板

1. 掌控板和拓展板的组装
掌控板和掌控拓展板的组合方法如下,用三个铜柱将掌控板和掌控拓展板连接,拧上螺丝固定,套入软质外壳即可。

2. 认识拓展板

掌控拓展板左右两侧扩展出12路引脚接口(掌控拓展板背面标记P为引脚接口),可通过这些接口接入经典的输入模块、输出模块,比如按键、人体红外、LED灯、蜂鸣器等。
拓展板还扩展出两路I2C接口,板上标记为SCL和SDA。可以通过I2C接口来接入I2C通讯模块,如超声波传感器、温湿度传感器等。
拓展板支持两路电机驱动(掌控拓展板背面标记M1和M2),可接入直流电机或满天星灯带。
掌控拓展板内置功放和喇叭,支持音频播放。可播放掌控板DAC(数模转换)输出的音频信号,比如mp3歌曲、语音合成(TTS)生成的音频等。
掌控拓展板内置了300毫安的锂电池,可为掌控板及外接的硬件供电。该锂电池可以通过外接USB电源充电,充电过程中,充电指示灯为红灯闪烁,当红灯熄灭时表示充电已经完成。
拓展板有两个版本,充电方法不一样。如果是1.0的拓展板,拓展板上有一个USB充电口,通过该USB口给电池充电。如果是2.0的拓展板,USB充电口的位置变成了一个红外发射模块,拓展板上没有单独的充电口,它是通过前面掌控板上的TypeC接口给电池充电。

注:无论是哪个版本的拓展板,在使用外接模块的时候,都必须打开拓展板上的电源开关,电源指示灯闪烁绿灯即可正常工作。

二、了解拓展板引脚

1. 数字信号和模拟信号
信号是信息的载体。在我们周围的环境中, 存在着电、声、光、磁、力等各种形式的信号。电子技术所处理的对象是载有信息的电信号。 目前对于电信号的处理技术已经比较成熟。但是,在通信、测量、自动控制以及日常生活等各个领域也会遇到非电信号的处理问题, 在实际中经常需要把待处理的非电信号先变成电信号,经过处理后再还原成非电信号。
在电子技术中遇到的电信号按其不同特点可分为两大类,即模拟信号和数字信号。

① 模拟信号
在时间上和幅值上均是连续的信号叫做模拟信号。此类信号的特点是,在一定动态范围内幅值可取任意值。 许多物理量,例如声音、压力、温度等均可通过相应的传感器转换为时间连续、数值连续的电压或电流。下图所示为一个随时间变化的模拟信号。

② 数字信号
与模拟信号相对应,时间和幅值均离散( 不连续 ) 的信号叫做数字信号。数字信号的特点是幅值只可以取有限个值。下图所示为一个常见的、应用最广的二进制数字信号。

2. 引脚功能
根据信号的类型,以及信号传输的方向,掌控拓展板上的引脚可分为四种功能。
数字输入,即外部的数字信号可通过该引脚输入掌控板;
模拟输入,即外部的模拟信号可通过该引脚输入掌控板;
数字输出,即掌控板可通过该引脚向外部输出数字信号;
模拟输出,即掌控板可通过该引脚向外部输出模拟(PWM)信号。
掌控拓展板上的12路IO引脚说明如下图所示,在连接外接模块的时候需要根据功能选择合适的引脚。例如连接一个模拟信号输入的旋转电位器,就只能选择P0、P1、P2、P3这几个支持模拟输入的引脚。

3. 引脚标识 无论是掌控拓展板还是其他外接模块,每个引脚处都有用英文字符标明该引脚的名称或功能,在连接模块的时候首先要了解这些信息。 任何一个电子模块要工作,都必须通电,以下是常见的电源引脚标识: VCC——电源线,连接线通常是红色。 3V3——电源线,连接线通常是红色。 GND——地线,相当于电源负极,连接线通常是黑色。 除了电源引脚,就是重要的信号引脚了。常见的信号引脚标识如下: (注:NC引脚表示无连接,即该引脚不起任何作用)

第2课 七彩按键灯

第2课 七彩按键灯

在音乐节或者一些节日活动中,经常会看到各种发光棒,打开开关,即可发出五颜六色的灯光,很好地起到烘托氛围的作用。今天我们一起来制作一个类似的七彩按键灯。

一、认识满天星灯带

1. 添加满天星灯带指令
依次点击mPython软件左侧的“扩展”——“添加”,然后选择“执行器”,从中找到“满天星灯带”,点击“加载“,即可在左侧指令栏看到满天星灯带的指令。

2. 模块连接
满天星灯带可连接拓展板的M1或M2接口,我们以M1接口为例,如下图如所示。

3. 模块测试
打开拓展板电源开关,编写如下程序,刷入掌控板,即可看到满天星灯带亮起。其中亮度可设置的范围为0到100。

效果如下图所示:

二、认识按键模块

1. 添加按键指令
依次点击mPython软件左侧的“扩展”——“添加”,然后选择“传感器”,从中找到“按键”,点击“加载“,即可在左侧指令栏看到按键的指令。

2. 模块连接

从按键指令的引脚选择下拉菜单可看到按键能连接的引脚,从中选择一个连接即可。我们以P0引脚为例。
找到一条4Pin杜邦线,大的一头插入按键模块,扁的一头插入掌控拓展板,其中按键的VCC连接拓展板3V3,按键GND连接拓展板GND, 信号引脚DO对应拓展板P0引脚,剩余的NC引脚对应掌控板P3引脚,这一条连接线并没有实质作用。连接示意图如下:

实物连接图如下:

3. 模块测试
从文本指令区找到“打印“指令,重复执行打印按键连接的P0引脚的状态,在右下角控制台区域可看到打印的值。按下和松开按键,可看到打印的值不同,按下为True,松开则为False,只有这两种状态。

三、七彩按键灯

1. 模块连接
满天星灯带连接M1,按键连接P0引脚,实物连接图如下:

2. 按键灯
从逻辑指令区找到条件判断指令。

编写如下程序,即可实现按下按键时灯亮,松开按键时灯灭的效果。

3. 按键灯优化
上面的程序,只有按着按键时灯亮,松开就不亮了。接下来对其进行优化,实现按一次按键,灯保持常亮,再按一次按键,灯熄灭。
创建一个变量flag。

将flag的初始值设定为0。如果按下按键,切换变量flag的值。如果flag原本为0,按下按键后,flag变为1;如果flag原本为1,按下按键后,flag变为0。设置延时,使得变量flag值的变化更加稳定。

根据flag的值设定满天星灯带的状态,如果flag等于1,灯带打开,否则如果flag等于0,灯带关闭。完整程序如下:

第3课 感应门

第3课 感应门

生活中随处可见自动感应门,我们也一起来制作一个感应门吧!

一、认识舵机

1. 认识舵机

舵机是一种位置(角度)调节的驱动器,适用于那些需要角度不断变化并可以保持的控制系统,可调节角度为0到180度。随舵机附带几个不同形状的舵盘,可根据需要选用。

2. 添加舵机指令
依次点击mPython软件左侧的“扩展”——“添加”,然后选择“执行器”,从中找到“舵机”,点击“加载“,即可在左侧指令栏看到舵机的指令。

3. 模块连接

从舵机指令的引脚选择下拉菜单可看到舵机能连接的引脚,从中选择一个连接即可。我们以P13引脚为例。舵机棕色连接线连接拓展板GND引脚,红色线连接拓展板VCC引脚,黄色信号线连接P13引脚。连接示意图如下:

4. 模块测试
舵机的旋转角度为0到180度。编写如下测试程序,刷入掌控板,即可看到舵机舵盘依次从0度旋转到45度、90度、135度,最后停在180度。

二、认识红外探测模块

1. 认识红外探测模块

红外探测模块是一个测距传感器,检测正前方是否有障碍物。将障碍物置于红外发射管前方,当红外反射回去的强度达到设定的值,DO引脚输出高电平,指示灯点亮。 可通过调节电位器,设定阈值。阈值越小,可探测距离越远。

2. 添加红外探测模块指令
依次点击mPython软件左侧的“扩展”——“添加”,然后选择“传感器”,从中找到“红外探测”模块,点击“加载“,即可在左侧指令栏看到相关指令。

3. 模块连接

从红外探测指令的引脚选择下拉菜单可看到红外探测模块能连接的引脚,从中选择一个连接即可。我们以P2引脚为例。
找到一条4Pin杜邦线,按键的VCC连接拓展板3V3,按键GND连接拓展板GND, 信号引脚DO对应拓展板P2引脚,剩余的NC空引脚对应掌控板P7引脚。连接示意图如下:

4. 模块测试
读取红外探测模块连接的P2引脚的状态,并显示在OLED屏幕上。程序如下:

拿一个物体在红外探测模块前面进行测试,测试效果如下:

三、感应门

1. 模块连接
舵机连接P13引脚,红外探测模块连接P2引脚。

2. 感应门
编写如下程序,当检测到物体,舵机转动到90度,2秒后回到0度。

测试效果如下:

最后使用结构件将其组装成一个完整的作品即可。

第4课 调光灯

第4课 调光灯

台灯是生活中常用的日用品,很多台灯可以调节亮度,可满足不同场景的需求。我们利用掌中宝、旋钮电位器和光环板,来制作一款调光灯吧!

一、认识旋钮电位器

旋扭电位器是一种模拟型传感器(Analog sensor),其输出模拟值范围是0-4095,旋转旋钮可以调节模拟值的大小,可以结合其他模块作为调节控制。在旋钮电位器中,可看到VCC NC AO GND的引脚标识。

二、认识光环板

光环板有24颗RGB灯珠,灯的亮度范围是0~255。可实现跑马灯、流水灯、彩虹灯等各种灯效。

三、添加旋钮电位器的指令

1. 在指令扩展区中单击“添加”,进入扩展库。

2. 在扩展库界面,单击“传感器”,找到旋钮电位器并单击“加载”。

单击加载后,即可在指令扩展区看到旋钮电位器的指令。

四、添加RGB灯的指令

1. 与添加旋钮电位器的指令类似,单击扩展区的“添加”,扩展库界面,单击“执行器”,找到“NeopixelRGB灯”并单击“加载”。

单击加载后,即可在指令扩展区看到RGB灯的指令。

五、掌中宝连接旋钮电位器与光环板

1. 连接旋钮电位器。首先拖出旋转电位器的指令,单击倒三角图标,查看旋转电位器可连接的引脚。旋钮电位器可连接的引脚有P0、P1、P2、P3,其中P3(EXT)是掌控板阻性输入接口占用的引脚,在其没有外接输入时可连接旋钮电位器。

2. 以接入P0为例。使用配套的连接线,有凸起的一端连接旋钮电位器,其中红色线对应VCC,绿色线对应NC,黄色线对应AO,黑色线对应GND。

3. 连接线另一端(扁平的)连接掌中宝的P0引脚。其中黑色线对应GND,红色线对应3V3,黄色线对应P0、绿色线对应P3。

4. 连接光环板。首先拖出RGB灯的指令,单击倒三角图标,查看光环板可连接的引脚。

在这些可连接的引脚中,P7与P9分别为掌控板和掌控实验箱板载的RGB灯占用,在没有用到这两个RGB的情况下才可以使用这两个引脚。

5. 以接入P13为例。将光环板的黑色线对着掌中宝的GND引脚插入,即黑色线对着GND,红色线对应VCC,黄色线对应P13。

6. 调光灯完整的连接电路如下。

六、调光灯

1. 初始化灯带,设置灯带的名称、引脚和数量。

2. 设置灯的颜色。拖出设置RGB灯的颜色的指令,输入R(红)、G(绿)、B(蓝)的参数,其范围值均为0~255。

3. 点亮RGB灯必须加上设置灯生效的指令。

4. 点亮光环板。

5. 用旋钮电位器调节光环板的亮度。旋转电位器的数值范围是0到4095,而灯带的亮度是0到255,如何实现旋钮电位器对光环板的调节呢?可在“数学”指令中找出映射指令,映射可将一定范围内的数值转换为另一范围内的数值。

6. 在扩展指令区“旋钮电位器”中拖出旋钮电位器的指令。

将旋转电位器的范围值(0到4095 )映射为灯带的亮度范围(0到255)。

7. 由于旋转电位器的数值携带小数点,所以还需要用转为整数的指令。在“数学”指令中,拖出以下指令。

8. 将映射值转为整数。

9. 单击指令区“变量”,创建变量“liangdu”。

10. 将变量liangdu设为映射值。

11. 将RGB灯的红、绿、蓝的亮度参数设为变量“liangdu”。

12. 将程序刷入掌中宝中,转动旋钮,即可调节光环板的亮度了。

第5课 身高测量仪

第5课 身高测量仪

在我们成长的过程中,似乎都经历过测量身高。测量身高的方法有很多种,仪器也很多,在一些体检中心或者药店门口,往往会有一些是测量身高的仪器, 例如超声波身高测量仪,当我们站在仪器指定的位置,测量仪就会显示测量出的身高数据。我们使用掌中宝、超声波传感器、数码管也来制作一个身高测量仪吧!

一、认识超声波传感器

超声波传感器上有两个像眼睛一样的圆圈,一个发射超声波,另一个负责接收,通过发射与接收之间的时间差,来判断前方障碍物的距离。

在超声波传感器中,可看到VCC SDA SCL GND的引脚标识,其采用I2C通讯将测距值返回主控,它可检测的距离范围是3~300厘米,可用于超声波定位、测距、避障等应用场景。

二、认识数码管

数码管可显示整形数字,最多可显示4位数。在数码管上,同样可看到VCC SDA SCL GND的引脚标识,它采用I2C通讯,接入主控时应接入I2C接口。

三、添加超声波传感器的指令

1. 在指令扩展区中单击“添加”,进入扩展库。

2. 在扩展库界面,单击“传感器”,找到超声波传感器并单击“加载”。

单击加载后,即可在指令扩展区看到超声波传感器的指令。

四、添加数码管的指令

1. 单击扩展区的“添加”,在扩展库界面,单击“执行器”,找到数码管并单击“加载”。

单击加载后,即可在指令扩展区看到数码管的指令。

五、掌中宝连接超声波传感器与数码管

1. 超声波传感器与数码管都是连接在掌中宝的I2C接口。使用配套的连接线,有凸起的一端连接超声波传感器,其中红色线对应VCC,绿色线对应SDA,黄色线对应SCL,黑色线对应GND。连接数码管同理。

2. 连接线的另一端(扁平的)连接掌中宝的I2C引脚(GND 3V3 SCL SDA)。其中黑色线对应GND,红色线对应3V3,黄色线对应SCL、绿色线对应SDA。

注:掌中宝有两个I2C引脚,超声波传感器与数码管可任意接入其中的一个。

Step3:身高测量仪完整的连接电路如下。

六、身高测量仪

1. 梳理超声波测身高的思路。超声波可以检测其与障碍物之间的距离,超声波传感器垂直向下(地面)安装,当人站在超声波传感器下方, 可以检测出超声波传感器与人(头顶)的距离。假设超声波安装在离地面2米的地方,那么超声波与地面的距离减去超声波与人的距离即是人的身高。

2. 创建一个变量distance,用于存放超声波传感器的检测值,即是超声波与人的距离。

在指令扩展区“超声波传感器”中拖出超声波的指令。

3. 将变量distance设为超声波传感器的值。

4. 创建一个变量height,用于存放身高数据。

5. 根据Step1对测量身高的思路梳理,身高(height)=200cm-distance,因此把变量height设为200减去distance。

6. 在指令扩展区“数码管”中拖出数码管的指令。

把超声波测量的身高值(即是变量height)显示在数码管上。

7. 由于超声波检测值带有小数,可在“数学”指令中拖出四舍五入指令。对超声波测量的身高数据进行四舍五入运算。

8. 数码管显示经过四舍五入运算后的身高数据。

9. 超声波测身高的程序如下。

10. 也可加上条件约束,例如超声波身高测量仪只测量2米以内的身高,即当超声波的检测值小于等于200cm,就测量计算身高并显示出来,否则数码管显示数字“0”。

11. 将程序刷入掌中宝中,测试身高测量仪的效果吧。

第6课 循迹小车

第6课 循迹小车

许多送餐机器人、搬运机器人以及一些智能小车能够沿着一条黑线来行进,这条黑线叫循迹线,是机器人、智能小车行走的路线。 这些机器是如何沿着循迹线移动的呢?我们利用循迹传感器和TT马达来制作一款循迹小车,一探究竟吧!

一、认识循迹传感器

循迹传感器上有两个探头(D1、D2),它是基于红外反射原理,红外发射二极管不断发射红外线,红外光电三极管接收反射回来的红外光。由于白色对红外反射强,黑色对红外反射弱,故此可检测黑、白线。

注:安装循迹模块时约距离循迹线1CM左右,循迹线的宽度至少15mm。

二、认识TT马达

TT马达,也叫直流电机,可通过连续旋转来给应用装置提供动力,可正转,可反转,转动速度可调(0~100)。

三、添加循迹传感器的指令

1. 在指令扩展区中单击“添加”,进入扩展库。

2. 在扩展库界面,单击“传感器”,找到循迹传感器并单击“加载”。

单击加载后,即可在指令扩展区看到循迹波传感器的指令。

四、添加TT马达的指令

1. 单击扩展区的“添加”,在扩展库界面,单击“执行器”,找到直流电机并单击“加载”。

单击加载后,即可在指令扩展区看到TT马达(直流电机)的指令。

五、掌中宝连接循迹传感器与TT马达

1. 连接循迹传感器。首先拖出循迹传感器的指令,单击倒三角图标,查看循迹传感器可连接的引脚。

2. 以接入P0、P3引脚为例。使用配套的连接线,有凸起的一端连接循迹传感器,其中红色线对应VCC,绿色线对应D2,黄色线对应D1,黑色线对应GND。

连接线的另一端(扁平的)连接掌中宝的P0、P3引脚。其中黑色线对应GND,红色线对应3V3,黄色线对应P0、绿色线对应P3,这表示P0引脚控制循迹的D1探头,P3引脚控制循迹的D2探头。

3. 两个TT马达分别接入掌中宝的M1、M2接口。

4. 循迹小车完整的连接电路如下。

六、循迹小车

1. 在指令扩展区“循迹传感器”拖出循迹传感器的指令。由于循迹的D1、D2探头分别由P0、P3控制,因此需要两条循迹指令,把引脚设为P0和P3。

2. 在指令扩展区“直流电机”中拖出直流电机的指令。

3. 在“逻辑”指令中找出“和”指令。

如果循迹传感器两个探头下方均为黑线,表示没有偏离,小车直线前进。

注:直流电机的正转、反转需结合电机在实物中的组装方向来确定。

4. 如果循迹传感器左侧探头下方白色,右侧下方黑色,表示左侧偏离轨道,小车右转回到轨道。

注:循迹传感器左、右探头需结合左右两个电机在实物中的组装方向来确定。

5. 反之,如果循迹传感器右侧探头下方白色,左侧下方黑色,表示右侧偏离轨道,小车左转回到轨道。

6. 如果循迹传感器两个探头下方均为白线,小车停止,即是关闭直流电机。

7. 整合程序,循迹小车的参考程序如下。

将程序刷入掌中宝中,测试一下循迹小车吧。

第7课 颜色识别器

第7课 颜色识别器

外界物体的颜色到底是怎样的呢?我们用肉眼看到的物体颜色会因为外界环境因素的改变而发生变化。在这一课,我们做一个颜色识别器, 用颜色传感器来识别物体颜色,并让4RGB灯亮出同样的颜色,同时将颜色信息在OLED屏显示出来吧!

一、认识颜色传感器

白光照射到物体时,物体会对白光进行有选择的吸收和反射,反射出来的光谱就是我们看到的物体颜色。例如:红色的花朵会吸收白光中的黄、青、绿、蓝、紫等色光,而反射红光,所以看起来是红色的。

颜色传感器运行时会发出白光,并且采集物体反射的光线,返回检测物的R、G、B分量值。要注意,在使用时,被测物体必须要置于颜色传感器1CM处, 使其能反射光线。除此之外,环境光线对颜色测量也有影响,最好在密闭的黑暗环境下测量。

二、认识4RGB灯

4RGB LED灯共有4颗全彩灯珠,能够用红(R)、绿(G)、蓝(B)三种光的三原色混合成各种颜色的灯光,它的灯珠亮度范围是0~255。 另外,4RGB LED灯支持单总线控制,即一根管脚即可控制所有灯光,不占用管脚资源。

三、制作颜色识别器

1. 在连接硬件时,我们需要确定颜色传感器和4RGB LED灯连接的引脚,这个可以从编程的指令中获得。打开mPython软件,点击模块区左下角的“扩展”——“添加”按钮, 点击“传感器”模块,就可以找到颜色识别传感器了,点击“加载”即可在模块区添加颜色传感器的指令,从指令中我们知道了,颜色传感器需要连接I2C引脚。

同样的,4RGB LED灯的指令也可以从“扩展”——“添加”中的“执行器”中找到(4RGB LED灯的指令与光环板和RGB灯带相同),并将它加载到模块区。

从指令中我们可以知道4RGB LED灯可以连接的引脚(13、14、15、16),注意,P7是控制掌控板板载的RGB灯。

2. 确定好颜色传感器和4RGB LED灯可以连接的引脚后,用4pin线将它们连接到掌中宝的扩展板上。在连接时要找到对应引脚,例如颜色传感器接到I2C引脚,4RGB LED灯接到13号引脚。连接图如图所示。

3. 编写程序——亮灯。打开mPython软件,编写程序,将识别物体的颜色用同样颜色的灯光现显示出来。用颜色传感器测量出来的红、绿、蓝的数值对应4RGB LED灯的颜色值。

这部分程序是:

注意!!!在使用灯带的指令时需要初始化引脚、灯的数量,在点亮灯光的时候要加上“灯带设置生效”的指令。

4. 编写程序——显示颜色信息。打开mPython软件,编写程序,将识别物体的颜色值实时显示在OLED屏幕上。

5. 将程序刷入掌控板,查看程序效果,效果如图所示。

第8课 盆栽土壤环境监测

第8课 盆栽土壤环境监测

植物的生长环境与许多因素都息息相关,例如水、温度等。而养在家中的盆栽更需要人们的细心爱护,在缺水的时候给它浇水,温度过高时给它降温。 我们可以用土壤湿度传感器、温湿度传感器制作一个盆栽土壤环境监测的装置,来实时检测盆栽土壤中的水分、空气中的温度与湿度,并在缺水时播放声音提醒浇水的功能,为盆栽中的植物提供更好的生长环境。

一、认识土壤湿度传感器

土壤湿度传感器是一个简易的水分传感器可用于检测土壤的水分,土壤湿度传感器作为模拟型传感器,土壤水分越大,AO输出越大,范围值是0~100%RH。

二、认识温湿度传感器

温湿度传感器是一种装有湿敏和热敏元件,能够用来测量温度和湿度的传感器装置。常用于检测环境中的温湿度,具有极高的可靠性和长期稳定性。其中温度的测量范围是:-40~125℃,测量精度:±0.3℃;湿度测量范围:0~100%RH,测量精度:±3%RH。

注意!!!在测量空气中的湿度时,不可将水倒在探头上。

三、拓展板小喇叭

在掌控板的拓展板中有一个可以播放音频的小喇叭。

四、制作盆栽土壤环境监测装置

1. 在连接硬件时,我们需要确定土壤湿度传感器和温湿度传感器连接的引脚,这个可以从编程的指令中获得。 打开mPython软件,点击模块区左下角的“扩展”——“添加”按钮,点击“传感器”模块,就可以找到土壤湿度传感器和温湿度传感器了, 点击“加载”即可在模块区添加土壤湿度传感器和温湿度传感器的指令,从指令中我们可以知道,温湿度传感器需要连接I2C引脚,土壤湿度传感器可以连接P0、P1、P2、P3引脚。

2. 确定好土壤湿度传感器和温湿度传感器可以连接的引脚后,用4pin线将它们连接到掌中宝的扩展板上。在连接时要找到对应引脚,例如温湿度传感器接到I2C引脚,土壤湿度传感器接到0号引脚。连接图如图所示。

3. 编写程序——检测盆栽土壤湿度与空气中的温湿度数据,并将检测到的数据实时显示在OLED屏幕上。

4. 编写程序——当检测到土壤湿度不足20时,让喇叭播放声音“快来浇水呀”。

其中,声音录制好以后保存成MP3格式(大小不要超过1M),将音频文件上传到掌控板文件中即可。
① 点击软件菜单栏“代码”按钮,切换到代码编程界面。

② 点击“掌控板文件”,在掌控板连接电脑的情况下,会自动加载资源。

如果自动加载资源时出现了问题,或者文件有更新想重新加载,可以在空白处点击鼠标右键,在弹出的菜单栏中选择“重新加载”。

③ 点击导入,选中要上传的文件,点击打开。

④ 点击“同步”按钮,将改动同步到掌控板文件系统中。

⑤ 同步后可在文件列表中看到刚刚上传的文件,这样就表示上传成功了。

⑥ 切换到图形化编程界面,添加音频指令。点击模块区左下角的“扩展”——“添加”按钮,点击“AI”模块,选择“讯飞语音”并进行加载。

⑦ 在这里就可以找到播放音频的指令,需要注意两点,一是音频在播放时需要初始化,二是音频播放的文件名要与录音的文件名相同。注意使用拓展板喇叭,拓展板要打开电源开关,并且电池要有电。

5. 将程序输入到掌控板中,效果如图所示。

第9课 简易电子秤

在称重时,电子秤的金属构架受力形变,贴片上的金属丝也随着被拉长或缩短,金属丝电阻因此改变,通过测量金属丝的电阻变化,得到所称重物的数据。 而金属丝的形变得到的电参数,经过放大电路,调零电路,模数转换(A/D转换),译码电路后驱动数码管显示出数字。今天我们用力传感器结合掌中宝做一个简易电子秤吧!

一、认识力传感器

力传感器,可以检测物体对传感器施加的力的大小, 单位为牛(符号为N),能检测拉力、压力、重量、 等力学量。

力传感器是一个I2C引脚的传感器,基于I2C传感器可以串联,为防止通信发生冲突,所以用拨码来调整通信地址。注意,指令中的拨码地址要与传感器上的拨动开关地址一致!

二、制作简易电子秤

1. 力传感器需要连接到I2C引脚,连接图如图所示。

2. 编写程序——将力传感器的值实时显示在掌控板OLED屏幕上。

3. 优化程序。力传感器结合掌控板的显示功能,就可以制作一个简易的 电子秤。但是由于力传感器显示的单位是牛,不利于我们 观察数据, 结合公式G=mg,g为比例系数,重力大小约 为9.8N/kg。也就是1N≈100克,所以我们需要将力传感 器探测的数值*100,这样显示的数值就是克(g)。

4. 将程序刷入到掌控版中,查看效果,效果如下图所示。

第10课 温控风扇

风扇是生活中十分常见的电器,今天我们使用掌控板结合温度传感器和电机来制作一个智能温控风扇,实现温度高于设定值,自动打开风扇,否则关闭风扇。

一、认识热敏电阻

热敏电阻为模拟型传感器,硬件接口标识AO,其测量范围为0~100。该传感器需配套温度探头来使用,温度探头测温部分为最顶端的部位,测温方式为接触式。

二、认识直流电机

直流电机是一种可以提供动力输出的装置,该直流电机转速大、扭力小,故不适合用于带动重量过大的物体运动。

三、连接热敏电阻与掌中宝

1. 软件扩展-添加区中,添加传感器——“热敏电阻”模块。如下图所示;

2. 通过热敏电阻的指令,查看热敏电阻可接入掌中宝的引脚。

3. 在上一步查看到的引脚中任选其一将热敏电阻接入掌中宝,这里以P0为例:具体接线如图所示。

四、查看热敏电阻的测量值

1. OLED屏幕显示热敏电阻的测量值,注意先将测量值转为文本,并且打开拓展板电源开关,保证拓展板电量充足。

五、制作温控风扇

温控风扇装置就是当热敏电阻检测到的温度超过一定数值时,设置风扇开启,否则关闭风扇。
1. 使用条件判断语句,判断温度值范围,注意条件判断中不要使用等于号,尽量使用大于或小于号。

2. 软件扩展区中添加“风扇”的扩展模块,如下图所示,完成后编写温度超过设定值开启风扇,否则关闭风扇的程序,完成后刷入程序到掌控板中查看程序运行效果。

第11课 自制MP3

一、认识MP3模块

MP3模块可以输出SD卡内部存储的MP3音乐。使用时需要连接一个音响来播放声音,如下图所示。

MP3模块上有两个接口,其中右端接口用于连接掌中宝,正上方的tipc接口用于读取或存储sd卡中的音乐。方法是直接连接数据线在该接口,在电脑上即可查看到一个移动U盘。

MP3模块属于TX/RX通讯方式,在接线后,软件、硬件对应引脚时需要交叉互接,如下图所示。

二、连接MP3模块与掌中宝

1. 软件拓展区中添加“MP3音乐播放”的拓展模块。如下图所示:

2. 通过MP3初始化引脚指令模块,查看MP3模块可接入掌中宝的引脚。结合掌中宝硬件引脚分布,在不使用杜邦线单独接线的基础上, 我们可以使用配套的4PIN连接线将MP3模块直接连接到P2/P7引脚、P1/P6引脚、P15/P16号引脚。这里以P15/P16为例,接入MP3模块到掌中宝,如图所示:

三、自制MP3装置

自制MP3装置就是当触摸掌控板不同的触摸按键时,实现上/下切换音乐、停止/播放音乐、增加/减小音量等功能。
1. 编写MP3初始化程序包括引脚的确定和初始音量的设定。

2. 添加条件判断,设置不同触摸按键控制音乐的不同播放状态。

3. 程序编写完成后刷入掌控板中运行查看效果。


第12课 掌中宝及外接传感常见问题及解决方法

问题1:OSError: [Errno 110] ETIMEDOUT

解决方法:检查拓展板电源是否打开,拓展板可能没电或者电量过低。

问题2:OSError: [Errno 1] 不允许操作
问题3:OSError: [Errno 2] 文件或目录不存在

解决方法:如果是掌控板的资源文件,重新刷录固件;如果是自己上传的资源文件,重新上传。

问题4:OSError: [Errno 3] 没有此类进程
问题5:OSError: [Errno 4] 中断的系统调用
问题6:OSError: [Errno 5] I/O错误
问题7:OSError: [Errno 6] 没有此类设备或地址
问题8:OSError: [Errno 7] 参数列表太长
问题9:OSError: [Errno 8] 执行格式错误
问题10:OSError: [Errno 9] 错误的文件编号
问题11:OSError: [Errno 10] 没有子进程
问题12:OSError: [Errno 11] 再试一次
问题13:OSError: [Errno 12] 内存不足
问题14:OSError: [Errno 13] 权限被拒绝
问题15:OSError: [Errno 14] 错误的地址
问题16:OSError: [Errno 15] 需要阻止设备
问题17:OSError: [Errno 16] 设备或资源繁忙
问题18:OSError: [Errno 17] 文件已存在
问题19:OSError: [Errno 18] 跨设备链接
问题20:OSError: [Errno 19] 没有此类设备

解决方法:
① 检查扩展版电源开关是否打开,是否低电量;
② 检查I2C外设连接线,更换I2C外设;
③ 检查线路和是否接入对应器件,所使用图形化代码是否为器件对应图形化代码。

问题21:OSError: [Errno 20] 不是目录
问题22:OSError: [Errno 21] 是一个目录
问题23:OSError: [Errno 22] 参数无效
问题24:OSError: [Errno 23] 文件表溢出
问题25:OSError: [Errno 24] 打开太多文件
问题26:OSError: [Errno 25] 不是打字机
问题27:OSError: [Errno 26] 文本文件繁忙
问题28:OSError: [Errno 27] 文件太大
问题29:OSError: [Errno 28] 设备上没有剩余空间

解决方法:清理掌控板的存储空间,如不知道怎么清理存储空间可直接刷入固件。

问题30:OSError: [Errno 29] 非法搜寻
问题31:OSError: [Errno 30] 只读文件系统
问题32:OSError: [Errno 31] 链接太多
问题33:OSError: [Errno 32] Broken pipe
问题34:OSError: [Errno 33] 数学参数超出函数域
问题35:OSError: [Errno 34] 数学结果无法表示
问题36:OSError: [Errno 97] 协议不支持的地址族
问题37:OSError: [Errno 104] 连接超时

解决方法:
① 检查电源有没有打开、接线有没有接错;
② 检查所使用图形化代码是否为对应元器件代码;
③ 若使用到网络,检查网络是否畅通,填写的网络路径是否能够连接。

问题38:OSError: [Errno 110] 连接超时

解决方法:
① 检查电源有没有打开、接线有没有接错;
② 检查所使用图形化代码是否为对应元器件代码;
③ 若使用到网络,检查网络是否畅通,填写的网络路径是否能够连接。

问题39:OSError: [Errno 113] 路由不可达

解决方法:
① 检查ip地址、主题名称等是否填错;
② 尝试更换wifi或热点

问题40:OSError: [Errno 115] 正在进行中的操作
问题41:OSError: [Errno 118] 主机无法访问
问题42:OSError: [Errno 261] 定时器冲突
问题43:NameError: name 'XXX' isn't defined ,使用的变量‘XXX’未定义

解决方法:检查是否定义变量,如果是掌控板的变量,则检查代码是否完整或者重刷固件。

问题44:Python3.6无法安装

解决方法:可能是您已安装了python3.6或你的操作系统存在缺陷。
查看相关问题帖子 https://www.labplus.cn/posts/609894744d982b612f5dfd7f

问题45:OSError: SSID invalid / failed to scan this wifi,wifi名称或密码错误
问题46:AttributeError: 'Pin' object has no attribute 'is_pressed'

解决方法:固件版本过低,刷入最新固件。

问题47:TypeError: function takes 'X' positional arguments but 'XX' were given 函数所填写的参数数量与函数所需要的参数数量不一致

解决方法:很多图形化代码鼠标悬停会有函数以及参数的详解,可以通过这种方式查看参数数目,或者在文档中搜索。

问题48:SyntaxError: invalid syntax,python语法错误

解决方法:具体看抛出错误的地方,例如:① 缩进问题;② if语句内判断两者相等大多数情况应该是“==”而不是“=”。

问题49:RemoteException: could not enter raw repl未能连接上AI摄像头

解决方法:检查掌控板电量是否足够、线路是否接错、代码中引脚是否写错,若都没问题,重刷AI摄像头固件。

问题50:IndexError: list index out of range列表下标索引越界,选择列表某一项的时候不能大于列表长度

解决方法:查看自己的列表长度,选择列表下标索引时要小于列表长度。

问题51:ImportError: no module named 'smartcamera'使用AI摄像头时没有导入smartcamera库

解决方法:硬件模式下,删除左边扩展内的AI摄像头,并在重新加载选择刷入驱动库。

问题52:OSError: Timeout!,check your wifi password and keep your network unblocked连接超时

解决方法:检查wifi名称和密码有没有填错。

问题53:TypeError: can't convert float to int不能将float类型替换成int类型

解决方法:根据报错提示转成相应的类型。

问题54:MemoryError: memory allocation failed超出内存

解决方法:
① 按下掌控板单板背部B键下方的白色按键重启来释放内存。
② 如1不能解决请删减程序代码。

问题55:在使用图形化代码“播放音符列表”时会导致掌控板一直重启

解决方法:初始化列表内只允许放音符,不允许放音调,改用音符即可解决。

问题56:ndentationError: unindent doesn't match any outer indent level程序缩进问题

解决方法:找到在报错里的main.py那里提示的行数,把对应的图形化代码删除重新添加。

问题57:TypeError: extra keyword arguments given给出了额外的关键字参数

解决方法:
① 如果是自定义函数,检查是否填写传入了对应数量的参数。
② 如果是非自定义函数,检查报错里main.py出错行对应的函数,在mpython函数帮助文档内搜索对应函数,查看参数数量是否一致。

问题58:使用小方舟时,缺少nplus的某个库

解决方法:重刷固件,刷完固件后,查看掌控板文件的nplus文件夹内应有下面的四个文件。

问题59:win10安装驱动时,安装失败

解决方法:下载通用兼容版驱动并根据电脑系统选择安装32位或64位,点击下载通用驱动。

问题60:使用录音识别,掌控板显示{'state': False, 'err': 'error code 11201, reason licc failed'}公共接口使用上限

解决方法:在讯飞开放平台注册个人账号后找到自己的apiKey,使用如下代码来使用个人接口API。

问题61:61.OSError: Timeout,ntp server not response授时服务器超时

解决方法:在代码中切换授时服务器。