20069浏览
查看: 20069|回复: 8

[项目] 小方舟×掌控板:案例教程一——天黑请闭眼

[复制链接]
本帖最后由 Nplus实验室 于 2020-9-11 18:41 编辑

本教程是关于小方舟AI视觉传感器及掌控板的N+系列课程,小方舟AI视觉传感器是N+团队为普及STEAM创客教育、人工智能教育、编程教育研发的开源人工智能硬件,也可以作为AI开发板使用。它集成K210 高性能64位双核芯片,内置AI硬件加速单元(KPU、FPU、FFT等),可实现各类场景的本地视觉算法跟语音识别,可实现功能:人脸检测、色块识别、形状识别、物体分类、二维码、语音识别等。

项目一:天黑请闭眼
小方舟×掌控板:案例教程一——天黑请闭眼图2
相信大部分人都知道,并且玩过《天黑请闭眼》这一款游戏。
在这款游戏里,人们可以扮演有各式各样的身份,有需要杀死所有人的杀手,有可以鉴别罪犯的警察,有平白无辜的平民;除此之外,还有至高无上的公平的法官。杀手要胜利,必须杀死所有人;平民要胜利,必须找到杀手。
众所周知,法官是不参与游戏的,所以终会有一个人不能参与辩论。那么我们是否可以用小方舟来扮演法官的角色,让每个人都可以扮演角色,让每个人都可以参与到游戏当中呢?
答案是毋庸置疑的,接下来就让我们一起开始玩转小方舟吧!

功能介绍
在该项目中,我们将学习小方舟的二维码识别功能,并利用小方舟的二维码识别功能,识别出设定好的每一个二维码身份。其次,给每一个设定的身份设定对应的LED灯颜色,当游戏开始时,每当淘汰一个玩家,会通过识别二维码呈现的颜色来判断游戏结束与否。

材料清单

小方舟×掌控板:案例教程一——天黑请闭眼图23
小方舟×掌控板:案例教程一——天黑请闭眼图22
小方舟×掌控板:案例教程一——天黑请闭眼图5
小方舟×1
掌控板×1
IOX扩展板×1
所需硬件:
l小方舟AI视觉传感器
l掌控板
lIOX扩展板(microbit掌控板通用)

所需软件:
lmPython图形化编程软件

知识内容
一、什么是二维码识别
什么是二维码识别?首先我们要了解知道什么是二维码。二维码,又称二维条码,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。通过使用若干个与二进制相对应的几何形体来表示文字数值信息,是近几年来移动设备上超流行的一种编码方式
二维码识别就是通过图象输入设备或光电扫描设备自动识读以实现信息自动处理这一过程。
小方舟×掌控板:案例教程一——天黑请闭眼图19
二、学习与识别
1、模式切换
要进行二维码的识别,首先需要用程序将模式设置成二维码识别模式,按下左键,可以进行模式切换。

小方舟×掌控板:案例教程一——天黑请闭眼图18
2、侦测二维码
当我们使用二维码识别时,将小方舟屏幕中央对准二维码,自动框会自动选二维码。调整小方舟与二维码的角度和距离,让白色方框尽量框住整个二维码。
小方舟×掌控板:案例教程一——天黑请闭眼图3
3、学习二维码
侦测到二维码后,按下右键开始第一次学习,松开则结束学习;如果需要学习其他二维码,将方框对准其他二维码图样,按下右键开始第二次学习;长按右键,可以取消学习成果,重新学习。
小方舟×掌控板:案例教程一——天黑请闭眼图4
学习过后,小方舟的屏幕左下角会显示二维码的信息。
4、识别二维码
当小方舟再次遇到学习过的二维码时,屏幕上会有白色方框框选出二维码,并显示该二维码图样的信息。
小方舟×掌控板:案例教程一——天黑请闭眼图6

项目实践
接下来,我们将具体开展这个项目,首先我们先学习使用小方舟的二维码识别功能,学习并识别出设定好身份的二维码;其次,完善每个角色的身份信息,并对相应角色身份设定对应的LED灯的颜色;再者,将所有二维码打乱,随机分派给游戏参与者,并将二维码的身份信息告知对应玩家;通过在游戏过程中每淘汰角色后进行二维码身份识别呈现的颜色,来判断游戏结束与否。
一、硬件连接
将杜邦线小头的一端接在小方舟标有RX1、TX1、3V3、GND的接口上,另一端接在IOX的P0以及P1口,将黑线部分对准即可。
小方舟×掌控板:案例教程一——天黑请闭眼图7
二、程序设计
Step1:学习与识别
假设现在有“小明”、“小红”、“小刚”、“小亮”和“小夫”五个角色,其中一个是罪犯,其他四个是公民。
小方舟×掌控板:案例教程一——天黑请闭眼图1
先使用小方舟依次学习这五个不同的二维码,定义每个二维码的ID,按照顺序排列,依次为ID0,ID1,ID2,ID3和ID4;如果下次识别到相同的二维码标签,小方舟会根据ID,读取到对应二维码的身份信息。
为了满足游戏需求,这里我们设定小亮为罪犯,其他四个人分别为公民。另外,设定当小亮(罪犯)的二维码被识别到时,小方舟的LED灯亮红色;当其他四个人(公民)的二维码被识别到时,小方舟的LED灯亮绿色。
根据以上信息,我们开始接下来的编程。
Step2mPthon软件设置
打开mpython软件,点击扩展部分的添加,在硬件扩展那一栏中,添加“N+”模块即可。
小方舟×掌控板:案例教程一——天黑请闭眼图21

小方舟×掌控板:案例教程一——天黑请闭眼图20


Step3:指令学习
来认识一下本节课需要用到的新指令。
小方舟×掌控板:案例教程一——天黑请闭眼图9
将小方舟进行初始化,恢复初始设置,程序开始前都需要初始化,放在程序的开头
小方舟×掌控板:案例教程一——天黑请闭眼图11
使用程序让小方舟学习方框中捕捉的模型(可按小方舟上的右键)
小方舟×掌控板:案例教程一——天黑请闭眼图14
使用程序清除已学习数据(可长按小方舟上的右键)
小方舟×掌控板:案例教程一——天黑请闭眼图16
切换算法,可以随时切换到其他算法,但不能多个算法同时存在
小方舟×掌控板:案例教程一——天黑请闭眼图17
获取学习到的二维码的数据,小方舟每学习一个二维码,会给对应二维码定义一个ID,ID的值跟学习二维码的先后顺序一致,也就是ID会按照顺序标注为“ID0”,“ID1”,“ID2”,“ID3”。.
小方舟×掌控板:案例教程一——天黑请闭眼图8
设置小方舟上RGB灯的颜色,也可以使用掌控板上RGB灯

Step4:流程图分析
程序流程图如下:
小方舟×掌控板:案例教程一——天黑请闭眼图13
三、程序示例
小方舟×掌控板:案例教程一——天黑请闭眼图10
(内测程序)
四、运行效果
当程序启动后,按照环节一学习的顺序,重新对五个二维码进行学习,赋予对应的身份信息和LED灯颜色,之后将五个二维码分发给五名玩家,并开始游戏。
根据游戏规则,如果被淘汰的玩家二维码识别为亮红灯,则罪犯淘汰,游戏结束,平民胜利;如果被淘汰的玩家二维码识别为亮绿灯,则游戏继续,最后剩下两人,则罪犯胜利。
小方舟×掌控板:案例教程一——天黑请闭眼图12

小方舟×掌控板:案例教程一——天黑请闭眼图15



rzegkly  版主

发表于 2020-9-11 20:14:32

小方舟大智慧
回复

使用道具 举报

佛系唐法官  中级技师

发表于 2020-9-11 20:56:11

有点意思
回复

使用道具 举报

shzrzxlee  高级技匠

发表于 2020-9-12 12:36:22

mind+支持的话,更好
回复

使用道具 举报

蓝色小星星  见习技师 来自手机

发表于 2020-9-12 18:31:05

shzrzxlee 发表于 2020-9-12 12:36
mind+支持的话,更好

+1,早点支持mind+
回复

使用道具 举报

Nplus实验室  高级技师
 楼主|

发表于 2020-9-14 20:05:06

shzrzxlee 发表于 2020-9-12 12:36
mind+支持的话,更好

大概10月份就可以使用mind+了
回复

使用道具 举报

rzyzzxw  版主

发表于 2020-9-17 20:59:17

厉害的。
回复

使用道具 举报

杨添淮  初级技师

发表于 2022-2-2 14:54:39

那玩多了应该是可以记住二维码的特征的吧
回复

使用道具 举报

杨添淮  初级技师

发表于 2022-2-18 20:30:41

杨添淮 发表于 2022-2-2 14:54
那玩多了应该是可以记住二维码的特征的吧

不然每次游戏都要换一次二维码未免也太麻烦了吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail