当前位置:首页  <  创客利器  <  【应用软件】创客入门必备工具之软件类(上)...
【应用软件】创客入门必备工具之软件类(上)
编辑:Robin 2015-11-17 浏览次数:1201

【创客利器】

创客入门必备工具——软件类

 

回顾上两期创客利器版块,我们主要介绍了电子类和机械类的工具。本文主要讲解一些常见的创客必备入门软件类工具,从基于文本编程的Arduino IDE、Processing 3到电子绘图Fritzing再到积木式图形化编程Scratch 2.0、S4A、ArdublockApp Inventor 2,三维建模AUTODESK 123D DesignSolidWorks和3DS MAX,最后常用单片机与机器人调试软件,笔者将带领大家一同学习软件操作技法

Arduino IDE

Arduino IDE(集成开发环境)对Arduino硬件进行编程的工具。什么是Arduino?可以问度娘,这里不做过多介绍。Arduino不仅在硬件上使用USB上传程序,而且在软件中提供了丰富的库加以支持,这使得Arduino的门槛非常低,因此使用它进行创作的人也越来越多。Arduino IDE使用C/C++语法,并将程序抽象为setup和loop两个部分:程序一开始执行且仅执行一次setup函数,它通常负责初始化操作,随后程序不断地执行loop函数。

此外Arduino IDE还把输入输出封装为函数,屏蔽了底层寄存器的修改,如pinMode、digitalRead、digitalWrite、analogRead、digitalWrite等,同时提供了Serial、SPI.hWire.h(即I2C)等通讯协议的库函数。我们只需要很简单的三行代码就能实现LED一闪一灭的效果:

 

Arduino IDE还提供了丰富的示例供初学者参考(文件菜单中的示例选项)。如果有兴趣你还可以尝试http://arduino.org/中最新的编程软件Arduino Studio

 

Processing 

Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。它使用Java语言进行开发,是Arduino IDE的前身。其官方网站中提供了大量的类库,涉及串行通信、网络、视频与可视化、声音、GUI、3D、动画等各个方面。下图是Processing 3.0中Topics/Drawing/Pattern的示例程序,除去注释只需要12行代码,就实现了跟随鼠标绘制正圆,并随着鼠标移动速度改变大小的效果:

 

随着JavaScriptPython以及Ruby的流行,Processing也逐渐支持这三种编程语言,即p5.jsProcessing.py以及ruby-processing。这使得它已不仅仅是一门编程语言,而更像是一门面相艺术学习方式,使得我们可以通过编程学习、教学,甚至制作互动装置。下图页面的动态3D方格背景(http://p5js.org/,使用p5.js制作)可以随着鼠标移动而变化:

此外,由于Processing可以使用串行通信,因此它也可以和Arduino通过串口通信。因为Arduino自带的串口监视器比较简单,仅支持文本输入输出,因此我们可以将Processing与Arduino结合,使Arduino程序更加具有交互艺术性。

Fritzing

Fritzing将电子产品作为每一个人的创意素材。它同样是开源软件,让每个人记录其产品原型并与他人分享。Fritzing也常作为课堂上学习电子学的工具,甚至还可以制作PCB。下图是一个简单的使用案例:

AUTODESK 123D CIRCUITS

Autodesk的123D Circuits也是一个不错的工具,除了与大家分享自己的作品、定制PCB之外,其Electronics Lab还可以进行一些模拟仿真:

 

 

Scratch 2.0

目前Scratch是由麻省理工学院(MIT)媒体实验室所开发的一款面向青少年的图形化简易编程软件。使用者只需将色彩丰富的指令方块组合,便可创作出多媒体程序、互动游戏、动画故事等作品。最常用的版本有1.4(已经停止更新)和2.0。Scratch将一百多块积木分为十大类通过积木的组合我们就能实现出各种效果。下图程序脚本询问了用户出生年份,然后展示计算结果。

Scratch适合各个年龄阶段的人群学习编程,国内已有许多小学和中学开始教授Scratch。它可以实现计算机科学中的许多概念,例如递归、字符串操作、查找、排序等。下面展示的案例出自于《动手玩转Scratch 2.0编程》:

Scratch不仅可以制作纯软件项目,也支持与硬件的互动。官方标准Scratch支持PicoBoard和LEGO WeDo,但是这远远不能满足广大爱好者的需求。由于Scratch是开源软件,因此越来越多的机器人厂家和创客空间修改出更具特色的版本。与Scratch同类型的软件还有Snap!(也称为BYOB),它的编程功能更加强大,如支持局部变量、获取HTTP数据、字符串解析、执行JavaScript脚本等。

Scratch还有一个适合于更小的孩子(5-7岁)学习编程的版本ScratchJr,有安卓和IOS两个版本。它能让孩子们创作交互式故事和游戏,通过积木的简单卡合就能实现角色的跑动、跳跃、跳舞和唱歌等效果。下图是ScratchJr的程序截图:

 

 

未完待续

 

 

相关文章:

【应用软件】介绍几个创客入门必备的免费软件

【应用软件】适合maker初学者使用的免费软件

【应用软件】少儿编程项目知多少?

 

----------------------------------------------------------------------------------------------------------------
奥松机器人官网:www.robotbase.cn 
微信号:搜索公众号“奥松机器人”
QQ群: 271230889(讨论,解惑)
微博:@奥松机器人基地
----------------------------------------------------------------------------------------------------------------
温馨提示:予人玫瑰,手留余香;如果你喜欢这篇文章,不妨转发推荐给你身边的朋友!