[LabVIEW] 使用鍵盤的 2 4 6 8 數字鍵來控制NXT機器人前進後退與左右轉


本範例使用鍵盤的 2 4 6 8 數字鍵來控制NXT機器人前進後退與左右轉,2 4 6 8 數字鍵可說是許多賽車或是射擊遊戲的預設控制鍵,操作起來相當直覺。

在LabVIEW中,2 4 6 8 數字鍵實際上是整數的78 80 82 84。您也可以改用另一組 ASWD 來控制,數字是 10, 28, 32 與 13

本範例的重點在於程式上方的 Connectivity指令取得鍵盤的狀態,使用 Array to Cluster 指令將 Aquire Input Data指令的 keys pressed 欄位拆出來之後,再使用 Ubundle by Name 指令將 cluster 拆成一個個整數純量,每一個按鍵都是由一個不同的整數所代表。接著將第一個 keys pressed [0] 這個整數連到 case structure,代表使用每次按下鍵盤按鍵所代表的數值來控制 case structure。

由於每一個鍵盤按鍵都是對應到一個整數值,所以您可以看到 case structure 的 case selector 變成了藍色,在此我們只要讓程式可以辨識到 2 4 6 8 數字鍵是否被按下即可 (當然也要設定機器人的動作),其他的按鍵都會被歸類在 ["0", Default] 這個 case 中,並讓機器人停下來。

 請注意,Aquire Input Data指令的 keys pressed 欄位所丟出的是整數陣列 (integer array),根據您按下按鍵的順序將對應的整數值放入陣列中。


延伸閱讀 [CAVE實驗室 LabVIEW for Arduino分部],使用鍵盤、滑鼠與 XBOX搖桿來控制 Arduino LED閃爍!


所以 NUMPAD_6 就設定讓機器人右轉,NUMPAD_2 後退,NUMPAD_8 前進,其他按鍵都會讓機器人停下來。您可由本頁面下方下載程式碼之後自行調整機器人的動作參數,或更改為其他的鍵盤按鍵。



ċ
鍵盤2468控制nxt.vi
(17k)
曾吉弘,
2013年12月3日 上午2:51
Comments