- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ArduBlock:物理世界与虚拟世界的桥梁.doc
ArduBlock:物理世界与虚拟世界的桥梁
编者按:在科技发展日新月异的今天,信息技术教学已经远离了开、关机还需要反复讲解的时代,三岁孩童熟练地摆弄着iPad已非奇事。自策划了“Scratch来了”这一专题之后,编辑深刻感受到研究程序语言的老师的可爱,他们的执著、他们的探索,使得程序教学不再那么枯燥,焕发出勃勃生机。因此,杂志特别策划了这一专栏,将陆续刊发一些程序教学领域有代表性的教学实践。也期待更多老师投身到程序教学中去,通过自身的践行,推动程序教学的复兴。
我们知道Arduino这一软硬结合的产品可以创意出很多作品。然而,类似JAVA、C语言的Processing/Wiring开发环境,依然会让许多人纠结于代码中,甚至望而却步,以至于头脑中有了创意却无法得以落实,而ArduBlock就是致力于降低Arduino爱好者的学习难度,把高级的计算机语言和专业的语法,简化为一个个模块,堆砌在一起,最后和Arduino开发板互动,做出激动人心的效果。由于ArduBlock是积木的编程方式,很大程度上降低了学习者的门槛,不需要专业的知识,不需要工科的背景,只要你喜欢,就可以玩,尤其是适合亲子互动教学及基础教育阶段的课堂教学。那么,就让我们一起走进ArduBlock吧。
● 什么是ArduBlock
Ardublock是在上海新车间由李大维和何琪辰于2011年起针对少儿学习物理运算而开发的图形化程序开发环境,属于Arduino官方编程环境的第三方软件,目前必须依附于Arduino软件运行,当时新车间有许多小朋友对Arduino机器人有兴趣,但是文本的类C语言的入门门槛很高,所以工作室试图透过图形化的拖拉开发方式大大降低这个门槛。这样的方式会使编程的可视化和交互性加强,编程门槛降低,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。
Ardublock一直是一个开源的项目,在网上通过社群的力量共同开发,目前有17个语言版本。ArduBlock相关资源可以访问官方网站http:///zh/。图1为2011年发布的1.0正式版,图2是截至发稿时,必威体育精装版的内部测试版。
开发团队2013年重写了全部代码,新版本内部模块的分类更加合理,执行效率更高,增加了一些子程序功能。
● ArduBlock的特色
1.JAVA插件
ArduBlock是使用JAVA语言开发的插件,配合Arduino的IDE使用,软件包ardublock-all.jar下载后,需要将它拷贝到“Sketchbook location”所在目录的相关文件夹里。那么如何确定“Sketchbook location”所在目录呢?在Arduino的IDE下,打开菜单“File”→“Preferences”(如图3)。
笔者电脑中的位置是D:\Backup\我的文档\Arduino,找到该目录后,我们需要先一级一级地在这个目录下建“子目录”,最终目录结构是这样的:D:\Backup\我的文档\Arduino\tools\ArduBlockTool\tool\,然后将ardublock-all.jar拷贝进去。ArduBlock软件安装完毕后,在Arduino IDE的菜单“Tools”下找到ArduBlock,就可以启动ArduBlock了。需要特别提醒的是,图3中我们选择语言为系统默认时,你的ArduBlock将为中文。
2.积木搭建
我们来看这样一个程序,它能实现开关灯的功能(如图4),具体描述就是按一次按钮,LED灯亮,再按一次按钮,LED灯灭。在以往的编程中,我们写代码一般采用“与2取余法”或者“取反法”来实现切换。
观察图4程序编写,如搭积木那么简单,还可以对程序进行批注,程序中的各个模块都是从左侧的模块库里“拖进”编程界面的,然后用这些模块积木进行拼接,拼接对了,会发出一声“咔”的清脆响声。如果要删去模块,只需要将模块“拖出”编程界面即可。
程序中“主程序”循环结构模块和“如果/否则”条件判断模块都是从“控制”分类中提取的,“非”、“设置数字变量”来自于“变量/常量”分类,而“设定数字针脚值”来自“引脚”分类,这样的分类条理非常清晰,方便用户查找到所需功能模块。
3.高度集成
ArduBlock中集成了游戏摇杆、超声波传感器、舵机、SD卡写入、盾板通讯、I2C读写等常见却可以控制复杂设备编程的模块,让创客们能专注于创意思维而不为编程所累。
● ArduBlock典型范例
我们在认识Arduino时已经知道编写相关程序需要Arduino控制板及一定的硬件支持,然后将编制好的程序写入控制板中,从而实现感知物理世界,控制物理世界,让虚拟世界与物理世界联通。然而,类C语
文档评论(0)