市面上約有數(shù)百種資源專門面向“創(chuàng)客”,這些人希望學(xué)習(xí)如何構(gòu)建設(shè)備,以此感知并響應(yīng)周圍環(huán)境。事實證明,對于非工程師和工程師而言,這是一種創(chuàng)造性的亞文化——倡導(dǎo)每個人都參與學(xué)習(xí)、相互指導(dǎo),融入這個由電子產(chǎn)品、控制系統(tǒng)、微型計算機(jī)、傳感器和致動器構(gòu)成的世界。想要涉足這個世界,最簡單的方法之一是使用創(chuàng)客代表Arduino推出的入門套件。
Arduino 的微控制器板及其相關(guān)軟件在其開源硬件和軟件社區(qū)推廣銷售。這些電子電路板具有微控制器,支持隨機(jī)存取存儲器 (RAM)、只讀存儲器 (ROM) 和集成電路 (IC),形成開源電子原型開發(fā)平臺。這些平臺包含所有必需的組件,發(fā)燒友公眾號回復(fù)資料和郵箱地址可以獲取電子資料一份。可供完成一系列具有完善文檔說明的創(chuàng)客項目。
本文作者(一名工程師)基于個人經(jīng)驗對Arduino 入門套件作了相關(guān)介紹。
Arduino 入門套件
Arduino 入門套件包含啟動和運行 15 個項目所需的所有組件(圖 1)。
圖 1:Arduino 入門套件結(jié)合 Arduino UNO 微控制器板與一系列電子元器件,并隨附一本 171 頁的“Arduino Projects Book”(《Arduino 項目手冊》),為用戶開啟互動電子產(chǎn)品世界的大門。(圖片來源:Arduino)
該入門套件使用常用的Arduino UNO微控制器板,該板基于Microchip Technology的ATmega328P微控制器 IC(圖 2)。
圖 2:Arduino UNO 板包含支持 ATmega328P 微控制器所需的所有元件。(圖片來源:Arduino,Digi-Key Electronics 注釋)
UNO 板具有 14 個數(shù)字輸入/輸出引腳,其中 6 個支持脈沖寬度調(diào)制 (PWM) 以控制 LED 亮度和音量。此外,還有 6 個模擬輸入由逐次逼近型模數(shù)轉(zhuǎn)換器 (ADC) 提供支持;該轉(zhuǎn)換器具有 10 位分辨率,全分辨率下的轉(zhuǎn)換速率為 15 kS/s。內(nèi)置時鐘具有獨立的 16 MHz 石英晶體。為便于連接計算機(jī),還提供 USB 端口。用戶既可以選擇由 USB 端口供電,也可通過板載電源插孔供電,該電路板可自動選擇電源。
雖然 UNO 的板載引導(dǎo)程序可用于正常編程,但也可通過旁路繞過,從而可通過在線串行編程 (ICSP) 接口對微控制器進(jìn)行編程。最后,UNO 板具有復(fù)位按鈕,必要時可以輕松恢復(fù)默認(rèn)狀態(tài)。
ATmega328P 處理器是一款低功耗 8 位微控制器,采用增強(qiáng)型精簡指令集計算機(jī) (RISC) 架構(gòu)(圖 3)。RISC 架構(gòu)使用單時鐘周期指令,因而執(zhí)行吞吐率相當(dāng)高。
圖 3:Arduino UNO 使用的 8 位 ATmega328P 微控制器功能框圖。該電路板基于 RISC 架構(gòu),使用單周期指令,執(zhí)行速度快。(圖片來源:Microchip Technology)
ATmega328P 的板載存儲器采用非易失性存儲器區(qū)塊形式,包括 32 KB 的閃存程序存儲器,1 KB 的電可擦除可編程只讀存儲器 (EEPROM),以及 2 KB 的靜態(tài)隨機(jī)存取存儲器 (SRAM)。Arduino UNO 的 ATmega328 可通過引導(dǎo)程序預(yù)編程,讓用戶可以直接上傳新代碼,無需使用外部硬件編程器。引導(dǎo)程序占用 500 字節(jié)閃存程序存儲器。該芯片包含多個串行數(shù)據(jù)接口,包括通用異步接收器發(fā)送器 (UART)、串行外設(shè)接口 (SPI) 和雙線接口,即內(nèi)部集成電路 (I2C) 總線。
Arduino 入門套件有五種不同的語言版本。該套件包含 Arduino UNO 微控制器板和構(gòu)建 15 個不同項目所需的所有組件。171 頁的 Arduino Projects Book 可指導(dǎo)用戶完成這些項目。這本書介紹了使用 Arduino UNO 作為所有項目核心所需的硬件和軟件元素。
清晰解釋設(shè)備和術(shù)語
初涉電子和編程世界時,初學(xué)者經(jīng)常遇到的問題之一就是對相關(guān)設(shè)備和術(shù)語不熟悉。Arduino Projects Book 一書開篇就介紹了套件中的各種元器件,包括 134 種電子元器件以及 Arduino UNO 板,從而解決了這一問題。在這一章節(jié)中,展示了每種元器件的圖片,并分別描述了器件功能。該章節(jié)的末尾列出了各種元器件的原理圖符號。
由于初學(xué)者可能還不熟悉電子原型開發(fā)板或試驗板,因此該手冊用一個章節(jié)詳細(xì)說明了如何在隨附的試驗板上以無焊接方式連接組件。該章節(jié)以圖示描繪了試驗板的導(dǎo)電條,并說明了電源總線的運行方式。用戶若是首次使用套件中的原型開發(fā)板,就能以此消除困惑。
Projects Book 介紹了一般元器件后,簡要概述了 UNO 板的布局,其中著重介紹了電路板的接口、指示器和交互式開關(guān)。該章節(jié)中列舉的硬件術(shù)語表涵蓋了后續(xù)章節(jié)中使用的術(shù)語。
下一章節(jié)介紹了在 Windows、Mac 或 Linux 操作系統(tǒng)中設(shè)置 Arduino 軟件的基本方法。使用的主要軟件是Arduino 集成開發(fā)環(huán)境(IDE),可以從 Arduino 網(wǎng)站下載。IDE 軟件環(huán)境中創(chuàng)建的可執(zhí)行代碼可直接加載至 Arduino UNO 板。
著手構(gòu)建項目
加載 IDE 軟件后,該手冊介紹了通過 USB 連接建立主機(jī)與 UNO 板通信的具體步驟。此外,如果遇到任何困難,該手冊也提供了 Arduino 故障排除和 IDE 參考章節(jié)的相關(guān)參考鏈接。此時,用戶就可以開始構(gòu)建項目了。
針對每個項目,手冊中都詳細(xì)說明了如何選擇所需的元器件(每個項目都專門以圖示列出各組件)以及如何在原型開發(fā)板上連接各組件。例如,項目 02 稱作“太空船界面”,連接一個開關(guān)和三個 LED,創(chuàng)建“控制面板”,按下開關(guān)即可確定觸發(fā)哪個 LED。該手冊中的每個項目說明中都提供了完成該項目所需的預(yù)計用時 - 這個項目為 45 分鐘。項目 02 的“組件列表”包括一個按鈕開關(guān)、三個 LED、三個 220 Ω 電阻和一個 10 kΩ 電阻。在原型開發(fā)試驗板上,可使用已剝皮的預(yù)截斷跨接線來連接電路。該章節(jié)特地使用一頁的篇幅,指導(dǎo)初學(xué)者如何識別電阻的顏色代碼,以便將來獨立構(gòu)建項目時使用。
電路接線與 Projects Book 插圖,如圖 4 所示。Project Book 顯示了實物接線圖和原理圖。通過比較兩張圖片,用戶可快速學(xué)習(xí)原理圖符號的含義以及如何連接各組件。
圖 4:Projects Book 的接線說明和原型開發(fā)板與 UNO 板的實際接線。相關(guān)說明以實物圖和原理圖兩種形式呈現(xiàn)。(圖片來源:Digi-Key Electronics)
軟件是構(gòu)建該項目的最后階段。Arduino UNO 板的 ATmega328P 等微控制器使用的編程指令較為低級,即機(jī)器代碼。機(jī)器代碼本質(zhì)上是用于控制內(nèi)部硬件的一系列二進(jìn)制數(shù)。但是,機(jī)器代碼無需手動編寫。系統(tǒng)使用高級語言編程,然后分幾步轉(zhuǎn)換為微控制器可處理的二進(jìn)制命令,從而顯著簡化編程過程。如前所述,用于執(zhí)行該操作的工具是 Arduino 集成 IDE。
項目 02 對軟件代碼作了進(jìn)一步說明,Arduino 將其稱作“草圖”。其中詳細(xì)介紹草圖的每個必需步驟,解釋編碼語句將執(zhí)行的操作(圖 5)。
圖 5:Arduino IDE 程序編輯器中的項目 02 程序或“草圖”。(圖片來源:Digi-Key Electronics)
用戶可以手動輸入代碼,也可以從“File”(文件)下拉菜單下載代碼(圖 6)。
圖 6:Arduino IDE 中提供了所有項目的草圖。用戶可以選擇相應(yīng)草圖或手動輸入代碼(若需要)。(圖片來源:Digi-Key Electronics)
輸入代碼后,可以在 IDE 界面中的“Sketch”(草圖)下拉菜單,使用“Verify/Compile”(驗證/編譯)進(jìn)行編譯。編譯器將檢查代碼的語法及其他錯誤。編譯完成后,IDE 界面將有所指示,此時即可將代碼加載到 UNO 板的閃存程序存儲器中。加載功能也可從“Sketch”(草圖)下拉菜單啟動。UNO 板編程完畢后,綠色 LED 點亮。按下按鈕開關(guān),綠色 LED 熄滅,紅色 LED 閃爍。
以上步驟雖簡單卻隱含了大量編程技巧,如匯編、鏈接和加載,將高級命令轉(zhuǎn)譯為二進(jìn)制代碼以運行微控制器。隨著時間和經(jīng)驗的累積,初學(xué)者將獲得這些知識,但此時無需多慮,盡管享受個中樂趣。
此時,Projects Book 提出一些問題,讓用戶思考如何修改程序,并邀請用戶使用草圖測試程序。隨著用戶參照手冊實踐的項目增多,電路和程序的復(fù)雜性也相應(yīng)增加,從而使用戶累積更多經(jīng)驗,擴(kuò)大知識面。
總結(jié)
憑借開源原型開發(fā)平臺、各種電子元器件和易用型軟件,Arduino 入門套件擁有工程師和非工程師初涉電子創(chuàng)客世界所需的所有工具。
-
DRAM
+關(guān)注
關(guān)注
40文章
2316瀏覽量
183579 -
Arduino
+關(guān)注
關(guān)注
188文章
6471瀏覽量
187238 -
創(chuàng)客
+關(guān)注
關(guān)注
4文章
133瀏覽量
44544
發(fā)布評論請先 登錄
相關(guān)推薦
評論