所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
掌控慧眼小MU系列教程七——数字卡片识别
肥罗-阿勇 肥罗-阿勇 2019-08-06 14:56:25
2
2
简单
步骤1 步骤1
回顾上节课内容,展示作品

        上节课我们学习到了机器猫慧眼小MU交通卡片识别能力 

        要求大家制作一个无人驾驶小车进行闯关。

        不知道大家完成得怎么样?我们来看看同学们的作品吧

步骤2 步骤2
学习新知

        今天我们来学习小MU的下一个功能——识别数字

        小MU能准确识别0-9

projectImage

         我们先来认识一下小MU的数字识别功能 依然是先设置小MU,然后再识别

projectImage

        这里以1,2,3为例进行了测试

        同学们动手试试,看看小MU是否能准确识别0-9

步骤3 步骤3
应用新知

        小MU的数字识别能力是不是非常强

        我们利用这个功能能做些什么呢?

        我们可以利用之前的语音播放模块让机器猫开口说数字

        我们还可以利用小MU来做数学题,比如加减乘除

        同学们想想该怎么做?

projectImage

         设计思路:

                以个位数加法为例

               1、先识别被加数

               2、然后识别+号

               3、最后识别加数

               4、然后掌控板进行计算,显示结果。

              在这四个步骤中,1,3,4都很容易识别

              但是小MU识别的卡片里并没有加号我们该如何解决呢?

              我们可以换一个思路,利用之前小MU的颜色识别功能

    找来四种不同的颜色的卡纸,分别在上面写上加减乘除号

    在我们人看来是加减乘除,在小MU看来就是不同的颜色,然后将颜色和运算符对应即可

    比如红色卡纸上写加号,黄色卡纸写减号,绿色卡纸写乘号,蓝色卡纸写除号

    然后问题就解决了

projectImage

        里面设置了三个函数

        fuzhi函数是对两个数进行赋值

        fuhaoyunsuan函数是通过颜色识别来判定运算符号

        jisuan函数是进行计算并显示结果

       里面还设置了几个变量,NUM1是用来代表第一个数字,NUM2是代表第二个数字,fuhao是运算符1代表+2代表-3代表*4代表/,result代表最终结果。

        fuzhi函数如下

projectImage

        fuzhi这个函数不完整,同学们自行补充完整

        我们会发现这个非常长,虽然不复杂,但是容易出错,其实我们可以使用之前学到的label来代替,这样代码就会非常短

        具体代码如下

projectImage

        是不是要少很多啊

        下面在来看看fuhaoyunsuan函数

projectImage

        这里需要注意两个问题:

        1、是嵌套问题,层层嵌套

        2、我们在一开始设置了白平衡为锁定白平衡,在运行的时候要先拿一张白纸放到小MU前面,让他调整白平衡,否则会出现测不准的情况。

        最后是jisuan函数

projectImage

        在这个程序里有几个地方要注意

        firstnum和secondnum的初始值为什么要设置为-1呢?

        其实只要设置为不是0-9即可

        识别到数字卡片,如果firstnum是-1,那就说明是第一个数

        识别到数字卡片,如果firstnum小于-1并且符号大于0,,那就说明是第二个数

        当firstnum和secondnum都不是-1,并且fuhao>0,说明两个数已经识别完成,运算符也识别完成,可以计算了。

        同学们有没有发现其中的问题呢?

projectImage

        第一次运行是完全正常的,但是第二次运行就会出错这是为什么呢?

        这是因为没有对几个变量进行初始化

        因此我们要在jisuan函数之后加入一个初始化函数

        问题就解决了,同学们自行完成。

步骤4 步骤4
反思及作业

        本节课我们学习了小MU的数字识别功能

        并且完成了一个个位数的加减乘除运算

        那么现在问题来了,我们如何实现多位数的四则运算呢?

        同学们课后完成,下节课进行展示。

Makelog作者原创文章,未经授权禁止转载。
2
2
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]
肥罗-阿勇
注册日期: 2019-04-30
来自佛山的一名普通信息技术老师,热爱计算机技术和创客,希望得到大家的指导。
创造力 4287
项目文章 16