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

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:catbull
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  图形化编程作为中小学生学习编程的入门语言,可以轻松把孩子们吸引到编程世界中来。作为一款为教育量身定制的开源硬件,虚谷号在这方面已做好准备,预装了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系统,可以更好地结合一些开源平台上的案例,使创意想法更丰富,适合中小学生体验创客的乐趣,便于更好地开展关于开源软硬件的创客普惠教育。
其他文献
Performance of commercial alloys can be improved greatly by severe plastic deformation, which refines grain of metals to several micrometer or sub-micrometer or
The decomposition of supersaturated sodium aluminate solution in the process of alumina production was reviewed. Some fundamental problems, such as the structur
The denitrogenation and desulphurization behavior during vacuum induction melting (VIM) refining Ni-base superalloy using CaO crucible was studied. It has been
目的 研究由全科团队在社区实施糖尿病患者个性化防治知识健康教育和健康生活行为指导的可行性.方法 采用问卷调查方法对99例糖尿病患者进行相关资料的收集与分析,以"个人健康
The influence of quenching water temperature, pre-stretching amount and aging temperature and times on residual stress in 7075 aluminum thick plate was studied
随着中医药行业信息化程度的普遍提高,中医药行业信息管理应用型人才的需求不断增加,对中医药院校信息管理专业的人才培养提出了更高的要求。目前各中医药院校的信息管理专业
社会医学的基本任务是,掌握社会卫生状况及其变动规律,找出主要的社会医学问题和原因,提出改善社会卫生状况,保护人群健康的社会措施,为卫生决策部门提供科学依据。 The bas