2014年8月18日 星期一

Arduino 起源

Arduino 起源
Massimo Banzi 之前是義大利 Ivrea 一家高科技設計學校的老師,他的學生們經常抱怨找不到便宜好用的微處理機控制器。西元2005年, Massimo Banzi David Cuartielles 討論了這個問題,David Cuartielles 是一個西班牙籍晶片工程師,當時是這所學校的訪問學者。兩人討論之後,決定自己設計電路板,並引入了Banzi 的學生 David Mellis 為電路板設計開發用的語言。兩天以後,David Mellis 就寫出了程式碼。又過了幾天,電路板就完工了。於是他們將這塊電路板命名為『Arduino』。
當初Arduino設計的觀點,就是希望針對『不懂電腦語言的族群』,也能用 Arduino 做出很酷的東西,例如:對感測器作出回應、閃爍燈光、控制馬達等等。
隨後BanziCuartielles,和Mellis把設計圖放到了網際網路上。他們保持設計的開放源碼(Open Source)理念,因為版權法可以監管開放原始碼軟體,卻很難用在硬體上,他們決定採用創用CC許可(Creative_Commons, 2013)
創用CC(Creative_Commons, 2013)是為保護開放版權行為而出現的類似GPL[1]的一種許可(license),來自於自由軟體[2]基金會 (Free Software Foundation)  GNU 通用公共授權條款 (GNU GPL):在創用CC許可下,任何人都被允許生產電路板的複製品,且還能重新設計,甚至銷售原設計的複製品。你還不需要付版稅,甚至不用取得 Arduino 團隊的許可。
然而,如果你重新散佈了引用設計,你必須在其產品中註解說明原始Arduino 團隊的貢獻。如果你調整或改動了電路板,你的最新設計必須使用相同或類似的創用CC許可,以保證新版本的Arduino電路板也會一樣的自由和開放。
唯一被保留的只有Arduino這個名字:『Arduino』已被註冊成了商標[3]Arduino®』。如果有人想用這個名字賣電路板,那他們可能必須付一點商標費用給 『Arduino®』 (Arduino, 2013)的核心開發團隊成員。
Arduino®』的核心開發團隊成員包括:Massimo BanziDavid CuartiellesTom IgoeGianluca MartinoDavid Mellis  Nicholas Zambetti(Arduino, 2013),若讀者有任何不懂Arduino的地方,都可以訪問Arduino官方網站:http://www.arduino.cc/
Arduino®』,是一個開放原始碼的單晶片控制器,它使用了Atmel  AVR單晶片 (Atmel_Corporation, 2013),採用了基於開放原始碼的軟硬體平台,構建於開放原始碼 Simple I/O 介面版,並且具有使用類似Java語言的Processing[4]/Wiring開發環境(B. F. a. C. Reas, 2013C. Reas & Fry, 20072010)ProcessingMIT媒體實驗室美學與計算小組(Aesthetics & Computation Group)Ben Fry(http://benfry.com/)Casey Reas發明,Processing已經有許多的Open Source的社群所提倡,對資訊科技的發展是一個非常大的貢獻。
讓您可以快速使用 Arduino 語言作出互動作品,Arduino可以使用開發完成的電子元件:例如Switch、感測器、其他控制器件、LED、步進馬達、其他輸出裝置等。Arduino開發IDE介面基於開放原始碼,可以讓您免費下載使用,開發出更多令人驚豔的互動作品(Banzi, 2009) 

Arduino特色
l          開放原始碼的電路圖設計,程式開發介面
l          http://www.arduino.cc/免費下載,也可依需求自己修改!!
l          Arduino 可使用ISCP線上燒入器,自我將新的IC晶片燒入「bootloader (http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader
l          可依據官方電路圖(http://www.arduino.cc/),簡化Arduino模組,完成獨立運作的微處理機控制模組
l          感測器可簡單連接各式各樣的電子元件 (紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達,…)
l          支援多樣的互動程式程式開發工具
l          使用低價格的微處理控制器(ATMEGA8-16)
l          USB介面,不需外接電源。另外有提供9VDC輸入
l          應用方面,利用Arduino,突破以往只能使用滑鼠,鍵盤,CCD等輸入的裝置的互動內容,可以更簡單地達成單人或多人遊戲互動
Arduino硬體-Duemilanove
Arduino Duemilanove 使用AVR Mega168為微處理晶片,是一件功能完備的單晶片開發板,Duemilanove特色為:(a).開放原始碼的電路圖設計,(b).程序開發免費下載,(c).提供原始碼可提供使用者修改,(d).使用低價格的微處理控制器(ATmega168)(e).採用USB供電,不需外接電源,(f).可以使用外部9VDC輸入,(g).支持ISP直接線上燒錄,(h).可使用bootloader燒入ATmega8ATmega168單晶片。
系統規格
l          主要溝通介面:USB
l          核心: ATMEGA328
l          自動判斷並選擇供電方式(USB/外部供電)
l          控制器核心:ATmega328
l          控制電壓:5V
l          建議輸入電(recommended)7-12 V
l          最大輸入電壓 (limits)6-20 V
l          數位 I/O Pins14 (of which 6 provide PWM output)
l          類比輸入Pins6
l          DC Current per I/O Pin40 mA
l          DC Current for 3.3V Pin50 mA
l          Flash Memory32 KB (of which 2 KB used by bootloader)
l          SRAM2 KB
l          EEPROM1 KB
l          Clock Speed16 MHz
具有bootloader[5]能夠燒入程式而不需經過其他外部電路。此版本設計了『自動回復保險絲[6]』,在Arduino開發板搭載太多的設備或電路短路時能有效保護Arduino開發板的USB通訊埠,同時也保護了您的電腦,並且故障排除後能自動恢復正常。


 1 Arduino Duemilanove 開發板外觀圖


Arduino硬體-UNO
UNO的處理器核心是ATmega328,使用 ATMega 8U2 來當作USB-對序列通訊,並多了一組ICSPMEGA8U2使用:未來使用者可以自行撰寫內部的程式也因為捨棄FTDI USB晶片~ Arduino開發板需要多一顆穩壓IC來提供3.3V的電源。
Arduino UNOArduino USB介面系列的最新版本,作為Arduino平臺的參考標準範本: 同時具有14路數位輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入, 一個16MHz晶體振盪器,一個USB口,一個電源插座,一個ICSP header和一個重定按鈕。
UNO目前已經發佈到第三版,與前兩版相比有以下新的特點: (a).AREF處增加了兩個管腳SDASCL(b).支援I2C介面,(c).增加IOREF和一個預留管腳,將來擴展板將能相容5V3.3V核心板,(d).改進了Reset重置的電路設計,(e).USB介面晶片由ATmega16U2替代了ATmega8U2
系統規格
l          控制器核心:ATmega328
l          控制電壓:5V
l          建議輸入電(recommended)7-12 V
l          最大輸入電壓 (limits)6-20 V
l          數位 I/O Pins14 (of which 6 provide PWM output)
l          類比輸入Pins6
l          DC Current per I/O Pin40 mA
l          DC Current for 3.3V Pin50 mA
l          Flash Memory32 KB (of which 0.5 KB used by bootloader)
l          SRAM2 KB
l          EEPROM1 KB
l          Clock Speed16 MHz



 2 Arduino UNO 開發板外觀圖

Arduino硬體-Mega 2560
可以說是Arduino巨大版: Arduino Mega2560 REV3Arduino官方最新推出的MEGA版本。功能與MEGA1280幾乎是一模一樣,主要的不同在於Flash容量從128KB提升到256KB,比原來的Atmega1280大。
Arduino Mega2560是一塊以ATmega2560為核心的微控制器開發板,本身具有54組數位I/O input/output端(其中14組可做PWM輸出),16組模擬比輸入端,4UARThardware serial ports),使用 16 MHz crystal oscillator。由於具有bootloader,因此能夠通過USB直接下載程式而不需經過其他外部燒入器。供電部份可選擇由USB直接提供電源,或者使用AC-to-DC adapter及電池作為外部供電。
由於開放原代碼,以及使用Java概念(跨平臺)的C語言開發環境,讓Arduino的周邊模組以及應用迅速的成長。而吸引Artist使用Arduino的主要原因是可以快速使用Arduino語言與FlashProcessing…等軟體通訊,作出多媒體互動作品。Arduino開發IDE介面基於開放原代碼原則,可以讓您免費下載使用於專題製作、學校教學、電機控制、互動作品等等。
電源設計
Arduino Mega2560的供電系統有兩種選擇,USB直接供電或外部供電。電源供應的選擇將會自動切換。外部供電可選擇AC-to-DC adapter 或者電池,此控制板的極限電壓範圍為6V~12V,但倘若提供的電壓小於6VI/O口有可能無法提供到5V的電壓,因此會出現不穩定;倘若提供的電壓大於12V,穩壓裝置則會有可能發生過熱保護,更有可能損壞 Arduino MEGA2560。因此建議的操作供電為6.5~12V,推薦電源為7.5V9V
系統規格
l          控制器核心:ATmega2560
l          控制電壓:5V
l          建議輸入電(recommended)7-12 V
l          最大輸入電壓 (limits)6-20 V
l          數位 I/O Pins54 (of which 14 provide PWM output)
l          UART:4
l          類比輸入Pins16
l          DC Current per I/O Pin40 mA
l          DC Current for 3.3V Pin50 mA
l          Flash Memory256 KB of which 8 KB used by bootloader
l          SRAM8 KB
l          EEPROM4 KB
l          Clock Speed16 MHz



 3 Arduino Mega2560 開發板外觀圖



[1] GNU 通用公眾授權條款(英語:GNU General Public License,簡稱GNU GPL或GPL),是一個廣泛被使用的自由軟體授權條款,最初由理察·斯托曼為GNU計劃而撰寫。
[2] 「自由軟體」指尊重使用者及社群自由的軟體。簡單來說使用者可以自由運行、複製、發佈、學習、修改及改良軟體。他們有操控軟體用途的權利。
[3] 商標註冊人享有商標的專用權,也有權許可他人使用商標以獲取報酬。各國對商標權的保護期限長短不一,但期滿之後,只要另外繳付費用,即可對商標予以續展,次數不限。
[4] Processing 是一個Open Source的程式語言及開發環境,提供給那些想要對影像、動畫、聲音進行程式處理的工作者。此外,學生、藝術家、設計師、建築師、研究員以及有興趣的人,也可以用來學習,開發原型及製作

[5] 啟動程式(boot loader)位於電腦或其他計算機應用上,是指引導操作系統啟動的程式。
[6]自恢復保險絲是一種過流電子保護元件,採用高分子有機聚合物在高壓、高溫,硫化反應的條件下,攙加導電粒子材料後,經過特殊的生產方法製造而成。Ps. PPTC(PolyerPositiveTemperature Coefficent)也叫自恢復保險絲。嚴格意義講:PPTC不是自恢復保險絲,ResettableFuse才是自恢復保險絲。

沒有留言:

張貼留言