创客入门必备工具——软件类(下)
Scratch for Arduino(S4A)
S4A打通了Scratch和Arduino之间的通道,我们可以使用S4A编写Arduino程序。S4A基于Scratch 1.4开发,是最早的将Scratch应用于Arduino的软件之一,目前已经处于停止更新的状态。下图是一个很简单的L灯闪烁程序:
运行S4A,首先需要在Arduino控制器中下载一个S4A提供的固件,通过这个固件S4A便可以和Arduino进行通信。同类型的软件还有S2A(Scratch to Arduino,需要Python支持,功能强大,但是几乎已经停止更新)、ScratchX(可以实现硬件和网络扩展,也可以使用网站中他人分享的扩展,如Arduino、EV3、Leapmotion、littleBits、Scratch3D等)、Snap4Arduino(将强大的Snap!与Arduino结合,由原S4A团队开发,比较小众)等。
ArduBlock
ArduBlock由上海新车间的李大维创作,国内外使用的人群很广泛。它非常适用于教育目的,笔者也曾在培训中使用该软件进行教学。下图是程序截图:
图中的程序将水位传感器的信息不断报告给Arduino的串口监视器。那么它与之前的S4A有什么不同呢?在逻辑上它们类似,都是通过积木进行Arduino的编程,但是ArduBlock本质上是Arduino IDE的“翻译器”,它会将积木程序转换为代码,再通过Arduino IDE上传至Arduino控制器,并不需要和Arduino一直保持连接的状态。同时ArduBlock的修改也非常简单,源代码中有大量的外部配置文件。如图中的“奥松机器人”模块便是笔者添加上去的,你也可以添加自己想实现的模块。
App Inventor 2
App Inventor 2(简称AI2,由MIT开发)实现了安卓软件的快速开发。AI2是基于事件驱动的浏览器程序(国内最新的地址是广州电教馆服务器),我们只需要将要用的控件拖拽至界面,调整好布局和基本的属性后进行编程即可。下图是一个简单的Screen:
笔者设计了一个简单的短信发送界面,然后进入编程界面:
代码浅显易懂,我们通过AI Companion(AI伴侣)即可在线完成动态调试。所谓动态是指,当手机和电脑处于同一个局域网时(如连接到同一个WIFI上),网页上的任何改动可以实时地反映在手机上,非常便于调试,最终还可以打包成apk。我们来看看手机端的软件:
我先“选择联系人”再选择13***105(联系人名称为欠费测试,笔者手机的第二张卡),使用18***442(笔者手机的第一张卡)发送“测试 测试”。稍等片刻就可以收到第一张卡发给第二张卡的信息。其实这就是一个最简单的短信发送界面。整个软件从开始编写、调试到打包安装,笔者只用了半个小时就实现了,由此可见AI2开发的速度之快。
AI2可以使用安卓手机的许多传感器,如相机(拍照应用)、加速度传感器(类似于微信摇一摇的功能)、GPS(获取精度、纬度、高度信息)、方向传感器(计步器)、蓝牙(实现与Arduino通信),甚至还能实现了乐高NXT的接口,这意味着AI2程序可以和NXT主控器通信。AI2还实现了很多“软”的功能,如扫描条形码、语音识别、网络/本地数据库等。AI2在国内外还有很多赛事,有兴趣的读者可以自行留意。
123D Design
123D Design由Autodesk发布(它还推出过著名的AutoCAD),是一款免费的三维 CAD 软件,使用它可以快速将构思成型。其社区非常活跃,下面的截图的模型便是从社区下载来的:
123D还有一系列有趣的软件,如123D Catch可以从多张平面图片中生成三维模型(然后使用3D打印机就能得到模型);123D Make将三维模型转换为二维切割图形;123D Sculpt+结合纹理、绘画甚至个人照片生成模型,并可运行在IOS和安卓设备上;Tinkerplay提供了许多3D模型;Tinkercad自称最简单的3D建模软件,运行在网页上,并有浅显易懂的操作教程。与123D Design类似的软件还有SketchUp。
SolidWorks
SolidWorks是世界上第一个基于Windows开发的三维CAD系统,并且功能非常强大,组件繁多,但是并非免费软件。下图是使用SolidWorks构建的AS-2WD轮式机器人装配体模型:
3ds MAX
3ds MAX主要应用于建筑、影视、游戏、动画方面,可以创建专业品质三维动画、渲染和模型。下图是使用3ds MAX设计小型人性机器人外观时的工作界面,更多复杂功能需要读者自行研究:
Kodu
Kodu可以制作3D游戏,操作简单,很有吸引力,小学生也能很快上手。它有点类似于《我的世界》(Minecraft),都是由操作者构建整个世界,不同的是Kodu已经内置了许多地形,而且可以进行简易地编程,实现角色的逻辑。下图是Kodu官方网站中由用户上传的Kodu世界,由上传时间可以看出这是一个非常活跃的社区:
Stencyl
Stencyl是一个非常专业的2D游戏引擎,因为它内置了重力效果,定义了各种表面的摩擦力,组间碰撞测试等。它的编程和Scratch类似,也是通过积木块的堆叠实现功能。但是其积木块数量众多,而且和Scratch的角色不同的是,Stencyl制作的是实例化到场景中的角色模板。虽然是积木式图形化编程,但其编程思想已经和面向对象、模板非常接近,对于初学者来说这个软件并不太容易上手。
付费版Stencyl有一个优势,它几乎支持任何平台:IOS、安卓、Flash、Windows、Mac、Linux。下图分别是Stencyl的场景编辑器和编程界面:
机器人调试助手
这是一款非常实用的机器人开发调试软件,从常用的单片机串口调试助手演变而来,主要适用于各种轮式和履带式移动机器人,软件集成远程目标管理、数据通信监视、视频窗口、运动导航和自定义功能设置区,通过这款软件读者可以很轻松实现机器人移动机器人的无线操控,目前网上可以下载到最常用的版本是2.2(还在不定期更新)。
结语
纵观编程语言,从机器码、汇编、C语言、面相对象的编程语言,其门槛越来越低,抽象程度越来越高。以前从事编程工作需要坚实的计算机基础,如今小学生就可以操作门槛很低、抽象程度更高的Scratch进行编程。说明科技社会在不断进步,简单易用已成为软件工具开发的核心。另一方面,丰富的类库、开源的软件,也能让更多的用户参与其中。有没有哪款软件符合你的胃口呢?由于文章篇幅所限,各种软件下载地址,笔者已在奥松机器人创客社区论坛中发帖,大家可以去查找,或者扫描下面的二维码查看!
长按二维码或扫描二维码,进入创客入门必备软件工具网址大全
相关文章:
----------------------------------------------------------------------------------------------------------------
奥松机器人官网:www.robotbase.cn
微信号:搜索公众号“奥松机器人”
QQ群: 271230889(讨论,解惑)
微博:@奥松机器人基地
----------------------------------------------------------------------------------------------------------------
温馨提示:予人玫瑰,手留余香;如果你喜欢这篇文章,不妨转发推荐给你身边的朋友!
近期新闻
热门新闻
奥松智能微信