程式碼如下:
% 測試陀螺儀元件
clear all
clc
% 設定陀螺儀參數
port = SENSOR_3;
COM_CloseNXT('all');
hNXT=COM_OpenNXT();
COM_SetDefaultNXT(hNXT);
OpenGyro(port);
offset = CalibrateGyro(port,'AUTO');
disp(sprintf('Gyro Sensor offset = %d ',offset));
COM_CloseNXT(hNXT);
% 測試陀螺儀元件
clear all
clc
% 設定陀螺儀參數
port = SENSOR_3;
COM_CloseNXT('all');
hNXT=COM_OpenNXT();
COM_SetDefaultNXT(hNXT);
OpenGyro(port);
offset = CalibrateGyro(port,'AUTO');
disp(sprintf('Gyro Sensor offset = %d ',offset));
COM_CloseNXT(hNXT);
clear all
clc
COM_CloseNXT('all');
hNXT=COM_OpenNXT(); %此指令會尋找使用 USB 線與電腦連接的 NXT,若是要使用藍芽的話則只要在括號內加上 'bluetooth.ini' 即可
COM_SetDefaultNXT(hNXT); %將 hNXT 設為全域的預設代碼,之後就不需要在指令後再輸入代碼了
force=50;
Dist=360;
MyMotor = NXTMotor(MOTOR_A,'Power',force, 'TachoLimit', Dist);
MyMotor.ResetPosition();
MyMotor.SendToNXT();
data=MyMotor.ReadFromNXT();
while(data.Position < Dist)
data=MyMotor.ReadFromNXT();
disp(sprintf('Current Position of Motor A: %d', data.Position));
end
COM_CloseNXT(hNXT);
clear all
clc
COM_CloseNXT('all');
hNXT=COM_OpenNXT(); %此指令會尋找使用 USB 線與電腦連接的 NXT,若是要使用藍芽的話則只要在括號內加上 'bluetooth.ini' 即可
COM_SetDefaultNXT(hNXT); %將 hNXT 設為全域的預設代碼,之後就不需要在指令後再輸入代碼了
LeftWheel=MOTOR_A;
RightWheel=MOTOR_C;
BothWheel=[LeftWheel;RightWheel];
Force=50; %馬達動力
Dist=360; %馬達轉動的角度
MotorForward = NXTMotor(BothWheel,'Power',Force, 'TachoLimit', Dist);
MotorReverse = MotorForward; %設定MotorReverse結構與MotorForward相同
MotorReverse.Power= -Force; %個別修改Power屬性
MotorForward.SendToNXT(); %送出正轉指令
MotorForward.WaitFor(); %等待執行完畢
MotorReverse.SendToNXT(); %送出反轉指令
MotorReverse.WaitFor();
COM_CloseNXT(hNXT);
%觸碰感知器(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);
