市面上約有數百種資源專門面向“創客”,這些人希望學習如何構建設備,以此感知并響應周圍環境。事實證明,對于非工程師和工程師而言,這是一種創造性的亞文化——倡導每個人都參與學習、相互指導,融入這個由電子產品、控制系統、微型計算機、傳感器和致動器構成的世界。想要涉足這個世界,最簡單的方法之一是使用創客代表Arduino推出的入門套件。
Arduino 的微控制器板及其相關軟件在其開源硬件和軟件社區推廣銷售。這些電子電路板具有微控制器,支持隨機存取存儲器 (RAM)、只讀存儲器 (ROM) 和集成電路 (IC),形成開源電子原型開發平臺。這些平臺包含所有必需的組件,發燒友公眾號回復資料和郵箱地址可以獲取電子資料一份。可供完成一系列具有完善文檔說明的創客項目。
本文作者(一名工程師)基于個人經驗對Arduino 入門套件作了相關介紹。
Arduino 入門套件
Arduino 入門套件包含啟動和運行 15 個項目所需的所有組件(圖 1)。
圖 1:Arduino 入門套件結合 Arduino UNO 微控制器板與一系列電子元器件,并隨附一本 171 頁的“Arduino Projects Book”(《Arduino 項目手冊》),為用戶開啟互動電子產品世界的大門。(圖片來源:Arduino)
該入門套件使用常用的Arduino UNO微控制器板,該板基于Microchip Technology的ATmega328P微控制器 IC(圖 2)。
圖 2:Arduino UNO 板包含支持 ATmega328P 微控制器所需的所有元件。(圖片來源:Arduino,Digi-Key Electronics 注釋)
UNO 板具有 14 個數字輸入/輸出引腳,其中 6 個支持脈沖寬度調制 (PWM) 以控制 LED 亮度和音量。此外,還有 6 個模擬輸入由逐次逼近型模數轉換器 (ADC) 提供支持;該轉換器具有 10 位分辨率,全分辨率下的轉換速率為 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 Projects Book 可指導用戶完成這些項目。這本書介紹了使用 Arduino UNO 作為所有項目核心所需的硬件和軟件元素。
清晰解釋設備和術語
初涉電子和編程世界時,初學者經常遇到的問題之一就是對相關設備和術語不熟悉。Arduino Projects Book 一書開篇就介紹了套件中的各種元器件,包括 134 種電子元器件以及 Arduino UNO 板,從而解決了這一問題。在這一章節中,展示了每種元器件的圖片,并分別描述了器件功能。該章節的末尾列出了各種元器件的原理圖符號。
由于初學者可能還不熟悉電子原型開發板或試驗板,因此該手冊用一個章節詳細說明了如何在隨附的試驗板上以無焊接方式連接組件。該章節以圖示描繪了試驗板的導電條,并說明了電源總線的運行方式。用戶若是首次使用套件中的原型開發板,就能以此消除困惑。
Projects Book 介紹了一般元器件后,簡要概述了 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Ω 電阻。在原型開發試驗板上,可使用已剝皮的預截斷跨接線來連接電路。該章節特地使用一頁的篇幅,指導初學者如何識別電阻的顏色代碼,以便將來獨立構建項目時使用。
電路接線與 Projects Book 插圖,如圖 4 所示。Project Book 顯示了實物接線圖和原理圖。通過比較兩張圖片,用戶可快速學習原理圖符號的含義以及如何連接各組件。
圖 4:Projects Book 的接線說明和原型開發板與 UNO 板的實際接線。相關說明以實物圖和原理圖兩種形式呈現。(圖片來源:Digi-Key Electronics)
軟件是構建該項目的最后階段。Arduino UNO 板的 ATmega328P 等微控制器使用的編程指令較為低級,即機器代碼。機器代碼本質上是用于控制內部硬件的一系列二進制數。但是,機器代碼無需手動編寫。系統使用高級語言編程,然后分幾步轉換為微控制器可處理的二進制命令,從而顯著簡化編程過程。如前所述,用于執行該操作的工具是 Arduino 集成 IDE。
項目 02 對軟件代碼作了進一步說明,Arduino 將其稱作“草圖”。其中詳細介紹草圖的每個必需步驟,解釋編碼語句將執行的操作(圖 5)。
圖 5:Arduino IDE 程序編輯器中的項目 02 程序或“草圖”。(圖片來源:Digi-Key Electronics)
用戶可以手動輸入代碼,也可以從“File”(文件)下拉菜單下載代碼(圖 6)。
圖 6:Arduino IDE 中提供了所有項目的草圖。用戶可以選擇相應草圖或手動輸入代碼(若需要)。(圖片來源:Digi-Key Electronics)
輸入代碼后,可以在 IDE 界面中的“Sketch”(草圖)下拉菜單,使用“Verify/Compile”(驗證/編譯)進行編譯。編譯器將檢查代碼的語法及其他錯誤。編譯完成后,IDE 界面將有所指示,此時即可將代碼加載到 UNO 板的閃存程序存儲器中。加載功能也可從“Sketch”(草圖)下拉菜單啟動。UNO 板編程完畢后,綠色 LED 點亮。按下按鈕開關,綠色 LED 熄滅,紅色 LED 閃爍。
以上步驟雖簡單卻隱含了大量編程技巧,如匯編、鏈接和加載,將高級命令轉譯為二進制代碼以運行微控制器。隨著時間和經驗的累積,初學者將獲得這些知識,但此時無需多慮,盡管享受個中樂趣。
此時,Projects Book 提出一些問題,讓用戶思考如何修改程序,并邀請用戶使用草圖測試程序。隨著用戶參照手冊實踐的項目增多,電路和程序的復雜性也相應增加,從而使用戶累積更多經驗,擴大知識面。
總結
憑借開源原型開發平臺、各種電子元器件和易用型軟件,Arduino 入門套件擁有工程師和非工程師初涉電子創客世界所需的所有工具。
-
DRAM
+關注
關注
40文章
2304瀏覽量
183324 -
Arduino
+關注
關注
187文章
6464瀏覽量
186676 -
創客
+關注
關注
4文章
133瀏覽量
44517
發布評論請先 登錄
相關推薦
評論