NXT 2.0 Farbsensor
Folgendes Beispiel-Programm lässt den Roboter geradeaus fahren, solange er sich auf blauem Untergrund befindet. Solange er sich auf rotem Untergrund befindet, fährt er rückwärts.
#include "NXCDefs.h"
task main()
{
// Sensor
SetSensorColorFull(IN_1);
while(true)
{
while(SENSOR_1 == 2) //blau
{
OnFwd(OUT_AC, 80);
}
while(SENSOR_1 == 5) //rot
{
OnRev(OUT_AC, 80);
}
}
}
Motorensteuerung per Bluetooth
Um die Steuerung der Motoren über eine Bluetooth-Verbindung zu vereinfachen können folgende Makros benutzt werden:
#define RemoteOnFwd(ausgang, geschwindigkeit) RemoteSetOutputState(BT_CONN, \
ausgang, geschwindigkeit, \
OUT_MODE_MOTORON+OUT_MODE_BRAKE+OUT_MODE_REGULATED, OUT_REGMODE_IDLE, \
0, OUT_RUNSTATE_RUNNING, 0)Nun können die Motoren über den Befehl RemoteOnFwd(), den Ausgang und die Geschwindigkeit, wie vom OnFwd()-Befehl bekannt, angesteuert werden. Anders als beim OnFwd()-Befehl kann aber immer nur ein Motor gestuert werden.
#define RemoteOff(ausgang) RemoteOnFwd(ausgang, 0)
Dieses Makro sorgt dafür, dass die Motoren bequem, per RemoteOff(), ausgeschaltet werden können.