21688| 8
|
[项目] 小方舟×掌控板:案例教程一——天黑请闭眼 |
本帖最后由 Nplus实验室 于 2020-9-11 18:41 编辑 本教程是关于小方舟AI视觉传感器及掌控板的N+系列课程,小方舟AI视觉传感器是N+团队为普及STEAM创客教育、人工智能教育、编程教育研发的开源人工智能硬件,也可以作为AI开发板使用。它集成K210 高性能64位双核芯片,内置AI硬件加速单元(KPU、FPU、FFT等),可实现各类场景的本地视觉算法跟语音识别,可实现功能:人脸检测、色块识别、形状识别、物体分类、二维码、语音识别等。 项目一:天黑请闭眼 相信大部分人都知道,并且玩过《天黑请闭眼》这一款游戏。 在这款游戏里,人们可以扮演有各式各样的身份,有需要杀死所有人的杀手,有可以鉴别罪犯的警察,有平白无辜的平民;除此之外,还有至高无上的公平的法官。杀手要胜利,必须杀死所有人;平民要胜利,必须找到杀手。 众所周知,法官是不参与游戏的,所以终会有一个人不能参与辩论。那么我们是否可以用小方舟来扮演法官的角色,让每个人都可以扮演角色,让每个人都可以参与到游戏当中呢? 答案是毋庸置疑的,接下来就让我们一起开始玩转小方舟吧! 功能介绍 在该项目中,我们将学习小方舟的二维码识别功能,并利用小方舟的二维码识别功能,识别出设定好的每一个二维码身份。其次,给每一个设定的身份设定对应的LED灯颜色,当游戏开始时,每当淘汰一个玩家,会通过识别二维码呈现的颜色来判断游戏结束与否。 材料清单
所需硬件: l小方舟AI视觉传感器 l掌控板 lIOX扩展板(microbit掌控板通用) 所需软件: lmPython图形化编程软件 知识内容 一、什么是二维码识别 什么是二维码识别?首先我们要了解知道什么是二维码。二维码,又称二维条码,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。通过使用若干个与二进制相对应的几何形体来表示文字数值信息,是近几年来移动设备上超流行的一种编码方式。 二维码识别就是通过图象输入设备或光电扫描设备自动识读以实现信息自动处理这一过程。 二、学习与识别 1、模式切换 要进行二维码的识别,首先需要用程序将模式设置成二维码识别模式,按下左键,可以进行模式切换。 2、侦测二维码 当我们使用二维码识别时,将小方舟屏幕中央对准二维码,自动框会自动选二维码。调整小方舟与二维码的角度和距离,让白色方框尽量框住整个二维码。 3、学习二维码 侦测到二维码后,按下右键开始第一次学习,松开则结束学习;如果需要学习其他二维码,将方框对准其他二维码图样,按下右键开始第二次学习;长按右键,可以取消学习成果,重新学习。 学习过后,小方舟的屏幕左下角会显示二维码的信息。 4、识别二维码 当小方舟再次遇到学习过的二维码时,屏幕上会有白色方框框选出二维码,并显示该二维码图样的信息。 项目实践 接下来,我们将具体开展这个项目,首先我们先学习使用小方舟的二维码识别功能,学习并识别出设定好身份的二维码;其次,完善每个角色的身份信息,并对相应角色身份设定对应的LED灯的颜色;再者,将所有二维码打乱,随机分派给游戏参与者,并将二维码的身份信息告知对应玩家;通过在游戏过程中每淘汰角色后进行二维码身份识别呈现的颜色,来判断游戏结束与否。 一、硬件连接 将杜邦线小头的一端接在小方舟标有RX1、TX1、3V3、GND的接口上,另一端接在IOX的P0以及P1口,将黑线部分对准即可。 二、程序设计 Step1:学习与识别 假设现在有“小明”、“小红”、“小刚”、“小亮”和“小夫”五个角色,其中一个是罪犯,其他四个是公民。 先使用小方舟依次学习这五个不同的二维码,定义每个二维码的ID,按照顺序排列,依次为ID0,ID1,ID2,ID3和ID4;如果下次识别到相同的二维码标签,小方舟会根据ID,读取到对应二维码的身份信息。 为了满足游戏需求,这里我们设定小亮为罪犯,其他四个人分别为公民。另外,设定当小亮(罪犯)的二维码被识别到时,小方舟的LED灯亮红色;当其他四个人(公民)的二维码被识别到时,小方舟的LED灯亮绿色。 根据以上信息,我们开始接下来的编程。 Step2:mPthon软件设置 打开mpython软件,点击扩展部分的添加,在硬件扩展那一栏中,添加“N+”模块即可。 Step3:指令学习 来认识一下本节课需要用到的新指令。
Step4:流程图分析 程序流程图如下: 三、程序示例 (内测程序) 四、运行效果 当程序启动后,按照环节一学习的顺序,重新对五个二维码进行学习,赋予对应的身份信息和LED灯颜色,之后将五个二维码分发给五名玩家,并开始游戏。 根据游戏规则,如果被淘汰的玩家二维码识别为亮红灯,则罪犯淘汰,游戏结束,平民胜利;如果被淘汰的玩家二维码识别为亮绿灯,则游戏继续,最后剩下两人,则罪犯胜利。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed