【行空板K10基础入门教程】第01课:趣识脸谱

Hi,欢迎各位来到行空板K10的第一课!相信大家都听过川剧变脸。川剧变脸是中国传统戏曲川剧中的一项独特技艺,以其快速、神奇的变脸效果而闻名于世。在我们行空板K10的第一课中,我们将会学习怎么用我们的行空板K10,实现川剧变脸!

成果展示

成果展示 |【行空板K10基础入门教程】第01课:趣识脸谱


 

任务目标

在行空板K10上显示文字和图片,利用环境光传感器实现脸谱的切换。

知识目标


1、 掌握在行空板K10上显示文字的方法
2、 掌握在行空板K10上显示图片的方法
3、 掌握运算符指令的应用
4、 掌握行空板K10内置环境光传感器的使用。

 

材料清单

硬件清单:


软件使用:

Mind+编程软件
1.软件压缩包下载:
  * 网页下载
  * 百度网盘下载:https://pan.baidu.com/...17d6 提取码: 17d6
  *夸克网盘下载
2.将压缩包解压,注意解压过程中关闭杀毒软件,解压后文件夹路径不含中文,解压后文件夹路径不宜过长
3.打开解压后的文件夹,找到 Mind+.exe,双击打开
4.若编译任何代码都报错,建议在解压时将所有后台的杀毒软件退出,将解压出的文件夹放到 C 盘根目录,文件夹的名字改为"win-ia32-unpacked20241012"。文件夹中的 exe 文件,不可直接拖到桌面,要右键-发送到桌面快捷方式。



软件基础使用

1、 打开 Mind+,切换到上传模式
双击启动 Mind+软件,可以看到如下界面:


点击右上角的上传模式

接下来看到的界面就是 Mind+编程的操作界面,让我们来看一下这个界面由哪些部分组成。

【行空板K10基础入门教程】第01课:趣识脸谱图6

注:关于 Mind+界面中每个区域的详细介绍,详见本课“知识园地”部分。

2.加载行空板K10基于前面的操作,只需要点击“扩展库”,找到“官方库”下的“行空板”模块点击完成添加,点击返回后,就可以在“指令区”找到行空板K10,完成行空板K10加载。


3、连接行空板K10
首先,你需要通过 USB 连接线将行空板K10连接到计算机。

然后,点击连接设备后,点击 COM7-UNIHIKER K10 进行连接。

注:不同行空板K10的设备名称可能不同,但都是以“ K10 ”结尾。

4、 保存文件
点击“菜单栏”里的“项目”,并在出现的下拉菜单中点击“保存项目”。


在弹出的界面中选择保存位置,输入你自己的文件名,保存类型选择为“Mind+”,点击保存即可。

动手实践

接下来一起动手完成今天的课程任务吧。我们将从第一个行空板K10指令开始,逐步学习如何在行空板K10屏幕上显示文字和脸谱,同时利用内置环境光传感器实现脸谱的切换。
任务一:运行第一条指令——显示文字
这一部分我们将学习显示文字的方法,并在行空板K10屏幕上显示预设文字“蓝脸的窦尔敦 盗御马”。
任务二:显示脸谱图片
这一部分我们将学习显示图片的方法,并能够在行空板K10屏幕上显示脸谱图片。
任务三:利用环境光传感器切换脸谱
这一部分我们将学习利用行空板K10搭载的环境光传感器,设定条件从而实现脸谱的切换功能。


任务一:运行第一条指令——显示文字


1、 硬件搭建
确认使用 USB 连接线将行空板K10连接到计算机。
2、 软件准备
确认已打开 Mind+,在 Python 图形化模式下出现预设代码,成功加载行空板K10。接下来就可以编写项目程序了。


3、 编写程序
STEP1:我们可以先在行空板K10分类下找到 缓存显示文字”行空板”在 X0Y0 字号 24 颜色蓝 指令,然后将它拖拽,放在预设代码行空板K10主程序开始的下面。

注:关于文字指令的相关详细介绍,详见知识园地。
STEP2:在行空板K10下找到 缓存内容显示/显示更新 指令,然后将它拖拽,放在显示文字指令的下方。

注:当使用到显示相关指令时(如 文字、形状、图片),需要使用 将缓存内容显示/显示更新 指令后,才会将内容显示出来。
完整代码如下图:


4、 程序执行
STEP1:检查并保证行空板K10已连接 Mind+,即在“菜单栏”部分显示 IP;

STEP2:点击界面右上方的上传到设备按钮;

STEP3:观察行空板K10屏幕显示效果(参考下图)。


任务二:显示脸谱图片


1、 编写程序
STEP1:我们可以先在行空板K10分类下找到 缓存显示本地加载图片 指令,然后将它拖拽,放在缓存显示文字指令的下面。

STEP2:在显示图片指令中,按照步骤选取对应的照片
STEP3:调整图片坐标以及大小。

缓存显示本地加载图片默认的图片坐标为(X:0;Y:0),大小为高度 100,宽度 100。为了能够让屏幕内容整体呈现的效果更加美观,我们往往需要对图片的大小以及尺寸进行调节,在这一个项目中,我们重新设置脸谱图片的相关参数设置如下。

【行空板K10基础入门教程】第01课:趣识脸谱图21

【行空板K10基础入门教程】第01课:趣识脸谱图22

2、程序运行
STEP1:连接行空板K10
STEP2:点击界面右上方的“上传到设备”按钮
STEP3:观察效果,观察行空板K10,可以在屏幕上看到脸谱图片的出现(如下图)。

试一试:参照第一个脸谱以及文字的制作,为关公、典韦、曹操、张飞制作好脸谱以及对应的文字。完整的程序可以参考以下代码。

3、 优化程序
在制作“白脸的曹操”这一脸谱及对应的文字时,大家应该遇到了一个问题,“白脸的曹操“这一文字无法显示出来。这是因为字体颜色为白色,与背景图片的颜色相同,所以字体就隐藏了。

为了使得文字能够正常地显现,我们需要在字体所在的地方提前画一个黑色填充颜色的矩形框,相关操作如下。


但是我们需要注意,在绘制填充矩形之后,我们需要把文字显示指令中,是否自动清除改为否,因为开启自动清除后,会自动将坐标后的内容全部清除为背景色,包括已经显示的文字、线条、图片。这里如果我们开启自动清除,会将我们先前绘制好的矩形框清除。

【行空板K10基础入门教程】第01课:趣识脸谱图27


完成之后,行空板K10屏幕显示的效果图如下图所示。

【行空板K10基础入门教程】第01课:趣识脸谱图28

任务三:利用环境光传感器切换脸谱

这一过程的逻辑是当行空板K10检测到环境光数值低于一定数值后,又再高于这一数值,那么程序才会继续往下执行,从而实现脸谱的切换。那我们该如何检测环境光数值,同时对其与特定的数值进行比较呢?


1、 编写程序
STEP1:读取环境光传感器数据并设置判断条件
在这个游戏当中,为了使得我们的手靠近行空板K10,再移走之后,行空板K10能够做出反应,切换脸谱,我们需要利用到行空板K10的板载光传感器。
环境光传感器模块的使用:

【行空板K10基础入门教程】第01课:趣识脸谱图30

注意:要了解行空板K10内置环境光传感器的更多信息,详见“知识园地”。

为了测出在手移开环境光前后的阈值大小,我们需要将环境光的数值进行打印,观察在手移开传感器前后,环境光数值的变化大小,从而得出临界的阈值。测试程序如下。

【行空板K10基础入门教程】第01课:趣识脸谱图31


在遮住环境光传感器前后测得的环境光数值如下:

【行空板K10基础入门教程】第01课:趣识脸谱图32


环境光强度大小的判断:

【行空板K10基础入门教程】第01课:趣识脸谱图33

注意:要了解行空板K10内置环境光传感器的更多信息,详见“知识园地”。

为了测出在手移开环境光前后的阈值大小,我们需要将环境光的数值进行打印,观察在手移开传感器前后,环境光数值的变化大小,从而得出临界的阈值。测试程序如下。

【行空板K10基础入门教程】第01课:趣识脸谱图31

在遮住环境光传感器前后测得的环境光数值如下:

【行空板K10基础入门教程】第01课:趣识脸谱图32

环境光强度大小的判断:

接下来,为了实现脸谱在满足条件后,能够进行切换,我们可以使用等待直到(满足条件) 指令,将上面环境光的判断指令拖拽放入。

同样地,我们对其它脸谱也采取同样的操作,具体如下图。

STEP2:循环执行,多次变脸
为了实现脸谱的循环连续变换,我们需要将主程序指令之后的代码,放入到循环执行指令当中。

【行空板K10基础入门教程】第01课:趣识脸谱图36

完整的程序参考以下代码:

2、 运行程序
点击上传到设备,试一下用手挡住行空板K10,再移开,感受一下脸谱的变换吧!


知识园地

1、 Mind+相关界面介绍
前面我们已经了解过 Mind+与行空板K10相关的操作界面,接下来详细学习一下各个区域的功能。

2、行空板K10内置环境光传感器
行空板K10内置数字环境光传感器,输出环境光的物理量数值而不仅仅是光线的强弱等程度在板上所处位置,如下图所示。因此,在本游戏当中,如果遮住行空板K10之后,不能让脸谱发现变换,要注意,是否遮住了行空板K10的光传感器的位置。

文件包请至原文下载:【行空板K10基础入门教程】第01课:趣识脸谱
 

### 实现语音行空K10支持Python编程环境,这使得在其上开发复杂的应用程序变得简单而高效。对于语音别功能,在行空K10上可以通过安装特定库来实现这一目标[^1]。 为了使行空K10能够执行语音别任务,通常需要依赖于外部API服务或是本地运行的轻量级模型。考虑到设备资源有限的情况,推荐采用基于网络的服务接口方式完成语音到文本转换的工作。下面是一个简单的例子,展示如何利用百度AI开放平台提供的RESTful API来进行在线语音别: #### 安装必要的库文件 首先确保已经连接互联网并成功更新pip工具之后,可以使用如下命令安装`requests`库用于发送HTTP请求: ```bash pip install requests ``` #### 编写Python脚本调用API 接着编写一段Python代码片段读取麦克风输入并将音频数据上传至云端处理得到返回的文字结果: ```python import json import base64 from urllib.parse import urlencode import requests def get_token(api_key, secret_key): url = "https://aip.baidubce.com/oauth/2.0/token" params = {"grant_type": "client_credentials", "client_id": api_key, "client_secret": secret_key} response = requests.post(url, data=params) result = json.loads(response.text) return result['access_token'] def recognize_speech(audio_file_path, token): with open(audio_file_path, 'rb') as f: content = f.read() speech_data = base64.b64encode(content).decode('utf8') length = len(content) post_url = "https://vop.baidu.com/server_api" headers = {'Content-Type': 'application/json'} query_string = { "format": "wav", "rate": 16000, "dev_pid": 1537, "channel": 1, "cuid": "your_unique_device_identifier", "token": token, "speech": speech_data, "len": length } encoded_args = urlencode(query_string) final_url = "{}?{}".format(post_url, encoded_args) resp = requests.post(final_url, headers=headers) res_json = resp.json() if 'result' in res_json.keys(): return ''.join(res_json['result']) else: raise Exception("Error occurred while recognizing audio.") if __name__ == "__main__": API_KEY = '<Your_API_Key>' SECRET_KEY = '<Your_Secret_Key>' access_token = get_token(API_KEY, SECRET_KEY) text_result = recognize_speech('/path/to/audio/file.wav', access_token) print(f'Recognized Text: {text_result}') ``` 这段代码展示了通过访问百度AIP获取授权令牌以及提交录音文件给服务器解析成文字的过程。需要注意的是实际部署前还需要替换掉模中的占位符(如API密钥等),并且根据具体需求调整参数设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值