NXT Sensor

LEGO Mindstorms bietet die Möglichkeit verschiedenste Sensoren anzuschließen:

  • Beschleunigungssensor
  • Farbsensor
  • Kompass
  • Rotationssensor
  • Infrarotsensor
  • Lichtsensor
  • RFID-Leser
  • Tonerkennung
  • Taster
  • Abstandsmesser
  • und vieles mehr.

Der NXT-Brick verfügt über 4 mögliche Sensoranschlüsse. Diese sind durchgehend mit den Werten von 0 bis 3 nummeriert. Besser ist aber, wenn Sie die vordefinierten Funktionen dafür nutzen: "SENSOR_1", "SENSOR_2", "SENSOR_3" und "SENSOR_4".

Im Rahmen der Teamarbeit bekommen Sie die vorkonfigurierten Module. Diese Module verwenden ausschließlich einen der folgenden Sensoren, welche an Port "SENSOR_1" angeschlossen sind:

  • Farbsensor
  • Tastsensor

 

Um einen Sensor mit Strom zu versorgen und somit aktiv zu schalten, führen Sie einen der folgenden Befehl aus:

OpenNXT2Color(SENSOR_1, 'FULL', nxtHandle);
OpenSwitch(SENSOR_1, nxtHandle);

 

Danach können Sie den Wert des Sensor mit dem entsprechenden Befehl auslesen:

color = GetNXT2Color(SENSOR_1, nxtHandle);
pressed = GetSwitch(SENSOR_1, nxtHandle);

 

Mit folgendem Befehl deaktiveren Sie alle Sensoren wieder:

CloseSensor(SENSOR_1, nxtHandle);

 

Mögliche Fehler:

  • Wartezeit beim Ausführen von Befehlen:
    Jede Kommunikation mit dem Brick nimmt "etwas" Zeit in Anspruch. Meist ist die Zeit vernachlässigbar klein.

  • Fehler beim Auslesen eines Sensors:
    Wenn ein Sensors nicht oder mit dem falschen Typ aktiviert (Open-Befehl) wird, liefert die Toolbox leider keinen Fehler zurück. Stattdessen wird der Standardwert für den Sensors zurückgegeben. Beim Taster wäre dies z.B. die Ausgabe "false".

  • Fehler beim zu schnellen Auslesen eines Sensors:
    Ein Sensor kann nur alle 0.1 Sekunden ausgelesen werden. Dies hängt mit der Kommunikation zwischen MATLAB und dem NXT-Brick zusammen. Diese Zeit, in der der Sensor keinen korrekten Auslesevorgang durchführen kann, wird Latenzzeit genannt. Beachten Sie, dass in diesem Fall MATLAB den Standardwert für den Sensor zurückliefert. Beim Farbsensor ist dies z.B. der Wert "black".