Arduino 简介
PS:
Google I/O 2011大会上,Google宣布在Android 3.1版本中新增一个特性,称为Android Open Accessory,中文可译作“安卓开放配件”,并宣称采用Arduino作为Android Open Accessory的标准。
Arduino究竟是什么,对于智能手机行业的朋友们可能有点陌生,但对于喜欢DIY各种机器人的朋友们就再熟悉不过了。Arduino是一款最流行的开源的硬件平台,有些类似于软件行业的Linux。全世界基于Arduino的项目保守估计有几十万个。
Arduino提倡“电子积木”式的开发。那么什么是电子积木呢?在淘宝和ebay上搜索Arduino,你可以找到上千种各种各样Arduino的开发板和配件。Arduino的配件包括以下几类:
(1) 传感器类。大家熟知的温湿度传感器,压力传感器,超声波传感器,三轴加速度传感器,人体的血压脉搏传感器,甚至核辐射测量仪等,都有Arduino的现成配件。
(2) 通讯类。通讯类配件包括以太网模块,WiFi模块,ZigBee模块,GSM模块,蓝牙模块等。
(3) 电机类。电机类配件,如舵机、步进电机。
有了这些“电子积木”,爱好者们可以轻松快速地制作各种新奇的小玩意。美国曾经有位黑客使用Arduino制作了一台微型侦查飞机,并将设计细节公布在自己的个人网站上。后来他接到国防部电话要求他将网站上的信息撤下,原因是基地组织学习了他的设计并用这个东东给美国军队制造了不小的麻烦。
了解了这些,大家就可以理解Arduino有多么强大了。
为什么选择Arduino
世界上有不少微处理器和对应的硬件平台,比如AVR系列或51系列的单片机开发板、Parallax Basic Stamp、BX-24,、Phidgets,MIT的Handyboard。至于为何选择Arduino,主要有以下原因:
- 廉价。这也是Arduino诞生的主要原因和目标之一。一块最新版的Arduino Board的价格(约70元)仍然远低于一块AVR或51开发板(约100~200元),并且不需要额外购买价格几十元人民币的下载线。开发软件亦是免费的,这也为开发者减少了不少麻烦。Arduino Board是被设计用来直接用于产品开发的,小巧精简,而普通的AVR开发板往往过于臃肿,不适合直接用于产品中,只是作为学习之用。使用Arduino降低了了成本,您只需一块。
- 跨平台。Arduino IDE能够在主流平台上运行,包括Microsoft Windows,Linux,Mac OS X(它们占据了PC的99%以上)。而普通的AVR开发工具如ICC,AVRStudio,只有Windows版本。对于很多程序员来说,Linux是他们的最爱。而设计师往往钟情于Mac OS X。跨平台的Arduino IDE的确解决了这样的困难,开发人员可以保持自己的习惯。
- 简单、清晰的编程方式。电子产品的开发者并不都是电气工程师和程序员,他们甚至包括画家和建筑师(他想为自己的家设计能自动开合的百叶窗)。Arduino并没有使用天书一般的汇编语言,或者复杂难懂的C语言,而是创造了另一种简单、清晰的编程语言。经过简单的学习,便能够开始出色的设计。
- 开源的软件。让你有机会了解,并加以改变,让你的开发与众不同。
- 开放的硬件。让你有机会制造无限量的复制品或者创造“进化版”。
作者:http://zh.wikipedia.org/zh-cn/Arduino
出处:http://zh.wikipedia.org/zh-cn/Arduino
Arduino
A screenshot of the Arduino IDE showing the "Blink" program, the Arduino "Hello World" for programmers. |
|
开发者 | Arduino Software |
稳定版本 | 1.0/ 2011年11月30日 [1] |
编程语言 | Java |
操作系统 | 跨平台 |
类型 | Integrated development environment |
许可协议 | LGPL or GPL license |
网站 | http://arduino.cc |
Arduino,是一个开源的单板机控制器,采用了基于开放源代码的软硬件平台,构建于开放源代码 simple I/O 接口版,并且具有使用类似Java,C 语言的Processing/Wiring开发环境。
关于
让您可以快速使用 Arduino 语言与 Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider…等软件,作出互动作品。Arduino可以使用开发完成的电子元件例如Switch或传感器或其他控制器件、LED、步进马达或其他输出装置。Arduino也可以独立运作成为一个可以跟软件沟通的接口,例如说: Adobe Flash, Processing, Max/MSP, Pure Data, VVVV 或其他互动软件…。Arduino开发IDE接口基于开放源代码原,可以让您免费下载使用开发出更多令人惊艳的互动作品。目前台湾地区人数最多, 相关资料最丰富的相关网站是Arduino.TW乐园http://arduino.tw。
特色
- 基于 创用CC 开放源代码的电路图设计。
- 免费下载,也可依需求自己修改,但需遵照姓名标示。您必须按照作者或授权人所指定的方式,表彰其姓名。
- 依相同方式分享,若您改变或转变著作,当散布该衍生著作时,您需采用与本著作相同或类似的授权条款。
- Arduino 可使用 ICSP 线上烧入器,将 Bootloader 烧入新的 IC 芯片。
- 可依据官方电路图,简化 Arduino 模组,完成独立运作的微处理控制。
- 可简单地与传感器,各式各样的电子元件连接,如 红外线、超音波、热敏电阻、光敏电阻、伺服马达…等。
- 支持多样的互动程序,如 Adobe Flash, Max/MSP, VVVV, Pure Data, C, Processing… 等。
- 使用低价格的微处理控制器 (ATMEGA 8–328)。
- USB 接口,不需外接电源。另外有提供 9V 直流电源输入。
- 应用方面,利用 Arduino,突破以往只能使用鼠标、键盘、CCD 等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。
核心开发团队
Arduino的核心开发团队成员包括:Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis 和Nicholas Zambetti。
据说 Massimo Banzi 之前是意大利 Ivrea 一家高科技设计学校的老师。他的学生们经常抱怨找不到便宜好用的微控制器。2005年冬天, Massimo Banzi 跟David Cuartielles 讨论了这个问题。David Cuartielles 是一个西班牙籍芯片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi 的学生 David Mellis 为电路板设计编程语言。两天以后,David Mellis 就写出了程序码。又过了三天,电路板就完工了。这块电路板被命名为Arduino。几乎任何人,即使不懂电脑编程,也能用 Arduino 做出很酷的东西,比如对传感器作出回应,闪烁灯光,还能控制马达。随后Banzi,Cuartielles,和Mellis把设计图放到了网上。保持设计的开放源码理念,因为版权法可以监管开源软件,却很难用在硬件上,他们决定采用共享创意许可。共享创意是为保护开放版权行为而出现的类似GPL的一种许可(license)。在共享创意许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。你不需要付版税,甚至不用取得 Arduino 团队的许可。然而,如果你重新发布了引用设计,你必须说明原始Arduino 团队的贡献。如果你调整或改动了电路板,你的最新设计必须使用相同或类似的共享创意许可,以保证新版本的Arduino电路板也会一样的自由和开放。唯一被保留的只有Arduino这个名字。它被注册成了商标。如果有人想用这个名字卖电路板,那他们可能必须付一点商标费用给 Arduino 的核心开发团队成员。
Arduino语言
int LED_PIN=13;
void setup () {
pinMode (LED_PIN, OUTPUT); // 以数字输出方式启用Pin13
}
void loop () {
digitalWrite (LED_PIN, HIGH); // 打开LED
delay (1000); // 等待一秒
digitalWrite (LED_PIN, LOW); // 关闭LED
delay (1000); // 等待一秒
}
这是Arduino的Blink示例程序。 每一个Arduino程序都必须拥有两个过程:void setup{}()和void loop{}()。在void setup{}()里面的代码在上电时会执行一次,然后void loop{}()里面的代码会不断执行。
参考资料
- O'REILLY欧莱礼原文 - Getting Started with Arduino
- O'REILLY欧莱礼原文繁体中文翻译书 - 踏进互动科技世界 使用Arduino
相关设备名称
相关条目
参考文献
- ^ Arduino Software Release Notes. Arduino Project [December 4, 2011].
其它链接
- Arduino中文社区
- Arduino project main page: http://www.arduino.cc/
- Arduino paradise on Taiwan in Asia: http://www.arduino.tw
- Arduino paradise Forum on Taiwan in Asia: http://bbs.arduino.tw
- Wikipedia in English language: http://en.wikipedia.org/wiki/Arduino
- Arduino wiki, aka the Playground
- Make Magazine article on the Arduino
- "Wiring" software project: http://wiring.org.co/
- Arduino photos on Flickr: http://www.flickr.com/photos/tags/arduino/
- Arduino tutorial – broken into several lessons with photographs and suggestions for appropriate tools for beginners.
- Introduction to the Arduino - Weekend Project Podcast
- Sheepdog Software's Introduction to Arduino:"Getting Started" pages and sequenced programming tutorials, with help on hardware.
- Wired article about open source hardware, focusing on Arduino
- Arduino tutorial – in portuguese, but with source codes and videos.
- Cooper Maa 的 Arduino 笔记
- 新竹交通大学毛先生的资料
- 世界知名的Freeduino索引
- 自制USB AVR烧录器
- Arduino中文教程
- Arduino: Robotics for beginners (Spanish with English subtitles)
- 极客工坊-arduino华文社区
- Arduino.TW台湾使用者社群: http://arduino.tw/index.php