本文介紹如何使用新的盒子套件 SensorTile.box PRO 建立自訂遊戲控制器。控制器將透過藍牙®低功耗 (BLE) 提供數據,特別是方向和按鈕狀態數據。為了獲取方向數據,使用了感測器融合低功耗功能。若要取得按鈕狀態數據,請使用 Qvar 功能。 LSM6DSV16X 感測器中包含這兩種功能。如果遊戲無法直接處理來自 BLE 的數據,則可以使用橋接器將通訊從 BLE 轉換為 VCOM。使用 SensorTile.box PRO 作為控制器的本教學遊戲的輸出如以下影片所示。
硬體先決條件
- SensorTile.box PRO 作為控制器。 STEVAL-MKBOXPRO (SensorTile.box PRO) 是一款即用型可程式無線盒套件,用於開發基於遠端資料收集和評估的任何物聯網應用。透過利用運動和環境數據感測以及數位麥克風,充分發揮套件的潛力。增強您所處的任何環境的連接性和智慧性。
- P-NUCLEO-WB55 用作 BLE 到 VCOM 的橋接器。 P-NUCLEO-WB55 套件是一款多協定無線超低功耗設備。嵌入功能強大的超低功耗無線電,符合藍牙®低功耗 (BLE) SIG 規範 v5.0 和 IEEE 802.15.4-2011。
- [可選] SensorTile.box PRO 的3D 列印外殼,可根據您選擇的設計提供更好的抓握力。
- 1x USB 轉 USB Type-C®,用於將韌體從 PC 閃存到 SensorTile.box PRO。
- 1x USB 轉 micro USB,可將韌體從 PC 快閃記憶體到 P-NUCLEO-WB55。
軟體先決條件
- FP-SNS-STBOX1- FP-SNS-STBOX1 是適用於box 無線多感測器開發套件專業模式的 STM32Cube 功能套件。 STWIN.box - SensorTile,以及適用於任何智慧物聯網節點的 Sensortile.box pro 多感測器和無線連接開發套件。
- 本教學是使用套件版本5.0 建立的
- STM32CubeWB- 適用於 STM32WB 系列的 STM32Cube MCU 套件(HAL、低層 API 和 CMSIS、USB、檔案系統、RTOS、BLE、Thread 和 Zigbee 堆疊,以及在 STMicroElectronics 板上運行的範例)。
- 本教學是使用套件版本16.0 建立的
- 軟體包支援的程式設計IDE(例如STM32CubeIDE、IAR EWARM等)
- 您的客製化遊戲。在這段 YouTube 影片中,使用了基於虛幻引擎的遊戲,透過 SerialCOM 外掛程式讀取 VCOM 資料並控制遊戲。
為 SensorTile.box PRO 建立韌體(透過 BLE 傳送方向和按鈕狀態資料)
此韌體基於FP-SNS-STBOX1套件中提供的BLEDualProgram範例。此範例可在套件中的下列路徑中找到:STM32CubeFunctionPack_STBOX1_V1.5.0\Projects\STM32U585AI-SensorTile.boxPro\Applications\BLEDualProgram。
在這個專案中我們修改了九個文件:
- main.h和main.c
- BLE_Implementation.h和BLE_Implementation.c
- BLE_Manager_Conf.h
- SensorTileBoxPro_conf.h
- STBOX1_config.h
- stm32u5xx_hal_msp.c
- stm32u5xx_it.c
並新增了兩個新檔案:
- TargetPlatform.h和TargetPlatform.c
結論
在本文中,我們描述如何使用 SensorTile.box PRO 作為遊戲控制器。可選擇使用 P-NUCLEO-WB55 透過 BLE 接收資料並透過 COM 連接埠進一步發送它們。 SensorTile.box PRO 的可能性非常靈活,使用者可以進一步調整韌體,以使遊戲控制器適應不同的遊戲或用例。
參考來源