童心制物慧编程Scratch & Arduino抢答器

大家好,我是苏小糖苏老师。想必同学们对于Scratch还有Arduino都不陌生了。使用scratch可以在电脑上制作游戏动画等等,使用Arduino可以在现实的环境中制作一个实物作品。本来它们两个不相干的,得益于国内厂商的努力,我们可以很容易的把Scratch & Arduino进行混合编程。一方面结合scratch在图像声音上的优势,一方面结合Arduino连接现实世界的优势。

今天的课程是以makeblock童心制物推出的编程软件慧编程基础上制作的。先上视频,然后下面是图文讲解。


童心制物scratch & arduion制作抢答器_腾讯视频

01当scratch无法满足你的时候

慧编程是个不错的选择

慧编程的强大功能和便利性,对于老师或者学生都是非常棒的。原版scratch自然有它的优势,不过当scratch无法满足你的需求的时候,慧编程是个不错的选择。比如我最近就在使用慧编程准备软硬件结合学编程的课程。

我们今天用到的就是和舞台实时交互的功能,让软件和硬件各自发挥它们的优势。做Arduino编程,经常用到的就是串口助手去观测数据,有经验的老师还会去写一个上位机。但是这些对于小朋友极度的不友好。慧编程很好的解决了让小朋友制作上位机实现数据可视化的问题。

02今天制作一个抢答器

scratch去制作一个抢答器非常的简单,但是会有一个问题,在实际的抢答过程中,让选手们都围绕着一个电脑是不现实的。或者使用arduino去制作一个抢答器,功能很好实现。但是在比赛现场,我们更希望观众都能看到抢答情况。仅仅使用按键和LED指示甚至用上数码管显示,乃至语音模块。也很容易被抢答现场的激动氛围所淹没。

所以呢,使用scratch制作一个界面,投放到大屏幕上,再用Arduino制作电路部分把按键引到选手座位,这个方式就好多了。当然,今天制作的也就是一个基础版的抢答器,bug还是有的。有精力的同学可以想一想如何优化。

03硬件电路和程序

Arduino uno的主板、盾板还有四个按键就是所用到的电路了,非常的简单。老师使用白色按键,三个同学分别使用黄绿红按键。白黄绿红按键分别接到了数字口10、11、12和13上面。在Arduino使用过程中,端口编号的准确性是编程的基础。我这里使用到的模块都是svg插口,有利于快速去搭建作品。总是丢给小学生一堆散件是够折磨人的。

硬件一切就绪以后,连接软件,设定为在线模式。只有在线模式才可以做软硬件的交互。当然,第一次连接Arduino主板的时候会提示更新固件。这个按提示操作就好了。

接下来看一下Arduino部分的编程。Arduino一直检测老师按键是否按下。当按下以后等待释放。接下来就要一直等待三个选手有一人按下按键。直接上程序吧。总之两句话,老师没按,等老师。老师按下,等学生。当然状态的更新也是伴随着变量的更新的。

04角色的编程

在舞台区使用的是教室背景。然后三个选手,一个老师。使用字幕在黑板上进行状态的显示。同时使用一个作答标志作为选手抢答有效的指示。

这里重点说一下老师的编程。老师有一个朗读的功能,去宣读某位同学抢答成功开始作答。所以朗读功能需要做初始化。然后就是等着老师按键按下。老师按键按下,准备状态等于1以后,就等待选手编号的更新。对的,和Arduino编程的结构非常的相似。

在原版scratch里,硬件的扩展都是作为一项功能扩展来使用的。无论乐高EV3、wedo还是microbit,它们都和画笔功能语音功能同等级别,都是作为一个功能扩展存在。虽然加入了硬件,但是编程还会依托于角色,把硬件的编程融合到了角色里面。

而在慧编程里面,任何的一种硬件都是和角色同等级别的。或者说使用在线模式的时候,一个硬件就是一个角色。角色的编程和硬件的编程是相互独立存在的。并不能把硬件的编程数据采集直接融合到角色里面。不过还是可以使用变量功能作为中间传导的。

我认为第一种情况,有助于快速的实现效果。但是后面这一种情况更有利于我们理解数据的传导过程。两种方式,仁者见仁吧。

编程让生活更有趣,我是苏小糖,多谢各位看官捧场。


原文链接:童心制物慧编程Scratch & Arduino抢答器(文字+视频)

更多scratch、Arduino相关编程内容,请关注微信公众号xtrobot

你可能感兴趣的:(童心制物慧编程Scratch & Arduino抢答器)