Arduino
Arduino (/ɑːrˈdwiːnoʊ/)是一家意大利开源硬件和软件公司、项目和用户社群。 他们设计和制造用于建造数字设备的单板单片机和单片机套件。 Arduino 的硬件产品根据 CC BY-SA 获得许可,而软件根据 GNU 宽通用公共授权 (LGPL) 或 GNU 通用公共授权 (GPL) 获得许可[1],这意味着任何人都可以创建 Arduino 板并分卖软件。 Arduino板可以从官方网站或授权经销商购买。
![]() | |
![]() Arduino Uno SMD R3 | |
研发商 | arduino.cc |
---|---|
制造商 | 许多 |
类型 | Single-board microcontroller |
操作系统 | None |
中央处理器 | Atmel AVR (8-bit), ARM Cortex-M0+ (32-bit), ARM Cortex-M3 (32-bit), Intel Quark (x86) (32-bit) |
内存 | SRAM |
硬盘保存空间 | Flash, EEPROM |
网站 |
Arduino 板是使用各种微处理器和控制器设计的。 这些板配备了一组数字和模拟输入/输出 (I/O) 引脚,可连接到各种扩展板或面包板和其他电路。 该板具有串行通信接口,包括USB,也用于安装程序。 单片机可以使用 C 和 C++ 编程语言以及标准 API(原文: Arduino Programming Language)进行编程,其灵感来自于处理语言,并与处理 IDE 的修改版本一起使用。 除了使用传统的编译工具链外,Arduino项目还提供了集成开发环境(IDE)和用Go语言开发的命令行工具。
Arduino 计划始于 2005 年,[2]作为意大利伊夫雷亚交互设计学院学生的工具,旨在为新手和专业人士提供一种低成本且简单的方法来创建使用传感器和运行器进行交互的设备。 对于初学者和爱好者来说,此类设备的常见范例包括简单的机器人、恒温器和运动侦测器。
Arduino 的名字来自于意大利伊夫雷亚的一家酒吧,该计划的一些创始人就是在那里相遇的。 酒吧以伊夫雷亚侯爵、1002 年至 1014 年意大利国王阿杜因 (Arduin of Ivrea) 的名字命名[3]。
关于
Arduino 系列电路板的设计大多使用 Atmel AVR 单片机。这些电路板配有一组数字和仿真I/O引脚,可以连接各种扩展板或面包板(Shields 扩充版)和其他电路。这些电路板具有,包括某些型号上的(USB),也用于从个人电脑加载进程。
软件编程方面,通常使用C/C++,官方提供了一个开发用的Arduino 集成开发环境(IDE)。除了使用传统的编译工具链之外,Arduino 项目还提供了一个基于 Processing 语言的集成开发环境。另外,一些少儿编程教育软件提供了对 Arduino 的可视化编程。
开发沿革
Arduino 的内核开发团队成员包括:马西莫·班齐(Massimo Banzi)、大卫·奎提耶斯(David Cuartielles)、汤姆·伊果(Tom Igor)、赞布罗塔·马提诺(Gianluca Martino)、大卫·梅利斯(David Mellis)和尼可拉斯·兰比提(Nicholas Zambetti)。
据说马西莫·班齐之前是意大利 Ivrea 一家高科技设计学校的老师。他的学生们经常抱怨找不到便宜好用的单片机。2005年冬天,马西莫·班齐跟大卫·奎提耶斯讨论了这个问题。大卫·奎提耶斯是一个西班牙籍芯片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了马西莫·班齐的学生大卫·梅利斯为电路板设计编程语言。两天以后,大卫·梅利斯就写出了代码。又过了三天,电路板就完工了。这块电路板被命名为 Arduino。几乎任何人,即使不懂电脑编程,也能用 Arduino 做出东西,比如对传感器作出回应,闪烁灯光,还能控制马达。随后马西莫·班齐、大卫·奎提耶斯和大卫·梅利斯把设计图放到了网上。保持设计的开放源码理念,因为版权法可以监管开源软件,却很难用在硬件上,他们决定采用共享创意许可[4]。共享创意是为保护开放版权行为而出现的类似 GPL 的一种许可(license)。在共享创意许可下,任何人都被允许生产印刷电路板的拷贝品,还能重新设计,甚至销售原设计的拷贝品。你不需要付版税,甚至不用取得 Arduino 团队的许可。然而,如果你重新发布了引用设计,你必须说明原始 Arduino 团队的贡献。如果你调整或改动了电路板,你的最新设计必须使用相同或类似的共享创意许可,以保证新版本的 Arduino 电路板也会一样的自由和开放。唯一被保留的只有 Arduino 这个名字。它被注册成了商标。如果有人想用这个名字卖电路板,那他们可能必须付一点商标费用给 Arduino 的内核开发团队成员。
赞布罗塔·马提诺创立的 Arduino Srl 被2009年创立的 Arduino LLC 控告侵犯了他们的著作权,这第二家被控侵权的 Arduino(也就是 Arduino Srl),原先叫做 Smart Projects Srl,以前是在意大利负责生产制造 Arduino 控制板的公司。而第一家 Arduino(也就是我们较熟悉的 Arduino LLC)则负责开发控制板,并管理周边的开源专题与社群。在之前,原本双方是合作的关系;2014年马提诺与另外四位共同创办人,对于 Arduino 品牌的发展方向意见不合,导致马提诺另外请费德里科·穆斯托担任 Smart Projects 的新首席执行官,并把公司名称改为 Arduino Srl[5]。
特色
- 基于创用CC开源的电路图设计。
- 免费下载,也可依需求自己修改,但需遵照姓名标示,按照作者或授权人所指定的方式,表彰其姓名。
- 依相同方式分享,若改变或转变著作,当散布该衍生著作时,需采用与本著作相同或类似的授权条款。
- Arduino 可使用 ICSP 在线烧入器,将 Bootloader 烧入新的IC芯片[6]。
- 可依据 Arduino 官方网站,取得硬件的设计档,加以调整电路板及组件,以符合自己实际设计的需求[7]。
- 可简单地与传感器及各式各样的电子组件连接,如红外线、超音波、热敏电阻、光敏电阻、伺服马达等。
- 支持多样的交互程序,如Adobe Flash、Max/MSP、VVVV、Pure Data、C及Processing等。
- 使用低价格的微处理控制器(Atmel AVR)(ATmega8、168、328等)。
- USB 接口,不需外置电源。另外有提供直流(DC)电源输入。
硬件
官方硬件
原始的 Arduino 硬件是从一间意大利公司 Smart Projects 制造[8]有些 Arduino 硬件则是被官方授权由美国公司 SparkFun Electronics 和 Adafruit Industries 设计。[9]。
- Arduino硬件范例
- Arduino Diecimila in Stoicheia
- Arduino Duemilanove (rev 2009b)
- Arduino UNO
- Arduino Leonardo
- Arduino Mega
- Arduino Nano
- Arduino Due
(ARM Cortex-M3内核) - LilyPad Arduino (rev 2007)
- Arduino Yun
- Arduino Pro Micro
- Arduino MEGA 2560
软件
![]() 编写于Arduino IDE的简单入门程序「闪灯(Blink)」的屏幕截屏 | |
开发者 | Arduino Software |
---|---|
编程语言 | Java、C 和 C++ |
操作系统 | Windows, macOS, Linux |
类型 | 集成开发环境 |
许可协议 | LGPL或GPL授权 |
网站 | arduino.cc |
在 Arduino 上运行的程序可以使用任何能够被编译成 Arduino 机器码的编程语言编写,Arduino 官方推荐使用集成了 arduino 库的 C++ 进行编程。
多数 Arduino 电路板上 MCU 的制造商 Atmel 公司也提供了数个可以开发 Atmel 微处理机程序的集成开发环境,AVR Studio[13]和更新的 Atmel Studio[14][15]。
目前微软在其 Microsoft Visual Studio 也有提供 Arduino 的 SDK,在编译运行上更方便。
IDE
Arduino 计划也提供了 Arduino Software IDE,一套以 Java 编写的跨平台应用软件。Arduino Software IDE 源自于 Processing编程语言以及 Wiring 计划的集成开发环境。它是被设计于介绍程序编写给艺术家和不熟悉编程的人们,且包含了一个拥有语法突显、括号匹配、自动缩进和一键编译并将运行档烧写入 Arduino 硬件中的编辑器。
Arduino Software IDE 使用与C语言和C++相仿的编程语言,并且提供了包含常见的输入/输出函数的 Wiring 软件函数库。在使用GNU toolchain编译和链接后,Arduino Software IDE提供了一个程序「avrdude」用来转换可运行档成为能够烧写入 Arduino 硬件的固件。2019 年后,版本分为简洁、免安装的IDE1 和功能齐全的IDE2
Sketch
使用Arduino Software IDE编写的程序被称为「sketch」[1]。一个典型的 Arduino C/C++ sketch 程序会包含两个函数,它们会在编译后合成为 main() 函数:
- setup():在程序运行开始时会运行一次,用于初始化设置。
- loop():直到Arduino硬件关闭前会重复运行函数放的代码。
相关设备名称
- BASIC Stamp
- OOPic
- PICAXE
- Parallax Propeller
- Fritzing
- Gumstix
- ioBridge
- Make Controller Kit
- Minibloq
- 树莓派 - 单板机电脑
- Simplecortex
参见
注释
参考数据
- . McGraw-Hill. Nov 8, 2011 [2013-03-28]. (原始内容存档于2019-09-19).
- Severance; Charles. . Computer. 2014, 47 (1): 11–12 [2022-04-12]. (原始内容存档于2022-04-24).
- Justin Lahart. . The Wall Street Journal. 27 November 2009 [2014-09-07]. (原始内容存档于2014-12-20).
- ChiuHao Chen. . [2016-03-06]. (原始内容存档于2016-03-10).
- . [2016-03-06]. (原始内容存档于2016-03-04).
- M-SHORT. . [2016-03-06]. (原始内容存档于2016-03-08).
- . [2016-03-06]. (原始内容存档于2016-03-10).
- . smartprj.com. [2016-03-05]. (原始内容存档于2016-03-05).
- Schmidt, M. . Pragmatic Bookshelf. January 22, 2011: 201 (英语).
- . todbot blog. [2016-03-05]. (原始内容存档于2017-09-16).
- . tigoe.net. [2016-03-05]. (原始内容存档于2017-07-02).
- Jonathan Oxer. . [5 Nov 2013]. (原始内容存档于2016-03-04).
- . Engblaze.com. [2013-01-18]. (原始内容存档于2012-08-28).
- . Arduino Project. [May 31, 2013]. (原始内容存档于2020-02-02).
- . Megunolink.com. [2013-01-18]. (原始内容存档于2013-01-28).
补充数据
- Exploring Arduino: Tools and Techniques for Engineering Wizardry; 2nd Ed; Jeremy Blum; Wiley; 512 pages; 2019; ISBN 978-1119405375.
- Arduino For Dummies; 2nd Ed; John Nussey; John Wiley & Sons; 400 pages; 2018; ISBN 978-1119489542.
- Programming Arduino Next Steps: Going Further with Sketches; 2nd Ed; Simon Monk; McGraw-Hill Education; 320 pages; 2018; ISBN 978-1260143249.
- Programming Arduino: Getting Started With Sketches; 2nd Ed; Simon Monk; McGraw-Hill Education; 192 pages; 2016; ISBN 978-1259641633.
- Beginning C for Arduino: Learn C Programming for the Arduino; 2nd Ed; Jack Purdum; Apress; 388 pages; 2015; ISBN 978-1484209417.
- Arduino: A Quick Start Guide; 2nd Ed; Maik Schmidt; Pragmatic Bookshelf; Pragmatic Bookshelf; 323 pages; 2015; ISBN 978-1941222249.
- Make: Getting Started with Arduino; 3rd Ed; Massimo Banzi, Michael Shiloh; Make Community; 262 pages; 2014; ISBN 978-1449363338.
- Make: Sensors; 1st Ed; Tero Karvinen, Kimmo Karvinen, Ville Valtokari; Make Community; 400 pages; 2014; ISBN 978-1449368104.
- Arduino Workshop: A Hands-On Introduction with 65 Projects; 1st Ed; John Boxall; No Starch Press; 392 pages; 2013; ISBN 978-1593274481.
外部链接
- Arduino(页面存档备份,存于)
- Make Magazine article on the Arduino
- "Wiring" software project: http://wiring.org.co/(页面存档备份,存于)
- Flickr上有关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(页面存档备份,存于)
- 新竹交通大学毛先生的数据(页面存档备份,存于)
- Freeduino索引
- 自制USB AVR刻录器(页面存档备份,存于)
- Arduino: Robotics for beginners (Spanish with English subtitles)(页面存档备份,存于)
- Arduino tutorial – in portuguese, but with source codes and videos.
- Cooper Maa的Arduino笔记(页面存档备份,存于)
- Arduino中文教程-Arduino中文社区(页面存档备份,存于)
- Arduino中文教程
- 柯博文老师的arduino教学(页面存档备份,存于)