编程必看:Arduino图形编程之S4A全介绍
2016年01月18日 14:29 发布者:designapp

一直以来,许多设计师、创客亲们都十分青睐使用Arduino来设计作品,但是对那些完全没有编程基础的小白们(尤其是小学生和初中生)来说,编程简直就和看天书一样,的确不太好懂,图形编程软件S4A和ArduBlock因此应运而生。本篇我们就主要给大家分析一下S4A。
S4A,全名“Scratch For Arduino”,顾名思义,它是在Scratch的基础上开发完成提供了对Arduino的支持。
Scratch是一款由麻神理工学院(MIT) 设计开发的一款面向少年的简易编程工具。使用者可以不认识英文单词,也可以不会使用键盘。构成S4A程序的命令和参数都是通过积木形状的模块来实现的。
其实,Scratch自己也有Scratch Board,但比较难买到,并且价格很高,而Arduino拥有基于开放源码的软硬体平台,又设计了完善的串口通讯接口,落在广大创客的眼里,这两者简直就是天生一对啊!
S4A这款软件不再局限于传感器板和乐高玩具,能够利用Arduino开发板来创作出更多更加强大的互动作品。
不过在使用之前大家都有一番好奇,S4A和Arduino IDE这两款软件究竟有什么样的区别?在学习过程中究竟是使用S4A呢,还是使用Arduino?不如我们就一起来看看两者的对比吧!

从图中,我们不难发现,同样的程序内容,S4A是通过图像界面来实现Arduino开发板的基本功能,看起来更直观,并不用涉及编程语言的学习,使用起来十分简单。
但是在开发环境配置上,由于S4A依赖于Arduino IDE烧写固件后才能运行,因此不仅需要下载安装S4A工具,还需要同时安装Arduino IDE并烧写S4A固件。

由于经过图形界面的封装,S4A将每个管脚的功能已固定,导致在实现更多相同管脚功能(如电子琴需要7个数字电平检测)、更复杂的器件操作(如LCD屏)、和Arduino类库使用(如SoftSerial)上存在较多局限性。
由上表,我们也可以看出,S4A可以培养和训练学习者的编程逻辑,难度较低;而Arduino IDE的使用中需要学习C语言这种举足轻重的编程语言,相对而言增加了一些学习难度。
如果学习者对编程和硬件控制有兴趣,学习Arduino IDE对于童鞋们能够控制更多电子器件、理解软件本质和后续软件开发具有非常深远的意义。
附:S4A使用详细介绍
S4A官网
http://s4a.cat
系统支持
Windows
Mac
Linux(Debian)
Linux(Fedora)(version 1.5)
Raspbian (Debian for RaspberryPi)(version 1.5)
开发板支持
Arduino Diecimila,Duemilanove and Uno
管脚功能(Arduino Uno)
Digital read: digital pins 2 and 3
Digital write: digital pins 10,11 and 13
Analog read: analog pins 0~5
Analog write: digital pins 5,6 and 9
Servo control: digital pins 4 and 7(continuous rotation)
digital pins 8 and 12(standard)
开发环境准备
a. S4A工具下载安装
http://s4a.cat
b. Arduino IDE工具下载安装(附带Atmel芯片驱动)
http://www.arduino.org.cn/software#ide
c. S4A固件下载
http://vps34736.ovh.net/S4A/S4AFirmware16.ino
d.使用Arduino IDE工具将S4A固件(非bootloader)烧写入Arduino Uno开发板
e.打开S4A工具,然后使用USB转接线将Arduino Uno开发板连接至电脑,S4A会自动搜索到开发板,工具将自动多出开发板相关使用接口