上海新车间是国内第一家创客空间,由新车间创始人李大维先生带领研发的ArduBlock插件受到了广泛的好评,如果你很想尝试用Arduino做些简单的控制,但实在不能接受编写代码,ArduBlock就是个不错的选择。依照本书第一篇搭建好Arduino的基础环境后,到 ArduBlock官方网站http://blog.ardublock.com/zh/下载。
ArduBlock软件是Arduino官方编程环境的第三方软件,须依附于Arduino软件下运行,但ArduBlock是以图形化积木搭建的方式编程的,这样的编程方式使编程门槛降低,没有写代码经验的人也可以尝试给 Arduino控制器编写程序。
下面本节将简要介绍这一开发环境的搭建方法:
ArduBlock软件的ardublock-all.jar下载后,把ardublock-all.jar拷贝到 “Sketchbook location”所在目录底下的 tools\ArduBlockTool\tool\里。在Arduino的IDE下,打开菜单“File” -> “Preferences”。
上图“篮圈”标注的“d:\My Documents\Arduino”是 “Sketchbook location”所在位置,然后一级一级地在这个目录下建“子子目录”,如:d:\My Documents\Arduino\tools\ArduBlockTool\tool\,如图:
ArduBlock软件安装完,在Arduino IDE的菜单”Tools“下找到ArduBlock,启动ArduBlock。
开始编写我的第一个ArduBlock程序了,任务很简单:按下按钮,Arduino控制器检测到与按钮连接的9号数字端口为低电平,于是它向13号数字端口发出命令,点亮LED灯,松下按钮,则熄灭LED灯。
ArduBlock程序:
观察程序编写,真是如搭积木那么简单,还可以对程序进行批注。”批注“窗口可以拖动和缩放,不要让它挡住了程序。程序中的各个模块 都是从左侧的模块库里“拖进”编程界面的,然后用这些模块积木进行拼接,拼接对了,会发出一声“咔”的清脆响声。如果您要删去模块,也很有创意,把不需要 的模块“拖出”编程界面即可。
程序中“loop”循环结构模块和“ifelse”条件判断模块都是从”Control“ 模块中提取的,”not“取反模块来自于”Operators“模块库,而”digital pin“数字量输入模块和”set digtial pin“数字量输出模块都是从”Pin“模块库拖进来的。
该软件还在不断地出新版本,而且目前已经支持中文,你只要在IDE环境下面选择“File->Preferences->Editor language”将它更改为“简体中文(Chinese Simplified)”,点击“OK”,关闭IDE后重启,就会发现菜单和打开的ArduBlock都变成中文的啦!
现在的ArduBlock是依附在Arduino官方软件的第三方图形化编程环境,两者需同时运行,点击 ArduBlock编程环境上方的“下载到Arduino”按钮,你会发现Arduino编程环境的”上传“按钮图标也开始工作了,而且在Arduino编程环境里自动生成对应的代码,通过图形程序与文本程序的对照,来学习ArduBlock编程了。唯一美中不足的是,这些由图像界面转换而来的代码都没有缩进的层次可言,不利于阅读,希望后续版本能有所改进。