在App Inventor中的NxtDirectCommand元件中有許多有趣的指令,其中的SetInputMode可以讓我們進一步設定感應器的類型與模式,這是相當進階的技巧唷! 一般的使用情況下,我們都是使用感應器的預設模式來讀取資料,例如觸碰感應器就是0或1,聲音或光感應器則是0~100的整數值。但如果要進一步設定也是可以的,這時候就要借重SetInputMode指令了。 一般我們會使用NxtLightSensor.GetLightLevel就能順利讀取光感應器值,但App Inventor會讀取的是raw值,而非我們所習慣看到的百分比。或者也可以用SetInputMode指令,將sensorType設為5,sensorMode設為128,設定完成後再使用GetInputValue指令,這樣就能讀取光感應器的百分比值了。 對於樂高官方的感應器來說,當然直接使用GetOOO指令是最方便的。但如果我今天拿到一個其他的感應器,就能這樣利用來讀取資料,不用再看App Inventor的臉色啦。 如果是I2C數位感應器的話,就要使用NxtDirectCommand的LsRead / LsWrite指令唷,MindSensors也是利用這種方法來完成他們家的App Inventor 函式庫。 延伸閱讀:[CAVE專欄] 輕鬆使用Android裝置控制樂高機器人:感測器面板 詳細參數請看以下說明: ==================================================== sensorType(感應器類型): sensorMode(感應器模式,0x代表 16進位表示法)
|