這本書要用mBlock玩Arduino,因此,Arduino控制板對是主角之一,至於為什麼使用mBlock來玩?我在本書的〈前言〉中有作了一些交代,我知道有許多人不太看前言,如果還沒看過,建議你去看看!接下來,我要談的有Arduino的歷史發展、Arduino控制板、擴充板的認識,如果你急著從做中學,可以先略過這個章節,不過記得,日後有時間要回頭來看看,這邊還是有些東西,值得你來瞭解!
1.1Arduino發展簡史
Arduino最初是針對不會寫程式,也不懂電子學,沒有任何技術背景的學生而設計,他們是義大利北部伊夫雷亞(Ivrea)互動設計學院(Interaction Design Institute Ivrea)的學生,身為Arduino計劃共同開發者之一的Massimo Banzi,曾在〈超越兆赫的人們〉中提到「我們給了這些學生2到4星期的時間,讓他們製作物理運算的物品,當時,市售的工具幾乎都是以工程師為對象,所以不管是配件或是跳線、接頭的數量都很多。這對學生來說,似乎太過複雜,使得學生不知道該如何處置。」為了解決這些問題,於2005年誕生的就是Arduino!
圖1.1 2005/3設計的Arduino控制板(圖片來源:http://www.arduino.cc/en/Main/ArduinoBoardSerial)
Arduino官方網站arduino.cc中,有篇〈Hardware Index〉文件列出了Arduino早期與現有的一些控制板,有興趣可以上去看看。
Arduino這名稱,相傳是11世紀北義大利國王之名,就歷史來說,Arduino Duemilanove是值得注意的一塊控制板,因為無論是硬體本身或軟體開發環境,此時都已趨穩定,然而,目前入門Arduino最常用的控制板非Arduino Uno莫屬,Uno是義大利文中「一」的意思,這名稱經常與兩件事聯想在一起,其中之一是2010年9月,發表了新一代Arduino Uno用以取代Arduino Duemilanove,另一件事是11月改版軟體開發環境時,將版本號設定代表正式版的1.0。
圖1.2 Arduino Uno控制板正面
Arduino Uno也正是本書使用的控制板,之後使用Makeblock的Me-Baseboard控制板,也是基於Arduino Uno而建立的一塊板子,其RJ25連接埠有許多腳位,都與Arduino Uno相對應,在撰寫本書的同時,最新的Arduino Uno版本為Revision 3,也就是俗稱的Arduino Uno R3,若是原廠製作的控制板,背面可以看到UNO R3字樣,如圖1.3紅色箭頭所示。
圖1.3 Arduino Uno控制板背面
圖1.3中MADE IN ITALY右邊有塊不規則白色圖案,那可不是刮傷,而是義大利地圖,用來向Arduino的誕生地致意,這個圖案也可用來判斷控制板是否為原廠製造。
目前常用的另一個控制板是Arduino Leonardo,於2012年7月推出,與Arduino Uno的主要不同處之一在於,最新的Arduino Uno使用ATmega328作為主要微控制器,並搭載另一個控制USB的ATmega16U2微控制器,預設燒錄了USB轉序列傳輸介面的程式;Arduino Leonardo的微控制器使用能力更為強大的ATmega32U4,可直接模擬USB轉序列傳輸介面,不需要額外的晶片來進行處理,這也使得Leonardo的成本降低,售價比較便宜。
除了Arduino Uno與Leonardo之外,Arduino官方還有各式各樣,針對不同功能的控制板,像是擁有更強大運算能力以及更多腳位的Arduino Mega 2560、體積微小的Arduino Nano等,在Arduino官方網站〈Products〉上有各控制板的詳細介紹,有興趣的可以上去看看。
圖1.4 各式各樣Arduino控制板與擴充板
談到Arduino「官方網站」,目前大多數人都會想到arduino.cc,這網站原是由在2009年由Massimo Banzi、David Cuartielles、David Mellis、Tom Igoe與Gianluca Martino創立的Arduino LLC擁有,然而,2014年Martino與另外四位創辦人對於Arduino發展方向意見不合,因而自行創立了Arduino Srl,公司網址為arduino.org,兩間公司使用相同的Arduino商標、名稱甚至設計外觀,兩家宣稱自己是Arduino,雖然Arduino LLC控告了Arduino Srl侵權,不過,未來使用者可能很難分辨,手上的Arduino到底是哪一家的Arduino。
無論如何,本書中談到Arduino官方網站時,都是指arduino.cc;如果你對Arduino分裂的這段新聞有興趣,可以參考〈Arduino戰爭:公司分裂與新產品發布〉。
1.2Arduino擴充板與相容板
如果連上Arduino官方網站〈Products〉,可以看到網頁中有一排「SHIELDS」的介紹(圖1.4也可看到),Arduino的擴充板以Shield為命名,例如,想要Arduino具有乙太網路(Ethernet)連線能力,除了購買Arduino Ethernet之外,若已經有Arduino Uno或Mega,則可以購買Ethernet Shield,直接疊加在原有的控制板上,同理,也有WiFi Shield、GSM Shield、Motor Shield等,分別滿足不同的擴充需求。
這類Shield的特點是,底部的針腳可以支援的控制板對應,因此可以安插在控制板上,例如Proto Shield,也就是原型擴充板,可以讓你直接在上頭安插電子電路元件,有的還附有麵包板,對入門者非常有用。
圖1.5 原型擴充板與疊加在Arduino Uno上的樣子
如果連上Arduino官方網站〈Products〉,可以看到網頁中有一排「SHIELDS」的介紹(圖1.4也可看到),Arduino的擴充板以Shield為命名,例如,想要Arduino具有乙太網路(Ethernet)連線能力,除了購買Arduino Ethernet之外,若已經有Arduino Uno或Mega,則可以購買Ethernet Shield,直接疊加在原有的控制板上,同理,也有WiFi Shield、GSM Shield、Motor Shield等,分別滿足不同的擴充需求。
這類Shield的特點是,底部的針腳可以支援的控制板對應,因此可以安插在控制板上,例如Proto Shield,也就是原型擴充板,可以讓你直接在上頭安插電子電路元件,有的還附有麵包板,對入門者非常有用。
Arduino的精神之一是「開放」,除了 軟體開發環境 本身是開放開始碼之外 ,硬體也是開放,任何人都可以下載Arduino控制板的電子電路圖,按圖自行組建或改進電路,以Arduino Uno為例,可以在〈Arduino Uno〉頁面中找到它的電子電路圖,許多廠商也自行製造了Arduino的相容控制板進行銷售。
Arduino是商標名稱,Arduino原廠製作的控制板、擴充板等產品,當然可以冠上Arduino這個名稱,而各廠商銷售的相容控制板,必須在遵守〈Arduino - Policy〉,才能使用Arduino這個名稱。
通常,與Arduino官方控制板對應的相容板,在售價比較便宜,以Arduino Uno為例,原廠控制板約新臺幣800塊左右,而其相容板會因用料、製作過程等因素而價格不一,最常見的價位約在300元上下,對預算有限,或者是不在乎是否原廠製造的人來說,非常有價格上的優勢。
圖1.6 Arduino Uno的原廠與相容控制板
目前來說,原廠製造的控制板,正面與背面都會標上MADE IN ITALY字樣,並會附在一個紙盒包裝中,包裝盒中有份說明書與貼紙,而相容板通常只會附在一個防靜電的塑膠套中,有的甚至沒有任何包裝。
圖1.7 Arduino Uno原廠包裝盒
實際上,有些相容板做的不錯,在用料與印刷上,皆依原廠公佈的為主,然而,對於第一次接觸Arduino的人來說,如果預算許可,我會建議有一片原廠製作的控制板,之後採購時再考慮相容板,這樣的好處是,如果日後懷疑是相容板問題,才使得預期之功能無法呈現時,可以用原廠控制板先排除相容板出問題的可能性。
在Arduino官方網站上有篇〈How to spot a counterfeit Arduino〉,說明了幾個分辨原廠控制板與盜版(未遵守Arduino策略卻標示Arduino字樣 )的方式,在意手中的板子是否為原廠製造時,可以參考一下。
在撰寫本書時,Arduino Uno原廠控制板正反面會有MADE IN ITALY字樣,不過之後就不一定了,Arduino創辦人間的分裂戰爭 是原因之一 ,而2015/5時Arduino.cc與Adafruit擴大合作,Adafruit在紐約的工廠將為Arduino生產控制板,也就是說,日後原廠控制板上,可能也會看到MADE IN USA字樣,時Arduino.cc與Adafruit合作的產品,在美國以外地區銷售的Arduino,也將使用Genuino這個姐妹品牌,詳情可以參考〈Arduino與Adafruit聯手製造產品,發表新品牌Genuino〉。
有的相容板除了相容對應的原廠控制板之外,還在上頭附加了其他的功能,這類相容板功能各式各樣,例如,Motoduino是相容於Arduino duemilanove,並結合了L293D馬達驅動晶片的一塊控制板,可以驅動兩顆直流馬達,並可控制馬達轉速,在製作自走車時更為方便。
圖1.8 Motoduino控制板
本書第七章會使用Makeblock的Me-Baseboard控制板,則是相容於Arduino Uno的控制板,上頭提供了直流馬達連接埠、蜂鳴器,並將各腳位對應至八個RJ25連接埠,對於不熟電子電路,不擅於自行接線的Arduino入門者來說相當方便。
圖1.9 Me-Baseboard控制板(圖片來源:http://learn.makeblock.cc/orion/)
Makeblock也有生產Me UNO Shield,這個擴充板可以疊加在Arduino Uno之上,以便銜接Makeblock基於RJ25的各種感應器。
圖1.10 Me UNO Shield擴充板疊加在Arduino Uno上的樣子
要到哪邊買控制板?尋找有信譽的賣家是必要的,如果想要購買原廠控制板,又不想買到假貨,可以到Arduino官方網站〈Distributors〉中查看認可的經銷商,在本書撰寫時,當中Taiwan列出的銷售商有:
- PlayRobot飆機器ARoboto(http://www.playrobot.com/)
- ARoboto藝科資訊(http://www.aroboto.com/shop/)
- ICshop電子零件材料(http://www.icshop.com.tw/)
- Twarm德源科技(http://twarm.com/commerce/)
- ICT智控科技(http://www.ict.com.tw/)
除了Arduino控制板之外,你還需要一些電線、電阻、電晶體等材料,如果一開始不知道要買什麼,或者不想零零散散個別採購,那麼可以考慮這些銷售商中的學習套件組合,這不會比自己去採購個別材料便宜,不過,在初入門時,可以節省時間,省去不少麻煩,等到有點心得了,你自然就會知道該怎麼進一步選購需要的材料了。
本書第七章會使用到Makeblock的Me-Baseboard控制板與相關感測器,這包括在「發明者電子套組」之中,Makeblock的控制板或者相關感測器,在臺灣的代理商為:
- Gmii全佑電腦(http://www.gmii.net/)