一、Arduino
是什么
Arduino
是一个能够用来感应和控制现实物理世界的一套工具。 它由一个基于单片机并且开放源码的硬件平台,和一套为
Arduino
板编写程序 的开发环境组成。
Arduino
可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。
Arduino
项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:
Flash
,
Processing
,
MaxMSP
)进行通讯。
Arduino
板你可以选择自己去手动组装或是购买已经组装好的;
Arduino
开源的
IDE
可以免费下载得到。
二、Arduino的优点:
·
便宜
-
和其它平台相比,
Arduino
板算是相当便宜了。最便宜的
Arduino
版本可以自己动手制作,淘宝上有组装好的成品,价格在20元左右。
我在淘宝的这里买过,
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1f30a53fYMAhyo&id=523243157722&_u=71r66iq3f1f
·
跨平台
-
Arduino
软件可以运行在
Windows
,
Macintosh OSX(Mac)
,和
Linux
操作系统。大部分其它的单片机系统都只能运行在
Windows
上。
·
简易的编程环境
-
初学者很容易就能学会使用
Arduino
编程环境,同时它又能为高级用户提供足够多的高级应用。对于老师们来说,一般都能很方便的使用
Processing
编程环境,所以如果学生学习过使用
Processing
编程环境的话,那他们在使用
Arduino
开发环境的时候就会觉得很相似很熟悉。
·
软件开源并可扩展
-
Arduino
软件是开源的,对于有经验的程序员可以对其进行扩展。
Arduino
编程语言可以通过
C++
库进行扩展,如果有人想去了解技术上的细节,可以跳过
Arduino
语言而直接使用
AVR C
编程语言(因为
Arduino
语言实际上是基于
AVR C
的)。类似的,如果你需要的话,你也可以直接往你的
Arduino
程序中添加
AVR-C
代码。目前我给小车加了一个C语言的串口协议,这就是C语言的扩展。
·
硬件开源并可扩展
-
Arduino
板基于
Atmel
的
ATMEGA8
和
ATMEGA168/328
单片机。
Arduino
基于
Creative Commons
许可协议,所以有经验的电路设计师能够根据需求设计自己的模块,可以对其扩展或改进。甚至是对于一些相对没有什么经验的用户,也可以通过制作试验板来理解
Arduino
是怎么工作的。
·
大大降低了软件开发难度,适宜非专业爱好者使用
三、Arduino的缺点:
Arduino
基于
AVR
平台,对
AVR
库进行了二次编译封装,把端口都打包好了,寄存器啦、地址指针之类的基本不用管。因为是二次编译封装,代码不如直接使用
AVR
代码编写精练,代码执行效率与代码体积都弱于
AVR
直接编译。