2012-04-17 69 views
0

我正嘗試使用NBC(下一個字節代碼)在NXT上創建一個簡單版本的VFH(矢量場直方圖)。爲此,我需要準確測量機器人與物體之間的距離。由於NXT可以以釐米爲單位顯示距離,我想在程序中以釐米爲單位編程距離?由於沒有默認的釐米讀數(或者是否存在?),可以這樣做,還是必須使用默認的傳感器值?如果可以,我該怎麼做?如果不是,我怎樣才能將超聲波傳感器讀數轉換成釐米讀數?如何使用NXT超聲波傳感器讀取釐米數值?

在此先感謝。

回答

1

默認輸出是一個字節值,可以讓您釐米。

task main(){ 
    int DistanceInCm; 

    SetSensorLowspeed(IN_4); 
    while(true){ 
    DistanceInCm = SensorUS(IN_4); 
    //do something with the value here. 
    Wait(800); //or just wait. 
    } 
} 

就這麼簡單。傳感器讀數是一個字節(0-255釐米)。但NXC編譯器將其轉換成int。

請注意,雖然傳感器不是很準確!特別是如果你在移動時閱讀它。所以期待讀數有很多錯誤和噪音。

+0

謝謝!這實際上有點幫助! – skyfaerie 2012-04-27 16:09:42

相關問題