以程式碼解說實際的簡單應用:
[程式碼]
%觸碰感知器(TouchSensor)、光感知器(LightSensor)測試
clear all
clc
COM_CloseNXT('all');
hNXT=COM_OpenNXT(); %此指令會尋找使用 USB 線與電腦連接的 NXT,若是要使用藍芽的話則只要在括號內加上 'bluetooth.ini' 即可
COM_SetDefaultNXT(hNXT); %將 hNXT 設為全域的預設代碼,之後就不需要在指令後再輸入代碼了
OpenSwitch(Sensor_1);
OpenLight(Sensor_2,'ACTIVE');
cnt=1;
while (GetSwitch(Sensor_1)==false)
LightValue(cnt)=GetLight(Sensor_2)*0.09775;
cnt=cnt+1;
end
plot(LightValue)
COM_CloseNXT(hNXT);
解說:
1.這個程式利用OpenLight()指令、OpenSwitch()指令分別初始光感知器、觸碰感知器,指令的應用,請在Matlab command提示字元下,輸入help OpenLight、help OpenSwitch查閱
2.OpenLight()指令,參數使用ACTIVE,告知初始即點亮LightSensor
3.GetSwitch()用以取得觸碰感知器觸碰與否,有則回傳true,反之則以false
4.GetLight()指令用以取得光感知器的讀值,乘以0.09775轉換為我們較為了解的光感值
5.程式判斷觸碰感知器未被按下時,記錄光感知器的讀值於LightValue陣列,並於觸碰感知器被按下後,將結果plot出來。
沒有留言:
張貼留言