Arduino()是一家意大利開源硬體和軟體公司、專案和使用者社群。 它們設計和製造用於建造數位設備的單板微控制器和微控制器套件。 Arduino 的硬體產品獲得 CC BY-SA 許可,而軟體根據 GNU 寬通用公共授權 (LGPL) 或 GNU 通用公共授權 (GPL) 獲得許可作為義大利伊夫雷亞互動設計學院學生的工具,旨在為新手和專業人士提供一種低成本、簡單的方法來創建使用感測器和執行器進行互動的設備。 對於初學者和愛好者來說,此類設備的常見範例包括簡單的機器人、恆溫器和運動偵測器。
Arduino 的名字來自於義大利伊夫雷亞的一家酒吧,該計畫的一些創始人就是在那裡相遇的。 酒吧以伊夫雷亞侯爵、1002 年至 1014 年義大利國王阿杜因 (Arduin of Ivrea) 的名字命名。
關於
Arduino 系列電路板的設計大多使用 Atmel AVR 單片機。這些電路板配有一組數字和模擬I/O引腳,可以連接各種擴展板或麵包板(Shields 擴充版)和其他電路。這些電路板具有-{zh-cn:串行通信接口;zh-tw:串列埠;}-,包括某些型號上的-{zh-cn:通用串行总线;zh-tw:通用串列匯流排;}-(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 的設計使幾乎任何人都能輕鬆創作,即使不懂編程的人也能利用它來響應感測器、閃爍燈光或控制馬達。隨後,班齊、奎提耶斯和梅利斯將設計圖上傳至網路,並秉持開放源碼的理念,決定採用共享創意許可(Creative Commons License)。這種許可旨在保護開放版權行為,類似於 GPL,但更適用於硬體。根據共享創意許可,任何人都可以生產印刷電路板的複製品,重新設計,甚至銷售原設計的複製品,而無需支付版稅或獲得 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,不過最終兩間公司宣布和解並重新合而為一。
2025年10月9日,高通宣布併購Arduino。
特色
- 基於知识共享開源的電路圖設計。
- 免費下載,也可依需求自己修改,但需遵照姓名標示,按照作者或授權人所指定的方式,表彰其姓名。
- 依相同方式分享,若改變或轉變著作,當散布該衍生著作時,需採用與本著作相同或類似的授權條款。
- Arduino 可使用 ICSP 線上燒入器,將 Bootloader 燒入新的IC晶片。
- 可依據 Arduino 官方網站,取得硬體的設計檔,加以調整電路板及元件,以符合自己實際設計的需求。
- 可簡單地與感測器及各式各樣的電子元件連接,如紅外線、超音波、熱敏電阻、光敏電阻、伺服馬達等。
- 支援多樣的互動程式,如Adobe Flash、Max/MSP、VVVV、Pure Data、C及Processing等。
- 使用低價格的微處理控制器(Atmel AVR)(ATmega8、168、328等)。
- USB 介面,不需外接電源。另外有提供直流(DC)電源輸入。
硬體
官方硬體
原始的 Arduino 硬體是從一間意大利公司 Smart Projects 製造。
File:Arduino Diecimila 6.jpg|Arduino Diecimila in Stoicheia
File:Arduino Duemilanove 2009b.jpg|Arduino Duemilanove (rev 2009b)
File:Arduino UNO unpacked.jpg|Arduino UNO
File:Arduino Leonardo.jpg|Arduino Leonardo
File:Arduino Mega.jpg|Arduino Mega
File:Arduino Nano.jpg|Arduino Nano
File:ArduinoDue Front.jpg|Arduino Due
(ARM Cortex-M3核心)
File:LilyPad Arduino Main Board.JPG|LilyPad Arduino (rev 2007)
File:ArduinoYun.jpg|Arduino Yun
File:Arduino Pro Micro.jpg|Arduino Pro Micro
File:Arduino MEGA2560.png|Arduino MEGA 2560
Shields
「Shields」擴充版能夠插入 Arduino 和 Arduino 相容硬體,用途是增加 Arduino 硬體本身沒有的功能,如馬達控制、全球定位系统(GPS)、有線網路、液晶顯示器或者是麵包板。使用者也可以自己動手做 Shields 擴充版。
Image:Arduino Protoboard Shields.jpg|多重的Shield可以被堆疊起來。在這張圖裡,最上層的Shield擴充版上含有麵包板。
Image:Wingshield on Arduino - ARSH-05-WI.jpg|翅膀形狀的螺絲端子Shield擴充版。
Image:Adafruit Motor Shield - ARSH-02-MS 01.jpg|Adafruit馬達Shield擴充版和用於連接馬達的螺絲端子Shield擴充版。
Image:ARSH-09-DL 03.jpg|內建一個SD卡插槽,以及實時時鐘晶片的Adafruit數據記錄Shield。
Image:Fabric Shield for Arduino Nano.JPG|HackARobot結構Shield,專為了Arduino Nano硬體設計以推動馬達和感測器如:陀螺儀和GPS,以及其他的擴充版如:Wifi、藍芽、無線射頻等。
軟體
在 Arduino 上執行的程式可以使用任何能夠被編譯成 Arduino 機器碼的程式語言編寫,Arduino 官方推荐使用整合了 arduino 库的 C++ 进行编程。
多数 Arduino 电路板上 MCU 的制造商 Atmel 公司也提供了數個可以開發 Atmel 微處理機程式的整合開發環境,AVR Studio
IDE
Arduino 計劃也提供了 Arduino Software IDE,一套以 Java 編寫的跨平台應用軟體。Arduino Software IDE 源自於 Processing程式語言以及 計劃的整合開發環境。它是被設計於介紹程式編寫給藝術家和不熟悉程式設計的人們,且包含了一個擁有語法突顯、括號匹配、自動縮排和一鍵編譯並將執行檔燒寫入 Arduino 硬體中的編輯器。
Arduino Software IDE 使用與C語言和C++相仿的程式語言,並且提供了包含常見的輸入/輸出函式的 軟體函式庫。在使用GNU 工具链編譯和連結後,Arduino Software IDE提供了一個程式「avrdude」用來轉換可執行檔成為能夠燒寫入 Arduino 硬體的韌體。2019 年后,版本分为简洁、免安装的IDE1 和功能齐全的IDE2
Sketch
使用Arduino Software IDE編寫的程式被稱為「sketch」。一個典型的 Arduino C/C++ sketch 程式會包含兩個函式,它們會在編譯後合成為 main() 函式:
- setup():在程式執行開始時會執行一次,用於初始化設定。
- loop():直到Arduino硬體關閉前會重複執行函式放的程式碼。
相關設備名稱
- BASIC Stamp
*
*
*
*
*
*
*
*
- 樹莓派 - 单板機電腦
- ESP32
*
參見
- 知识共享(Creative Commons)
注釋
参考資料
补充資料
- Exploring Arduino: Tools and Techniques for Engineering Wizardry; 2nd Ed; Jeremy Blum; Wiley; 512 pages; 2019; .
- Arduino For Dummies; 2nd Ed; John Nussey; John Wiley & Sons; 400 pages; 2018; .
- Programming Arduino Next Steps: Going Further with Sketches; 2nd Ed; Simon Monk; McGraw-Hill Education; 320 pages; 2018; .
- Programming Arduino: Getting Started With Sketches; 2nd Ed; Simon Monk; McGraw-Hill Education; 192 pages; 2016; .
- Beginning C for Arduino: Learn C Programming for the Arduino; 2nd Ed; Jack Purdum; Apress; 388 pages; 2015; .
- Arduino: A Quick Start Guide; 2nd Ed; Maik Schmidt; Pragmatic Bookshelf; Pragmatic Bookshelf; 323 pages; 2015; .
- Make: Getting Started with Arduino; 3rd Ed; Massimo Banzi, Michael Shiloh; Make Community; 262 pages; 2014; .
- Make: Sensors; 1st Ed; Tero Karvinen, Kimmo Karvinen, Ville Valtokari; Make Community; 400 pages; 2014; .
- Arduino Workshop: A Hands-On Introduction with 65 Projects; 1st Ed; John Boxall; No Starch Press; 392 pages; 2013; .
外部链接
- [https://www.arduino.cc/ Arduino]官方网站
- [http://downloads.oreilly.com/make/arduinoMAKE07.pdf Make Magazine article on the Arduino]
- "Wiring" software project: http://wiring.org.co/
- [http://www.flickr.com/photos/tags/arduino/ Flickr上有關Arduino的圖片]
- [http://www.ladyada.net/learn/arduino/ Arduino tutorial] – broken into several lessons with photographs and suggestions for appropriate tools for beginners.
- [https://web.archive.org/web/20071112133603/http://www.makezine.com/blog/archive/2007/09/intro_to_the_arduino_week.html Introduction to the Arduino] - Weekend Project Podcast
- [http://sheepdogsoftware.co.uk/pltut.htm Sheepdog Software's Introduction to Arduino]:"Getting Started" pages and sequenced programming tutorials, with help on hardware.
- [http://www.wired.com/techbiz/startups/magazine/16-11/ff_openmanufacturing?currentPage=all Wired article about open source hardware, focusing on Arduino]
- [http://rainage.blogspot.com/search/label/Arduino 新竹交通大學毛先生的資料]
- [https://web.archive.org/web/20080410220309/http://www.freeduino.org/freeduino_open_designs.html Freeduino索引]
- [http://mitchcircuit.wordpress.com/2008/03/13/usbasp-diy/ 自製USB AVR燒錄器]
教程
- [http://www.youtube.com/watch?v=KZUrO9aXGh0 Arduino: Robotics for beginners (Spanish with English subtitles)]
- [https://web.archive.org/web/20120424111234/http://lusorobotica.com/index.php/topic,22.0.html Arduino tutorial] – in portuguese, but with source codes and videos.
- [http://coopermaa2nd.blogspot.com/search/label/Arduino Cooper Maa的Arduino筆記]
- [http://www.arduino.cn/thread-1066-1-1.html Arduino中文教程-Arduino中文社区]
- [https://web.archive.org/web/20100414035426/http://blog.flamingoeda.com/category/tutorial/ Arduino中文教程]
- [http://www.powenko.com/en/?page_id=4366 柯博文老師的arduino教學]
评论 (0)