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