![]() | |
![]() 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) |
内存(RAM) | SRAM |
硬盘儲存空間 | Flash, EEPROM |
網站 | www![]() |
Arduino 是一个开源嵌入式硬件平台,用来供使用者制作可交互式的嵌入式项目。此外 Arduino 作为一个开源硬件和开源软件的公司,同时兼有项目和用户社区。該公司负责设计和制造Arduino电路板及相关附件。这些产品按照GNU宽通用公共许可证(LGPL)或GNU通用公共许可证(GPL)[1]许可的开源硬件和软件分发的,Arduino 允许任何人制造 Arduino 板和软件分发。 Arduino 板可以以预装的形式商业销售,也可以作为 DIY 套件购买。
Arduino 2005 年時面世,[2],作为意大利伊夫雷亚地区伊夫雷亚交互设计研究所的学生設計,目的是为新手和专业人员提供一种低成本且简单的方法,以创建使用传感器与环境相互作用的设备。初學者和愛好者可用Arduino製造传感器、简单机器人、恒温器和运动检测器等裝置。
Arduino 这个名字来自意大利伊夫雷亚的一家酒吧,该项目的一些创始人過去常常会去这家酒吧。 酒吧以伊夫雷亚的 Arduin(Arduin of Ivrea)命名,他是伊夫雷亚邊疆伯爵,也是 1002 年至 1014 年期间的意大利国王[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]。
原始的 Arduino 硬體是從一間意大利公司 Smart Projects 製造[8]有些 Arduino 硬體則是被官方授權由美國公司 SparkFun Electronics 和 Adafruit Industries 設計。[9]。
「Shields」擴充版能夠插入 Arduino 和 Arduino 相容硬體,用途是增加 Arduino 硬體本身沒有的功能,如馬達控制、GPS、有線網路、液晶顯示器或者是麵包板。使用者也可以自己動手做 Shields 擴充版[10][11][12]。
![]() 編寫於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,在編譯執行上更方便。
Arduino 計劃也提供了 Arduino Software IDE,一套以 Java 編寫的跨平台應用軟體。Arduino Software IDE 源自於 Processing程式語言以及 Wiring 計劃的整合開發環境。它是被設計於介紹程式編寫給藝術家和不熟悉程式設計的人們,且包含了一個擁有語法突顯、括號匹配、自動縮排和一鍵編譯並將執行檔燒寫入 Arduino 硬體中的編輯器。
Arduino Software IDE 使用與C語言和C++相仿的程式語言,並且提供了包含常見的輸入/輸出函式的 Wiring 軟體函式庫。在使用GNU toolchain編譯和連結後,Arduino Software IDE提供了一個程式「avrdude」用來轉換可執行檔成為能夠燒寫入 Arduino 硬體的韌體。
使用Arduino Software IDE編寫的程式被稱為「sketch」[16]。一個典型的 Arduino C/C++ sketch 程式會包含兩個函式,它們會在編譯後合成為 main() 函式: