【導(dǎo)讀】M5Stack是一個模塊化、可堆疊和可編程的開發(fā)模塊,專為快速輕松地構(gòu)建物聯(lián)網(wǎng)項目和創(chuàng)建原型而設(shè)計。該模塊基于ESP32 微控制器,帶有各種傳感器、輸入、輸出和彩色液晶顯示器 (LCD)。此外,M5Stack 內(nèi)核采用矩形模塊封裝,尺寸為 54 x 54 x 18 mm,并配有 2 英寸薄膜晶體管 (TFT) LCD。
M5Stack是一個模塊化、可堆疊和可編程的開發(fā)模塊,專為快速輕松地構(gòu)建物聯(lián)網(wǎng)項目和創(chuàng)建原型而設(shè)計。該模塊基于ESP32 微控制器,帶有各種傳感器、輸入、輸出和彩色液晶顯示器 (LCD)。此外,M5Stack 內(nèi)核采用矩形模塊封裝,尺寸為 54 x 54 x 18 mm,并配有 2 英寸薄膜晶體管 (TFT) LCD。
如前所述,該裝置有多個輸入和輸出選項,例如三個按鈕、一個揚聲器和一個 microSD 卡插槽。圖 1 說明了 M5Stack 內(nèi)核。
圖1.M5Stack 。圖片由M5Stack提供
M5Stack 內(nèi)核獨特的功能之一是其模塊化設(shè)計生態(tài)系統(tǒng)。該模塊可以輕松地與其他 M5Stack 模塊堆疊,允許用戶添加額外的功能并擴展其項目的功能。M5Stack 模塊化生態(tài)系統(tǒng)提供各種模塊,例如攝像頭、GPS 和電池模塊單元。
在本文中,我們將探討 采用 M5Stack 內(nèi)核的角度傳感器和伺服電機單元。這個動手項目的成果是構(gòu)建了一個基于電位器的伺服電機控制器,帶有 M5Stack TFT 顯示器。
項目概覽——了解人機交互 (HCI)
基于 M5Stack 電位器的伺服電機控制器項目將展示使用現(xiàn)成的電子產(chǎn)品和軟件構(gòu)建人機交互 (HCI) 設(shè)備的多功能性和易用性。該項目的目的是說明如何使用基于 ESP32 的小型控制器實現(xiàn)人機交互等 HCI 概念。基于 ESP32 的平臺將與機電對象進行人機交互。該項目將使讀者了解如何使用 M5Stack 的 TFT LCD 從機電系統(tǒng)顯示和獲取交互數(shù)據(jù)。此類數(shù)據(jù)可用于使用Python、PyTorch 和 Pandas 等編程語言探索網(wǎng)絡(luò)物理系統(tǒng) (CPS) 的機器學(xué)習(xí)概念。
作為本項目的關(guān)鍵技術(shù),推薦參考M5Stack電子藍圖書。更具體地說,第二章“M5Stack 單元動手實踐”提供了對 ESP32 模塊化控制器和可編程傳感和控制單元的電子電路和設(shè)置的技術(shù)見解。本書還包括動手項目和互動測驗以吸引讀者?;旧希梢詫⒋隧椖恳暈楸緯难由?;因此,本項目將不解釋詳細的軟件設(shè)置說明。
設(shè)置 M5Stack
該項目的總體概念是說明使用 M5Stack 內(nèi)核作為主要 ESP32 嵌入式平臺的小型伺服電機控制器的原型構(gòu)建。該項目的初始設(shè)置是添加一個外部電位器來控制伺服電機。電位器將向 M5Stack 內(nèi)核提供旋轉(zhuǎn)信息。然后,M5Stack 將模擬分壓數(shù)據(jù)轉(zhuǎn)換為等效脈寬調(diào)制 (PWM)控制信號,從而操作電氣有線伺服電機。圖 2 顯示了原型的系統(tǒng)框圖。
圖 2.基于 M5Stack 電位器的伺服電機控制系統(tǒng)框圖。
接下來,使用與角度傳感器相同的內(nèi)部電子元件,將電位器電路連接到 M5Stack 的 ESP32 微控制器。M5Stack 角度傳感器由一個 1 KΩ 電阻器與一個 10 KΩ 電位計串聯(lián)而成。此電路配置提供分壓功能,允許一系列離散模擬信號值出現(xiàn)在指定的 ESP32 模數(shù)通用輸入輸出 (GPIO)引腳上。圖 3 顯示了 M5Stack 角度傳感器。
圖 3. M5Stack 角度傳感器單元。圖片由M5Stack提供
此外,該電路方法允許電位器相對于地的輸出電壓為 +3.3 V,而且 ESP32 微控制器的 GPIO 引腳符合 +3.3 V 標(biāo)準(zhǔn)。因此分壓電路的輸出電壓+3.3V不會損壞ESP32單片機。自制角度傳感器的電子電路原理圖如圖 4 所示。
圖 4.自制角度傳感器電子電路原理圖。
請注意,J1 參考標(biāo)志代表焊接到角度傳感器 PCB 上的四針母連接器。
從這里,您可以使用圖 5 中所示的電氣接線圖作為參考將自制軟件角度傳感器連接到 M5Stack ,從而在無焊面包板上連接電子電路。
圖 5.自制角度傳感器無焊面包板圖。
請記住,可以使用 UiFlow 軟件設(shè)計 M5Stack 的 TFT LCD 布局——我們將在下一節(jié)中對此進行介紹。
接下來,您將使用杜邦線在 M5Stack 和自制角度傳感器無焊面包板電路之間創(chuàng)建一個延長線束。如圖 5 所示,將三根杜邦線插入白色四針母頭連接器,用于將電路與 M5Stack 控制器進行電氣連接。圖 6 說明了這種電氣布線接口連接和連接方法。
圖 6.電位器到 M5Stack 內(nèi)核的無焊面包板接線。
UiFlow軟件介紹
對于這個項目,我使用了一個名為UiFlow的程序。UiFlow 是一個軟件開發(fā)平臺,旨在簡化控制器、模塊、傳感器和單元的 M5Stack 產(chǎn)品的編程和原型制作過程。該軟件提供了一個圖形用戶界面 (GUI),用于對 M5Stack ESP32 微控制器進行編程。開發(fā)人員可以拖放代碼塊并創(chuàng)建邏輯代碼來對 ESP32 微控制器進行編程。UiFlow 允許使用在線編輯器或桌面可軟件包進行編碼。
UiFlow 在線編輯器可以從 M5Stack 網(wǎng)站獲得,網(wǎng)址如下。還有適用于 Windows、Apple 和基于 Linux 的計算機的桌面版本。
M5Stack內(nèi)核TFT LCD顯示電位器轉(zhuǎn)動數(shù)據(jù)的版圖設(shè)計如圖7所示。
圖 7.配置 M5Stack Core TFT LCD 以顯示電位器角度信息。
要了解有關(guān) UiFlow 的更多信息,您可以前往 M5Stack 電子藍圖書的第 2 章了解更多信息。
顯示電位器讀數(shù)
將電位器連接到 M5Stack 內(nèi)核后,需要軟件來顯示電氣元件的旋轉(zhuǎn)值。UiFlow 軟件將用于顯示電位器的旋轉(zhuǎn)角度(以度為單位),代碼塊包含伺服電機控制器的三個主要操作。
指令代碼塊功能包括:
? 從電位器讀取原始數(shù)據(jù)到變量
? 提供適當(dāng)?shù)目勺儽壤蜃右源_保正確的角度顯示
? 以度數(shù)顯示角度
UiFlow 代碼塊如圖 8 所示。
圖 8. UiFlow 電位器角度顯示代碼塊。
除了代碼塊之外,伺服和角度傳感器單元也包含在代碼塊調(diào)色板中。這些單元將添加一組新的代碼塊,以便在整個控制器產(chǎn)品原型中正確操作這些設(shè)備。如圖8所示,“servo_0,servo_0旋轉(zhuǎn)角度”和“獲取angle_0值”是添加到代碼塊調(diào)色板中的新單元指令。您可以通過選擇單位加號按鈕來包含這些代碼塊。從設(shè)備列表中選擇伺服和角度單元會將所需的代碼塊添加到調(diào)色板,以完成項目控制器的代碼構(gòu)建。通過選擇軟件 IDE 控制面板上的 RUN 按鈕,UiFlow 代碼塊將在 M5Stack 上執(zhí)行。
使用 UiFlow 控制伺服電機
除了顯示電位器的旋轉(zhuǎn)角度外,UiFlow 代碼塊(如圖 8 所示)還控制伺服電機。將伺服電機連接到 M5Stack 需要使用與電位器相同的電氣接線技術(shù)。部分電子電路示意圖,如圖 9 所示,說明了連接到 M5Stack ESP32 GPIO13 引腳的伺服電機電氣接線。
圖 9.部分電子電路原理圖:附在 M5Stack ESP32 微控制器上的伺服電機。
電子電路原理圖上的 J2_A 連接器代表 M5Stack 上的 A 端口。J2_B 參考標(biāo)志代表插入伺服電機黑色三針母連接器的電線跳線線束針腳。
M5Stack Core 到伺服電機的電氣接線如圖 10 所示。
圖 10. 伺服電機與 M5Stack 進行電氣連接。
完成的基于 M5Stack 電位器的伺服電機控制器原型如圖 11 所示。
圖 11.終的 M5Stack 基于電位器的伺服電機控制器原型構(gòu)建。
作為該項目的終參考,圖 12 顯示了基于 M5Stack 電位器的伺服電機控制器的完整電子電路原理圖。
圖 12.基于 M5Stack 電位器的伺服電機控制器電子電路原理圖。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。
推薦閱讀: