回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

掌控慧眼小MU系列教程七——数字卡片识别 简单

头像 肥罗-阿勇 2019.08.03 995 2

步骤1 回顾上节课内容,展示作品

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

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

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

步骤2 学习新知

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

小MU能准确识别0-9

project-image

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

project-image

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

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

步骤3 应用新知

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

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

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

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

同学们想想该怎么做?

project-image

设计思路:

以个位数加法为例

1、先识别被加数

2、然后识别+号

3、最后识别加数

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

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

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

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

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

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

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

    然后问题就解决了

project-image

        里面设置了三个函数

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

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

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

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

        fuzhi函数如下

project-image

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

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

        具体代码如下

project-image

        是不是要少很多啊

        下面在来看看fuhaoyunsuan函数

project-image

        这里需要注意两个问题:

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

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

        最后是jisuan函数

project-image

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

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

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

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

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

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

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

project-image

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

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

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

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

步骤4 反思及作业

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

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

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

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

评论

user-avatar
  • Tarzen

    Tarzen2019.08.05

    老司机,等待推出全套教学课程

    0
    • rzyzzxw

      rzyzzxw2019.08.04

      张老师好厉害,学习了

      0