透過容易使用的 Arduino 入門套件踏入創客領域
資料提供者:DigiKey 北美編輯群
2019-06-25
「創客」可享用數百項專屬資源,有助其瞭解如何打造出可感測和應變周遭環境的裝置。無論是否為工程師,此現象已逐漸形成一種激發創意的次文化,所有人皆可參與其中,學習和指導有關電子、控制系統、微電腦、感測器和致動器領域的資訊。若要踏入此領域,其中一個最輕鬆的途徑便是使用創客指標廠商 Arduino 推出的入門套件。
Arduino 向開放原始碼軟硬體社群行銷微控制器板和相關軟體。這些電子電路板整合微控制器,並支援隨機存取記憶體 (RAM)、唯讀記憶體 (ROM) 和積體電路 (IC),可組成開放原始碼電子原型平台,並具有所有必要的元件,能完成一系列具有完整文件記錄的創客專案。
本文將根據作者本身擔任工程師的經驗,為您介紹 Arduino 入門套件。
Arduino 入門套件
Arduino 入門套件完整配備必要的所有項目,可立即建立並執行 15 項專案 (圖 1)。
圖 1:Arduino 入門套件包含 Arduino UNO 微控制器板以及嚴選的電子元件,更提供厚達 171 頁的《Arduino 專案書》(Arduino Projects Book),讓所有人皆可一窺互動式電子領域的奧妙。(圖片來源:Arduino)
此入門套件採用以 Microchip Technology 的 ATmega328P 微控制器 IC 為基礎的熱門 Arduino UNO 微控制器板 (圖 2)。
圖 2:Arduino UNO 板含有支援 ATmega328P 微控制器所需的一切元件。(圖片來源:Arduino;註解者:DigiKey)
UNO 板配備 14 個數位輸入/輸出引腳,其中 6 個支援脈寬調變 (PWM),可控制 LED 亮度和音量。共有六個類比輸入,可由 10 位元解析度的連續漸近型類比數位轉換器 (ADC) 提供支援,在全解析度下的轉換率為 15 kS/s。內建時脈,並配備專屬的 16 MHz 石英晶體。提供一個 USB 連接埠,可輕鬆連接電腦。可從 USB 埠供電,或透過板載電源插孔來供電。電源會自動選擇。
雖然 UNO 配備板載啟動程式可用於標準編程,但也可略過此程式,即可透過電路內序列編程 (ICSP) 排針座對微控制器進行編程。最後,UNO 板還配備重置按鈕,可視需要輕鬆回復至預設狀態。
ATmega328P 處理器是低功率 8 位元微控制器,採用增強型精簡指令集電腦 (RISC) 架構 (圖 3)。RISC 架構採用單一時脈週期執行的指令,可產生超高的執行處理量。
圖 3:Arduino UNO 使用的 8 位元 ATmega328P 微控制器功能方塊圖。採用 RISC 架構,可快速執行單一週期指令。(圖片來源:Microchip Technology)
ATmega328P 採用非揮發性記憶體區段形式的板載記憶體,包括 32 KB 的快閃程式記憶體、1 KB 的電子抹除式可編程唯讀記憶體 (EEPROM),以及 2 KB 的靜態隨機存取記憶體 (SRAM)。Arduino UNO 上的 ATmega328 已預先編程,具有啟動程式,能讓使用者上傳新的程式碼,無需使用外部硬體編程器。啟動程式會佔用 500 位元組的快閃程式記憶體。晶片內含多個序列資料介面,包括通用非同步收發器 (UART)、序列周邊裝置介面 (SPI),以及雙線介面,亦稱為內部整合電路 (I2C) 匯流排。
Arduino 入門套件支援五種不同的語言。包含 Arduino UNO 微控制器板,以及打造 15 個不同專案所需的一切元件。使用者可在厚達 171 頁的《Arduino 專案書》引導下執行這些專案。此書涵蓋 Arduino UNO 當作所有專案控制中樞時的硬體與軟體層面。
元件與術語的清晰說明
對於剛接觸電子與編程領域的初學者而言,最先遇到的難題之一就是不熟悉相關元件和術語。《Arduino 專案書》針對套件中的各種零件提供入門指南,協助使用者克服此難題,其中包括 134 種電子元件以及 Arduino UNO 板。本節將以圖片方式來顯示各類型元件,並說明其功能。本節最後還會顯示每個零件的線路圖符號。
初學者可能還不熟悉電子原型開發板或試驗電路板,本手冊其中有個章節會說明隨附的試驗電路板如何透過免焊方式來連接元件。此外還會圖解試驗電路板上的導電條模式,並說明電源匯流排的運作方式。如此即可協助初次使用套件原型開發板的使用者消除許多疑慮。
《Arduino 專案書》在說明一般零件之後會提供 UNO 板佈局概述,並著重說明有關電路板之連接、指示器和互動式開關的資訊。本節所述的硬體詞彙將用於後續章節。
下一節將針對如何在 Windows、Mac 或 Linux 作業系統上設定 Arduino 軟體提供基礎說明。使用的主要軟體是 Arduino 整合開發環境 (IDE),可自 Arduino 網站下載取得。IDE 是一種軟體環境,用於建立可上傳至 Arduino UNO 板的可執行程式碼。
開始專案
載入 IDE 軟體後即可依照指南所述的步驟,透過 USB 連線在主機電腦與 UNO 板之間建立通訊。若遇到任何問題,可利用連結查看 Arduino 故障排除章節與 IDE 參考資料章節。此後,使用者即可開始執行專案。
每個專案皆會詳細說明如何選擇必要元件 (針對每個專案以列表搭配圖解方式列出各項「材料」),以及如何在原型開發板上進行元件互連。譬如,專案 02 稱為「太空船介面」,會連接一個開關與三個 LED 的線路來建立「控制面板」,因此推動開關即可判定 LED 遵循的動作。使用者可透過手冊中的每項專案介紹,瞭解完成專案的預估時間 (本例為 45 分鐘)。專案 02 的「材料清單」包含一個按鈕開關、三個 LED、三個 220 Ω 電阻,以及一個 10 kΩ 電阻。此電路使用預先裁切且剝皮的跳線,在原型試驗電路板上進行佈線。本節中有一整頁專為初學者講述如何針對未來的獨立專案判讀電阻色碼。
圖 4 中顯示已接線電路與《Arduino 專案書》圖片。《Arduino 專案書》以圖片和線路圖型式來顯示佈線。使用者可比較兩張圖片,快速瞭解如何解讀線路圖符號和元件的互連。
圖 4:《Arduino 專案書》中的佈線說明,以及原型和 UNO 板的實際佈線。同時採用圖片與線路圖形式來顯示說明。(圖片來源:DigiKey)
本專案的軟體層面是流程的最終階段。諸如 Arduino UNO 上的 ATmega328P 等微控制器,使用稱為機器程式碼的超低階編程指令。此程式碼基本上是負責控制內部硬體的一系列二進位數字。任何人皆無需用機器語言手動編寫程式碼。程式會以更高階的語言完成,然後以數個步驟轉譯成微控制器可理解的二進位命令,進而大幅簡化編程流程。完成此工作的工具,就是前述的 Arduino 整合式 IDE。
專案 02 會繼續說明軟體程式碼的指令,Arduino 將其稱為「草稿碼」。此工具會帶領您進行草稿碼中的每個必要步驟,並說明已編碼的陳述式所要執行的動作 (圖 5)。
圖 5:Arduino IDE 程式編輯器中所示專案 02 的程式或「草稿碼」。(圖片來源:DigiKey)
使用者可手動輸入程式碼,或是透過檔案下拉功能表下載程式碼 (圖 6)。
圖 6:Arduino IDE 有提供所有專案的草稿碼。使用者可選取草稿碼或視需要手動輸入程式碼。(圖片來源:DigiKey)
輸入程式碼後,即可在 IDE 介面的 Sketch (草稿碼) 下拉式功能表中,使用 Verify/Compile (驗證/編譯) 項目來編譯程式碼。編譯器會檢查程式碼是否有語法和其他錯誤。完成編譯時 IDE 介面會發出指示,且程式碼已準備就緒,可上傳至 UNO 板上的快閃程式記憶體。使用者亦可透過 Sketch (草稿碼) 下拉式功能表來啟動上傳功能。完成 UNO 板編程後,即會開啟綠色 LED。按下按鈕開關,會導致綠色 LED 熄滅,並讓紅色 LED 閃爍。
這些簡單的步驟背後隱藏了大量的編程「技巧」,例如透過彙編、連結和載入將高階命令轉譯為二進位程式碼,以運行微控制器。初學者將隨著時間與經驗而習得知識,但目前來說,即使不具備這些知識亦可享受專案樂趣。
此時,《Arduino 專案書》會向使用者提出一些關於如何變更程式的問題,引導使用者進行草稿碼的試驗。在專案逐漸進展下,電路與程式的複雜度會跟著提升,而使用者可藉此拓展經驗與知識。
結論
Arduino 入門套件具備開放原始碼原型平台、豐富多樣的電子元件,以及容易使用的軟體,能滿足工程師與非工程師人士踏入電子創客領域的一切需求。如需瞭解更多創意及原型開發秘訣,請造訪 Maker.io 並搜尋相關專案。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。