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.