創客提供簡單卻實用的使用者介面方案
資料提供者:DigiKey 歐洲編輯群
2017-07-19
Arduino 系列等小型電腦板不僅僅是寶貴的教學工具。其生態系統已經獲得專業工程師熱情採納,用來克服眾多感測和控制難題,包括從簡單的連線感測器,到機械或簡易機器人內的控制馬達或致動器等項目。Arduino 微控制器板和 I/O 或馬達驅動擴充板的結合,可以滿足專案的動作控制需求。Arduino 等生態系統在本質上採用開放原始碼,意這表示網路上有許多已經發佈的專案,可當作客製化應用的開發基礎。製造商網站或獨立的 GitHub 也會提供許多資源可取得預先編寫的程式碼。圖 1 為截錄一段取自 GitHub 的程式碼,可用來控制 Arduino 架構機器人。
圖 1:開發人員社群提供平台,可尋找並分享開放原始碼專案的程式碼。
使用者介面的選擇
除了連接之外,也需要使用者介面。機械手臂或電動探針等設備要進行基本操作,例如向前/向後、向左/向右或順時針/逆時針旋轉等,需要的可能不只是一套控制功能而已。
智慧型手機應用程式?
有個解決方案是使用智慧型手機,作為主要的使用者介面控制器。智慧型手機已經廣泛運用在消費者需要與智慧型「物件」互動的情況,例如家用暖氣或照明系統、安全裝置或無人機等。智慧型手機有許多優點,包括以高解析度彩色螢幕顯示吸引人的儀表、複雜的多點觸控功能,和多種連線能力,包含行動網路、Wi-Fi® 和 Bluetooth® 等。這些裝置無所不在,只需載入一個專為搭配新產品而設計的應用程式,就可以輕鬆變成合適的控制器。
然而,對於某些專案來說,開發客製化應用程式可能很昂貴且耗時,而且不屬於開發團隊的核心技能。
Google Play 商店提供數款 Android 應用程式,可透過使用智慧型手機的藍牙功能控制 Arduino 架構機器人。因此開發人員能免費或以低價格享有多種可下載且已製作完成的使用者介面。然而,這些應用程式通常為無線電控制玩具而設計,因而外觀和體驗可能並不完全符合最終應用。另一方面,某些應用程式 (如 Arduino BT Joystick) 採用樸實圖像塑造專業樣貌,或者 (如 RemoteXY) 可以自由地個別配置旋鈕、按鈕和滑桿。
利用硬體使用者輸入模組進行開發
市面上有多種模組可用來幫助建立客製化的控制面板,並且簡化硬體和機械設計難題。這包括各種搖桿與按鈕的組合。這些模組非常適合控制各個方向的移動,並且可以透過多種方式輕鬆地連接到微控制器板。此外也有幾個作法是添加無線電模組以便實作無線遠端控制,進而提供可媲美智慧型手機的便利性。
SparkFun 的 COM-09032 姆指搖桿將前進/後退和向左/向右移動轉換為類比電壓,並整合了一個按鈕可當作「選擇」輸入,不受搖桿方向影響。此裝置具有專屬分接板,僅使用以下五條電線連接主機:電源、地線、X 和 Y 輸出電壓,以及「選擇」按鈕狀態。SparkFun 亦提供範例程式碼,可讀取搖桿的輸入電壓,並以數位值的方式進行序列輸出 (圖 2)。
圖 2:Arduino 範例程式碼從 SparkFun 搖桿讀取值。
連接到其他硬體生態系統
也有其他製造商提供搖桿模組,可使用如圖 2 範例般的軟體輕鬆接到 Arduino 板。或者也可連接到其他硬體生態系統,這進一步擴大了開發者的選擇。Maxim 的 MAXREFDES72 配接器提供範例,能讓 Arduino 使用者將週邊模組從 PMod™ 生態系統連接到專案。PMod 的便利介面能讓開發人員存取多種模組,不僅包括 Digilent 的 JSTK2 PMod™ 搖桿模組,還包括 Digilent 的 PmodBTN 按鈕開關模組 (含有四個用於使用者控制功能的開關),以及其他許多模組,包括 16 個按鈕的鍵盤。
多功能合一控制板
搖桿和按鈕是經證實的有效組合,能控制多種可能的使用者輸入 - 問任何電玩愛好者就知道!典型遊戲控制器的的佈局和功能,會將搖桿放在按鈕旁邊,這樣相當直覺,而且非常適合執行一些命令,如移動、定位以及驅動高架、機械手臂或夾具等機構。
DFRobot 的 DFR0008 提供一個搖桿和四個顏色編碼的按鈕,並完整組裝成一個模組,並提供額外的排針座,以連接 XBee 無線電模組。DFR008 能讓開發人員利用 XBee 生態系統的優勢,簡化從市面上多種 XBee 模組中挑選以便加入無線連線能力的過程。這些模組包括 Digi 的 XB24-API-001 IEEE 802.15.4 2.4 GHz 無線電板,以及可在歐洲免執照使用的 XB8-DMUS-002 sub-GHz 868 MHz 模組。
對於希望在 Arduino 專案中嘗試使用 XBee 無線連線能力的開發人員來說,Digi 的 XBee/Arduino 教育套裝包含了 Arduino 微控制器板、多種 XBee 模組,以及按鈕和搖桿模組,是構建多種使用者介面的理想選擇。XBee 使用者還可享有眾多開發資源,包括軟體工具和範例程式碼,以協助其進行開發。
對 GUI 的挑選保持開放
開放原始碼生態系統亦可讓開發者自由地以高水準發揮其技術技能,例如使用 4D Systems 的 ULCD-32PTU-AR 3.2 吋彩色 TFT 搭配整合式電阻式觸控螢幕等模組,開發專屬的嵌入式圖形使用者介面。此套裝隨附一個配接器,可透過標準排針座連接到 Arduino 板,並提供纜線,可將配接器接到顯示器。Arduino 排針座仍可自由添加其他 Arduino 擴充板,如無線電模組。此外也提供多個工具組,專門用來簡化圖形使用者介面的開發作業。這些工具組包括用於開發程式碼的入門級環境、稱為 ViSi 的圖形化設計工具 (能以點選和置放物件的方式協助產生程式碼),以及進階的 ViSi-Genie 環境。在 ViSi-Genie 中,使用者只需放置物件、設定驅動物件的事件,即可自動產生程式碼。
結論
在創客界中,專案要成功的方法相當多。目前有許多範例和套件可用來幫助開發人員克服嚴峻挑戰,並且讓軟體在目標硬體上運行。
可以透過藍牙連接智慧型手機應用程式,來設定用於處理移動控制和致動的使用者輸入裝置,或者可以使用硬體作為單獨模組或完全整合的搖桿/開關擴充板來設定該裝置。開發人員還可利用 PMod 和 XBee 等其他生態系統的輸入裝置或無線模組所提供的優勢,開拓更多通往專案成功的道路。這些模組價格實惠,且容易透過開放原始碼社群中的程式碼和技術知識進行整合。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。