上篇大致講述了開源硬體的發展和介紹,這次將以Arduino作為切入點,告訴大家,為什麼說他是開源硬體,並且有啥又新奇和好玩的開發應用。
Arduino的歷史
Arduino是2005年1月由米蘭交互設計學院的兩位教師David Cuartielles和Massimo Banzi聯合創建,是一塊基於開放原始代碼的Simple I/O平臺,該平臺由兩部分組成:硬體(包括微處理器、電路板等)和軟體(編程介面和語言)。平臺的兩部分都是開源的,如果需要,可以下載Arduino的圖表、購買需要的所有獨立部件、切割電路板並製作一個電路板。
Arduino具有類似java、C語言的開發環境。可以快速使用Ardu ino語言與Flash或Processing等軟體完成互動作品。Arduino能夠使用開發完成的電子元件,如Switch、Sensors或其他控制器、LED、步進電機或其他輸入/輸出裝置,同時,Arduino也可以成為獨立與軟體溝通的平臺,如flash、Processing、Max/MSP或其他互動軟體。
為什麼說Arduino是開源的呢?
Arduino在開發之初,就明確定義了其應用環境,設計了開源開放的平臺,便於對其進行二次開發。Arduino的主要功能特點如下:
1. 開放源碼的電路圖設計。程式開發介面免費下載,也可依需求自己修改。
2. 使用低價格的微處理控制器(ATmega8或ATmega128)。可以採用USB介面供電,不需外接電源,也可以使用外部9VDC輸入。
3. 支持ISP線上燒入器,將Bootloader硬體燒入晶片。Arduino控制器內帶Bootloader程式,是系統上電後運行的第一段代碼,就好比PC機BIOS中的程式,啟動就進行自檢、配置埠等等,當然,MCU是靠燒寫熔絲位來設定上電從boot區啟動的,使用這個程式就可以直接把從介面發來的程式存放到Flash區中。所以,使用Arduino編譯環境下載程式時,就先讓MCU重定,啟動Boodoader程式引導介面發過來的程式順利寫入Flash區中,Flash可以重複燒寫,因此想更新軟體非常方便。有了Bootloader之後,可以通過介面或者USB to RS232線更新硬體。
4. 可依據官方提供的PCB和SCH電路圖,簡化Arduino模組,完成獨立運作的微處理控制。
5. 可簡單地與感測器,各式各樣的電子元件連接,如紅外線、超音波、熱敏電阻、光敏電阻、伺服馬達等。
6. 支援多樣的互動程式,如Flash、Max/MSP、VVVV、PureData、C、Processing等。它使用低價格的微處理控制器。
7. 應用方面,利用Arduino,突破以往只能使用滑鼠、鍵盤、CCD等輸入的裝置的互動內容,可以更簡單地達成單人或多人遊戲互動。Ard uino的功能特點,使其得到了越來越廣泛的應用。
在瞭解了為什麼說Arduino是開源硬體平臺後,我們就來看看一些有趣的開發和應用吧:
基於Arduino開發的自動感應眼鏡
VIDEO
儘管你推眼鏡的姿勢再怎樣帥氣,貌似都比不上這個由 Ben Heck 所製作的史上最強自動太陽眼鏡,要來的讓人驚歎。首先,只要在陽光下,這個可拆卸式的自動太陽眼鏡片便能自動依據光照程度,自動蓋上墨黑色的鏡片來遮蔽強光;接著,一旦你再度回到較為昏暗的屋內時,眼鏡上的光感測器便會感應並將闔上的墨鏡自動打開。
這個感測器搭配 AT Tiny 微控制器的裝置,可以檢查出環境目前的光照狀態,並通過以 Arduino 為基礎的 AVR MKII 語法進行規則撰寫,來給予固定上鏡片的承軸關節轉動幅度的正確資訊。
雖說在整體的展示上感覺相當帥氣,但很可惜的是,由於電力需求的關係,這套自動開闔鏡片的夾式墨鏡,將需要佩戴電池包在使用者的後腦勺處 – 於是,這樣看起來好像就沒這麼帥氣了(真可惜!),但看到製作者在室內室外搖頭晃腦地玩著自己辛苦開發成果,還是相當有趣。
基於Arduino開發的Angry Birds外設
VIDEO
Angry Birds 遊戲大家應該不陌生,而玩法可謂是多種多樣,最基本的操控就是通過觸控來完成。不過現在我們看到的 Super Angry Birds 的週邊是一個新奇的玩意,它通過 USB 介面和電腦相連接。和一般觸控玩法直接拉動虛擬彈弓不同的是,這款週邊有一個真正的軌道,你可以拉動上方的小鳥,同時有一個轉軸可以調整角度,然後放開就可以發射小鳥了。此外,還附帶了一個方形的可以向下按的 TNT 觸發器,讓你實現遊戲中的小鳥分身等功能。這款設備除了我們看到的硬體外觀,還融合了的 Arduino 開源控制器。當然完美的代碼編寫也是少不了的。
臉書迷的利器
VIDEO
如果你是一個臉書迷, 用戶卻又懶得去讀一條條臉書消息的話,Adafruit 打造的這款 SocialChatter 可能就是你一直在找的東西。透過 Arduino 乙太網板和 Emic 2 Text-To-Speech(文字轉語音)模組的結合,加上對 Adafruit 旗下 Internet of Things 印表機程式碼的改進,SocialChatter 讓讀出臉書消息變成了可能。
可在此下載SocialChatter程式碼:https://github.com/dmalec/SocialChatter
(本文作者為DesignSpark部落格作家,本文經DesignSpark同意轉載)