Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Ruch(drivingPower,turningPower, drivingDist,turningDist,tryb)
- myNXT = COM_OpenNXT('usb.ini');
- COM_SetDefaultNXT(myNXT);
- % Set some parameters:
- leftWheel = MOTOR_A;
- rightWheel = MOTOR_C;
- bothWheels = [leftWheel; rightWheel];
- % now create the objects for straigt driving:
- mForward = NXTMotor(bothWheels, 'Power', drivingPower, 'TachoLimit', drivingDist);
- mReverse = mForward; % clone object
- mReverse.Power = -mForward.Power; % just swap the power sign
- % in degrees
- % for turning the bot, we have two objects each:
- mTurnLeft1 = NXTMotor(leftWheel, 'Power', -turningPower, 'TachoLimit', turningDist);
- mTurnLeft1.SpeedRegulation = false; % don't need this for turning
- % for the 2nd part of turning, use first part's settings and modify:
- mTurnLeft2 = mTurnLeft1; % copy object
- mTurnLeft2.Port = rightWheel; % but use other wheel
- mTurnLeft2.Power = -mTurnLeft1.Power; % swap power again
- % the right-turn objects are the same, but mirrored:
- mTurnRight1 = mTurnLeft1; % first copy...
- mTurnRight2 = mTurnLeft2;
- mTurnRight1.Power = -mTurnRight1.Power; % now mirror powers
- mTurnRight2.Power = -mTurnRight2.Power;
- % Instead of mirroring the powers, we could've also changed
- % the ports (swapped left and right wheels).
- % TRYB - 1 Przod | 2 - Tyl | 3 - Podnies | 4 - Opusc | 5 - Lewo | 6 -Prawo
- if (tryb == 1)
- % make a left-turn
- mTurnLeft1.SendToNXT();
- mTurnLeft2.SendToNXT();
- mTurnLeft1.WaitFor();
- mTurnLeft2.WaitFor();
- else
- % turn back to the origin
- mTurnRight1.SendToNXT();
- mTurnRight2.SendToNXT();
- mTurnRight1.WaitFor();
- mTurnRight2.WaitFor();
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement