App Inventor 2 指令中文化 NxtDirectCommands NXT 直接控制指令

NxtDirectCommands NXT 直接控制指令

功能

NxtDirectCommands 元件可藉由低階介面與樂高NXT 機器人進行通訊,並發送NXT
Direct Command。

NXT Direct Command 是樂高公司對於NXT 機器人所提供的特殊藍牙通訊規格,不需要編寫機器人端程式就可透過NXT Direct Command 直接控制樂高NXT 機器人。


屬性

BluetoothClient
欲進行通訊的BluetoothClient 元件,本項只能在Designer 中設定


方法

DeleteFile(text fileName)
NxtDirectCommands.DeleteFile : 刪除機器人上的檔案。


DownloadFile(text source, text destination)
NxtDirectCommands.DownloadFile 將檔案下載到機器人。


GetBatteryLevel
NxtDirectCommands.GetBatteryLevel 機器人目前的電池電量,單位為毫伏特。


GetBrickName
NxtDirectCommands.GetBrickName : 取得NXT 主機名稱。


GetCurrentProgramName
NxtDirectCommands.GetCurrentProgramName : 取得機器人上現在運行的程式名稱。


GetFirmwareVersion
NxtDirectCommands.GetFirmwareVersion : 以清單格式取得韌體(第一個項目)與通訊協定版本(第二個項目)。


GetInputValues(text sensorPortLetter)
NxtDirectCommands.GetInputValues : 讀取機器人指定輸入端的資訊,假設我們已藉由SetInputMode 設定了感應器類型(sensor type)。


GetOutputState(text motorPortLetter)
NxtDirectCommands.GetOutputState : 讀取機器人指定輸出端的馬達狀態。



KeepAlive
NxtDirectCommands.KeepAlive : 讓機器人保持開機,並每毫秒回傳一次現在的休眠時間限制。


ListFiles(text wildcard)
NxtDirectCommands.ListFiles : 使用者設定條件(wildcard)之後,以清單回傳機器人中符合的檔案。


LsGetStatus(text sensorPortLetter)
NxtDirectCommands.LsGetStatus : 回傳可供讀取的位元組數。Ls 意指Low speed 低速通訊,NXT 主機支援 I2C 的數位通訊方法,可連接任何支援 I2C 介面的 I/O 裝置。


LsRead(text sensorPortLetter)
NxtDirectCommands.LsRead : 從機器人指定輸入端讀取低速資料(值皆為正),在此假設已藉由SetInputMode 設定了感應器類型(sensor type)。


LsWrite(text sensorPortLetter, list list, number rxDataLength)
NxtDirectCommands.LsWrite : 對機器人指定輸入端寫入低速資料,在此假設已藉由SetInputMode 設定了感應器類型(sensor type)。


MessageRead(number mailbox)
NxtDirectCommands.MessageRead : 從機器人上的指定信箱讀取資料,信箱編號由1 到10。


MessageWrite(number mailbox, text message)
NxtDirectCommands.MessageWrite : 對機器人上的指定信箱寫入資料,信箱編號由1 到10。


PlaySoundFile(text fileName)
NxtDirectCommands.PlaySoundFile : 播放機器人上的音效檔,附檔名為.rso。


PlayTone(number frequencyHz, number durationMs)
NxtDirectCommands.PlayTone : 讓機器人發出指定時間長度(durationMs,單位為毫秒)的音高(frequencyHz,赫茲)。


ResetInputScaledValue(text sensorPortLetter)
NxtDirectCommands.ResetInputScaledValue : 重設機器人指定輸入端的正規化值(scaled value)。


ResetMotorPosition(text motorPortLetter, boolean relative)
NxtDirectCommands.ResetMotorPosition : 重設馬達位置。


SetBrickName(text name)
NxtDirectCommands.SetBrickName : 設定NXT 主機名稱。


SetInputMode(text sensorPortLetter, number sensorType, number sensorMode)
NxtDirectCommands.SetInputMode : 設定機器人的指定輸入端狀態。sensorPortLetter 為輸入端編號1~4,sensorType 為感應器類型,sensorMode 為感應器回傳值格式。


SetOutputState(text motorPortLetter, number power, number mode, number regulationMode,number turnRatio, number runState, number tachoLimit)
NxtDirectCommands.SetOutputState : 設定機器人的指定輸出端狀態,motorPortLetter 為輸出端編號A-C,umber power 為馬達電力範圍-100~100,mode 為資料模式,regulationMode 為馬達控制模式,turnRatio 為轉彎百分比-100~100,runState 為執行狀態,tachoLimit 為角度感應器上限。


StartProgram(text programName)
NxtDirectCommands.StartProgram : 執行已下載到機器人上的程式。


StopProgram
NxtDirectCommands.StopProgram : 停止機器人現在運行中的程式。


StopSoundPlayback
NxtDirectCommands.StopSoundPlayback : 停止播放聲音。