宜昌老张

新车间Arduino图形化编程软件ArduBlock的介绍(上)

0
阅读(5266)

    Make杂志主办的2011年纽约Maker Faire 展会在科学会馆举办,在几条街区外就可以看到这里高耸的火箭。本来就充满科普装置的空间塞满创客后,就像一个爱丽丝仙境,走在其中会不经意地被古灵精怪的作品打动,驻足赞叹创客们的精彩表演。

   

   在这次展会上,Arduino尤其抢眼,Arduino 团队高调出场,发布了一系列Arduino产品,包括低端的Leonardo,到未来式96MHz怪物DUE,以及新的Arduino1.0编程软件,机器人平台等。Arduino的核心开发团队成员Massimo还特别感谢了上海新车间创客开发的图形化编程环境ArduBlock,肯定了来自中国创客的贡献,让现场中国观众有点Hold不住了!

   位于上海市长宁区安化路76号301室的新车间是国内第一家创客空间,她为创客们提供了一个很好的交流场所,新车间网址:http://xinchejian.com/?lang=zh。新车间的ArduBlock软件受到了国际同道的好评,这篇文章我来详细介绍下ArduBlock的安装与使用。ArduBlock官方网站是:http://blog.ardublock.com/zh/。在这个网址中,您仔细查阅可以看到ArduBlock软件的安装方法和使用简介。软件直接在这里下载:http://115.com/file/an45sovq#ardublock-all-20120129.jar

    ArduBlock软件是Arduino官方编程环境的第三方软件,目前必须依附于Arduino软件下运行,区别于Arduino文本式编程环境,ArduBlock是以图形化积木搭建的方式编程的,这样的方式会使编程的可视化和交互性加强,编程门槛降低,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。看上面Maker Faire视频,创客活动是每个老百姓都能参与的活动,降低软件编程门槛,可以吸引更多的人投入到创新制作中来,人人都是创客!

    ArduBlock软件的ardublock-all.jar下载后,如何安装软件,简单地说就是把ardublock-all.jar拷贝到 “Sketchbook location”所在目录底下的 tools\ArduBlockTool\tool\里面。问题是 “Sketchbook location”所在目录在哪可以找到,别急,我来找找。在Arduino的IDE下,打开菜单“File” -> “Preferences”。如图:

    我的电脑显示,上图“篮圈”标注的“d:\My Documents\Arduino”是 “Sketchbook location”所在位置,赶快去看看这个目录下有什么? 其实这个目录下,什么东西也没有,现在要做的事是一级一级地在这个目录下建“子子目录”,像这样:d:\My Documents\Arduino\tools\ArduBlockTool\tool\,如图:

    ArduBlock软件安装完,可以试试吗,在Arduino IDE的菜单”Tools“下找到ArduBlock,启动ArduBlock。

    ArduBlock官网的一个例子: http://blog.ardublock.com/zh/2011/08/22/ardublock-drawers/

    开始编写我的第一个ArduBlock程序了,任务很简单:按下按钮,Arduino控制器检测到与按钮连接的9号数字端口为低电平,于是它向13号数字端口发出命令,点亮LED灯,松下按钮,则熄灭LED灯。

ArduBlock程序:

    观察程序编写,真是如搭积木那么简单,还可以对程序进行批注,可惜现在只能英文注释。”批注“窗口可以拖动和缩放,不要让它挡住了程序。程序中的各个模块都是从左侧的模块库里“拖进”编程界面的,然后用这些模块积木进行拼接,拼接对了,会发出一声“咔”的清脆响声。如果您要删去模块,也很有创意,把不需要的模块“拖出”编程界面即可。

   程序中“loop”循环结构模块和“ifelse"条件判断模块都是从”Control“ 模块中提取的,”not“取反模块来自于”Operators“模块库,而”digital pin“数字量输入模块和”set digtial pin“数字量输出模块都是从”Pin“模块库拖进来的。

     该软件还在不断地出新版本,比如中文版ArduBlock,但是目前还未放出源码,值得期待啊!

    实际上,这个”按钮与LED灯“的实验任务还可以有更加直观通俗的编程样式,注意到了上图没?8个模块库的最后3个”输入输出设备“模块库,是国内三家Arduino制造商产品模块库,区别于”输入输出设备“通用模块库”Pin“,Arduino制造商产品模块库里的模块不是以文字来标识模块,而是以更直观的产品图样来标识。

      我现在手头的Arduino设备正好是购买于DFRobot官方淘宝网:http://dfrobot.taobao.com/,看看DFRobot模块库里有啥?

    用DFRobot模块库中提取的”按钮“与”LED灯“模块,编写的ArduBlock程序如下:

   再看实验照片:

   上面两个图片对照,我感觉蛮新鲜的!

    现在的ArduBlock是依附在Arduino官方软件的第三方图形化编程环境,两者需同时运行,点击     ArduBlock编程环境上方的”Upload“按钮,你会发现Arduino编程环境的”上传“按钮图标开始工作了,而且在Arduino编程环境里还居然生成了C代码,哈哈,现在可以通过图形程序与文本程序的对照,来学习ArduBlock编程了。