Rotationssensor

Im Motor ist ein Rotationssensor eingebaut. Dieser misst Drehungen mit der Genauigkeit von 1 Grad. 

Die Winkelstellung kann mit MotorTachoCount(Port) abgefragt und mit ResetTachoCount(Port) auf 0
zurückgesetzt werden. 

task main()
{
	ResetRotationCount (OUT_B);
	ResetRotationCount (OUT_C);
	
	ClearScreen();
	
	while (MotorRotationCount(OUT_B) != 180)
	{
		OnFwd(OUT_B, 50);
		OnRev(OUT_C, 50);
	}
	
	Off (OUT_BC);
	
	NumOut(0, LCD_LINE1, MotorRotationCount(OUT_B));
	NumOut(0, LCD_LINE2, MotorRotationCount(OUT_C));
	
	Wait (20000);
}

Mit Hilfe des Rotationssensor hat man auch die Möglichkeit, den Motor eine bestimmte Gradzahl nach vorne (oder zurück) drehen zu lassen. Zusätzlich zum angesprochenen Motor und der Leistung gibt man noch die (positive oder negative) Gradzahl an, um welche sich der Motor weiterdrehen soll.

task main ()
{
 RotateMotor(OUT_AB, 100, 360);
}

Genauer geht es mit:

RotateMotorEx(OUT_XX, GESCHW, WINKEL, BOGEN, SYNCHRON, BREMSEN);

(z.B. bewirkt RotateMotorEx(OUT_AB, 70, 180, 100, true, true) eine Rechtsdrehung des Roboters. )

vgl.

http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/group___output_module_functions_ga25995f6a1fde8c79a686aa4492568f43.html