Arduino 系列等小型計(jì)算機(jī)板不單單是一種有價(jià)值的學(xué)習(xí)工具。專業(yè)工程師也一直積極采用該生態(tài)系統(tǒng),以應(yīng)對眾多傳感和控制挑戰(zhàn)。這些挑戰(zhàn)各不相同,從簡單的互連傳感器到控制機(jī)器或簡單機(jī)器人上的電機(jī)或致動器。Arduino 微控制器板與 I/O 或電機(jī)驅(qū)動擴(kuò)展板的組合,可以滿足項(xiàng)目的運(yùn)動控制需求。由于 Arduino 等生態(tài)系統(tǒng)的開源性質(zhì),意味著很多在線發(fā)布的項(xiàng)目為定制應(yīng)用奠定了基礎(chǔ)。在制造商網(wǎng)站或獨(dú)立 GitHub 上,都提供了很多預(yù)先編寫的代碼。圖 1 是來自 GitHub 的用于控制基于 Arduino 的機(jī)器人的代碼片段。
圖 1: 開發(fā)人員社區(qū)提供了一個(gè)平臺,用于查找和共享開源項(xiàng)目的代碼。
用戶接口選擇
在連接的另一端,需要用戶接口。機(jī)器人手臂或電動探頭等設(shè)備可能只需要對一系列的基本運(yùn)動進(jìn)行控制,例如前行/后退、左移/右移、順時(shí)針/逆時(shí)針旋轉(zhuǎn)。
智能手機(jī)應(yīng)用?
一種解決方案是使用智能手機(jī)作為主要用戶接口控制器。這種解決方案已經(jīng)得到了廣泛采用,例如在消費(fèi)者需要與智能系統(tǒng)進(jìn)行交互的應(yīng)用中,例如家庭采暖或照明系統(tǒng)、安全設(shè)備、無人機(jī)。智能手機(jī)具有諸多優(yōu)勢,例如高分辨率彩色顯示屏可以顯示具有吸引力的儀表,以及先進(jìn)的多點(diǎn)觸控功能,還有包括蜂窩、Wi-Fi? 和藍(lán)牙? 在內(nèi)的全面的連接功能。智能手機(jī)無處不在,因此只需加載新產(chǎn)品附帶提供的應(yīng)用,即可輕松將智能手機(jī)轉(zhuǎn)變?yōu)楹线m的控制器。
但是,對于某些項(xiàng)目而言,開發(fā)定制應(yīng)用可能產(chǎn)生很高成本,耗費(fèi)大量時(shí)間,而且這并非開發(fā)團(tuán)隊(duì)的專長。
多種 Android 應(yīng)用通過 Google Play 商店提供,讓用戶能夠使用智能手機(jī),通過藍(lán)牙控制基于 Arduino 的機(jī)器人。它們?yōu)殚_發(fā)人員提供了多種可下載的現(xiàn)成用戶界面,可以免費(fèi)或低成本獲取。但是,這些應(yīng)用通常適用于無線電控制型玩具,外觀和體驗(yàn)可能不太適合最終應(yīng)用。另一方面,有些應(yīng)用(例如 Arduino BT 操縱桿)顯示簡單的圖形,可以提供專業(yè)的外觀,有些應(yīng)用(例如 RemoteXY)則可以按需分別配置旋鈕、按鈕和滑動條。
使用硬件用戶輸入模塊進(jìn)行開發(fā)
有多種模塊有助于開發(fā)定制型控制面板,簡化硬件和機(jī)械設(shè)計(jì)工作。這些模塊包括操縱桿和按鈕,可以采用不同的組合形式。它們非常適合控制不同方向的運(yùn)動,可通過多種方式,簡單地連接到微控制器板。我們可以使用多種選項(xiàng)來添加無線電模塊,以實(shí)現(xiàn)無線遠(yuǎn)程控制,相對于智能手機(jī)而言,這樣可以提供更大的便利性。
SparkFun COM-09032 拇指操縱桿可將前行/后退和左移/右移運(yùn)動轉(zhuǎn)化為模擬電壓,并且集成了一個(gè)可用作“選擇”輸入且獨(dú)立于操縱桿方向的按鈕。它附帶了自身的分線板,可簡化與主機(jī)的連接,僅使用五條電線:電源、接地、X 和 Y 輸出電壓、“選擇”按鈕狀態(tài)。SparkFun 還提供了示例代碼,用于從操縱桿讀取輸入電壓,并在串行輸出端將它們顯示為數(shù)字值(圖 2)。
圖 2: 用于從 SparkFun 操縱桿讀取值的示例 Arduino 代碼
連接到其他硬件生態(tài)系統(tǒng)
其他一些制造商也提供了操縱桿模塊,它們可以使用與圖 2 示例相似的軟件,簡單地連接到 Arduino 板。另外,連接到其他硬件生態(tài)系統(tǒng),也可為開發(fā)人員提供更多樣的選擇。Maxim MAXREFDES72 適配器提供了一個(gè)示例,它讓 Arduino 用戶能夠?qū)⑼庠O(shè)模塊從 PMod? 生態(tài)系統(tǒng)連接到他們的項(xiàng)目。利用這種連接 PMod 的便利接口,開發(fā)人員能夠訪問多種模塊,不僅包括 Digilent JSTK2 PMod? 操縱桿模塊,還包括 Digilent PmodBTN 按鈕開關(guān)模塊,它的四個(gè)按鈕用于用戶控制功能,另外還有一些模塊,包括 16 按鈕鍵盤。
一體式控制板
操縱桿和按鈕是一種經(jīng)過驗(yàn)證的組合,能夠控制各種可能的用戶輸入 - 任何游戲發(fā)燒友都認(rèn)同這一點(diǎn)!典型游戲控制器的布局和功能(操縱桿位于按鈕旁邊)很直觀,非常適合各種命令,包括移動、定位、致動某個(gè)機(jī)制,例如臺架、機(jī)器人手臂、夾鉗。
DFRobot DFR0008 提供一個(gè)操縱桿和四個(gè)帶色碼的按鈕,作為一個(gè)完全組裝的模塊,為 XBee 無線電模塊提供附加針座。DFR008 讓開發(fā)人員能夠充分利用 XBee 生態(tài)系統(tǒng),從而簡化了從市場上大量 XBee 模塊中選擇并添加無線連接的工作。這些模塊包括 Digi XB24-API-001 IEEE 802.15.4 2.4 GHz 無線電板,以及 XB8-DMUS-002 sub-GHz 868 MHz 模塊,它適合在歐洲的免許可證使用。
對于希望在 Arduino 項(xiàng)目中使用 XBee 無線連接進(jìn)行試驗(yàn)的開發(fā)人員而言,Digi 的 XBee/Arduino Educational Pack 包括了 Arduino 微控制器板、可選的 XBee 模塊、按鈕和操縱桿模塊,非常適合構(gòu)建各種類型的用戶接口。XBee 用戶還可以依賴于開發(fā)資源,包括軟件工具和示例代碼,以幫助進(jìn)行開發(fā)。
保持 GUI 選項(xiàng)開放
開源生態(tài)系統(tǒng)還為開發(fā)人員提供了自由度,如果愿意,他們可以充分運(yùn)用自身的技術(shù)技能,例如使用模塊(例如帶有集成電阻觸摸屏的 4D Systems ULCD-32PTU-AR 3.2 英寸彩色 TFT)開發(fā)嵌入式圖形用戶界面。套件帶有適配器,可通過標(biāo)準(zhǔn)針座連接到 Arduino 板,還有一條電纜,用于將適配器連接到顯示屏。Arduino 針座可用于堆疊其他 Arduino 擴(kuò)展板,例如無線電模塊。我們還可使用幾種旨在簡化圖形用戶界面開發(fā)的工具集。這些工具集包括用于開發(fā)代碼的入門級環(huán)境,以及名為 ViSi 的圖形化設(shè)計(jì)工具,該工具可以通過“點(diǎn)擊放置式”的對象放置來協(xié)助生成代碼,另外還包括高級 ViSi-Genie 環(huán)境。在 ViSi-Genie 中,用戶只需放置對象,設(shè)置驅(qū)動對象的事件,即可自動生成代碼。
結(jié)論
我們可以通過多種途徑在 Maker World 中成功開展項(xiàng)目。很多示例和工具集可以幫助開發(fā)人員克服艱難的挑戰(zhàn),讓軟件在目標(biāo)硬件上投入運(yùn)行。
用戶輸入裝置用于處理運(yùn)動控制和致動,用戶可以通過藍(lán)牙來連接智能手機(jī)應(yīng)用,從而設(shè)置這些裝置,或者對其進(jìn)行配置,使用硬件作為單獨(dú)模塊或完全集成的操縱桿/開關(guān)擴(kuò)展板。開發(fā)人員還可以充分利用來自其他生態(tài)系統(tǒng)的輸入裝置或無線模塊,例如 PMod 和 XBee,它們?yōu)槲覀兂晒﹂_展項(xiàng)目提供了更多途徑。這些模塊價(jià)格實(shí)惠,憑借開源社區(qū)中的代碼和專業(yè)知識,可以輕松進(jìn)行集成。
-
智能手機(jī)
+關(guān)注
關(guān)注
66文章
18515瀏覽量
180594 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7525瀏覽量
88319 -
Arduino
+關(guān)注
關(guān)注
188文章
6474瀏覽量
187435
發(fā)布評論請先 登錄
相關(guān)推薦
評論