基于虚谷号的图形化编程教学探索

2019-08-13 09:09孙丽君张婷婷
中国信息技术教育 2019年14期
关键词:蜂鸣器图形化开源

孙丽君 张婷婷

图形化编程作为中小学生学习编程的入门语言,可以轻松把孩子们吸引到编程世界中来。作为一款为教育量身定制的开源硬件,虚谷号在这方面已做好准备,预装了Scratch、S4A、Ardublock等图形化编程软件。这里我们选择使用基于虚谷号的S4A和Ardublock图形化编程软件,来设计两个教学案例,并结合支持Arduino生态系统中的多类硬件,来探索如何在中小学开展基于虚谷号的图形化编程教学。

● 用S4A设计防盗系统

S4A(Scratch for Arduino)是一款在Scratch基础上开发而成的软件,它易学易用,能够与Arduino开源硬件相结合,是中小学生学习软硬件结合的互动程序设计的最佳工具之一。但S4A有一点美中不足,即它不能脱离PC机运行,而虚谷号弥补了它的不足,虚谷号预装了Linux系统,是一款独立的卡片电脑,这样,基于虚谷号的S4A就可以完成各种项目作品,并且由于其体积小,完全可以设计到作品内。下面,我们以模拟智能家居中的防盗系统为例完成这个设计。

1.环境配置

虚谷号已经预装了S4A,首先需要上传固件,之后便可用S4A编程控制硬件。我们首先打开Arduino IDE,找到文件S4AFirmware16.ino并打开。需要注意的是Linux系统没有C盘、D盘、E盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在根目录下的树形目录结构中,且Linux中所有内容都是以文件的形式保存和管理的,要对文件进行操作必须获得相应权限。在虚谷号中,以scope用户权限操作的文件,一般存放的位置在scope(希科普)目录下,因而S4A需要的固件S4AFirmware16.ino放在了/home/scope/wBoard/example/Arduino/S4AFirmware16/下面,然后上传固件即可。这样便可在虚谷号上使用S4A开展图形化编程并控制开源硬件,来完成各个有趣的项目(如图1)。

2.主题设计

课例设计的情境是:主人在室内休息时,有人非法闯入,防盗系统启动,进行鸣笛报警,且红灯闪烁,以便吓走盗贼或者提醒主人注意来人的动向。这里使用人体红外热释能传感器来感应报警。

3.器材准备

本课例所需器材有人体红外热释能传感器、面包板、蜂鸣器、红色LED灯、虚谷号、杜邦线若干。

4.硬件搭建

通过USB接口连接鼠标、键盘、显示器,并连接电源,正常显示Linux界面后,再利用人体红外热释能传感器做一个报警装置,当人体靠近时,发出警示。传感器端脚VCC接5V,OUT接A5,GND接GND完成。蜂鸣器与红色LED灯短脚接GND,蜂鸣器长脚接D9,小灯长脚接D13(如图2)。

5.参考程序

本案例利用控制、动作、数字和逻辑运算三个模块,来搭建程序。图3中当绿旗被点击时,同时启动两段代码。第一段代码通过检测A5端口数值,来进行判断是否有人靠近。如果數值等于零,则不启动防盗系统,否则,启动系统,使用循环语句控制蜂鸣器数值大小变化,做出警笛的效果。第二段代码同样通过A5端口控制实现红灯闪烁效果。

在普通PC机上也可以运行该实例,但不能脱机运行,而虚谷号能够很好地解决这一问题,我们可以引导学生再搭配上红外传感器、舵机、火焰传感器等来设计出一系列多功能的智能家居配套系统。

最后进行文件的保存,这里保存路径默认是scope下的Documents中,我们可以将文件保存到这个位置。那么,如何找到自己保存的文件呢?首先打开文件管理器,在主文件夹scope下,打开Documents,即可找到保存的文件。

● 用Ardublock模仿倒车雷达

虚谷号预装了Arduino1.86版,其中内置了图形化编程工具Ardublock,它是以图形化积木搭建的方式实现编程的,并且可以支持上载程序到Arduino板,实现脱机运行。Ardublock中所有编程都可以通过搭积木的方式堆砌在一起,它把高级的计算机语言和专业的语法都简化为了一个个模块,并且使用不同的颜色进行分类。虚谷号中支持Linux的Ardublock版本还可以选择中文界面,并且它支持多种类型的开源硬件,适用于中小学软硬件结合的图形化编程教学。下面我们以模仿倒车雷达报警为例,利用Ardublock完成这个设计。

1.启动Ardublock

虚谷号已经预装了Arduino IDE,打开里面的工具菜单,选择Ardublock,即可启动(如下页图4)。

2.主题设计

本案例的设计是模仿倒车雷达,比较贴近实际生活。让学生认识超声波测距传感器、蜂鸣器等开源硬件的应用。通过选择、循环结构的使用,来模仿倒车要碰壁时的连环报警。

3.器材准备

需要用到的器材有虚谷号、超声波测距传感器、蜂鸣器、杜邦线若干。

4.硬件搭建

首先,连接虚谷号,正常显示Linux界面后,将超声波测距传感器的四个引脚VCC接输入电压5V,Trig触发引脚接D3,Echo回馈引脚接D4,GND接地。传感器带有两个超声波探头,分别用作发射和接收超声波,其测量范围在3~450cm。最后,将蜂鸣器长脚连接D11,短脚接地(如图5)。

5.参考程序

图6是虚谷号中Ardublock程序图。本案例运用了控制模块的选择结构、循环结构,还使用了硬件、检测、引脚模块等,来实现程序。开始时,判断超声波所测距离是否小于10cm,如果条件成立,则重复执行循环语句模块,通过设置蜂鸣器数字端口D11的高低电平,来发出连续报警声,否则D11为低电平。文件保存默认位置在scope下。

该课例实现了倒车雷达的基本功能,这里可引导学生结合生活经验,完成倒车雷达的整个体系的程序搭建,实现判断距离越小,蜂鸣器报警频率越高。虚谷号中的Ardublock可视化和交互性较强,编程门槛较低,并可以实时处理事件,使编程修改、测试等步骤都得以简化。

综上所述,基于虚谷号的这种图形化编程教学,结合了Arduino的硬件资源和长期积累的案例资源,并且降低了学生学习的门槛。同时,能引导学生认识Linux系统,可以更好地结合一些开源平台上的案例,使创意想法更丰富,适合中小学生体验创客的乐趣,便于更好地开展关于开源软硬件的创客普惠教育。

猜你喜欢
蜂鸣器图形化开源
基于Arduino图形化编程的教学应用研究
校园武术“学、练、赛”一体化实践探索
浅谈图形化编程在小学教育中的作用
掌控板制作简易钢琴
本尼丢了蜂鸣器
五毛钱能买多少头牛
2019(第十四届)开源中国开源世界
2019开源杰出贡献奖
一种光感自动晾衣装置
Mixly米思齐:优秀的国产创客教育工具