Liniensensor
Für die Steuerung des Liniensensors kann die Funktion line_sensor
verwendet werden.
API
Für die Liniensensoren können folgende Konstanten benutzt werden:
class LineSensor:
SENSOR_L1 = 0
SENSOR_M = 1
SENSOR_R1 = 2
SENSOR_L2 = 3
SENSOR_R2 = 4
ALL = 5
line_sensor(sensor)
Gibt für den angegebenen Liniensensor an, ob er Schwarz (=1
) oder Weiss (=0
) sieht.
Aus der Vogelperspektive sind die Sensoren wie folgt angeordnet:
/''''^''''\
/ L1 M R1 \
| |
|L2 R2|
o|.............|o
Parameter
sensor: int
LineSensor.SENSOR_L1
LineSensor.SENSOR_M
LineSensor.SENSOR_R1
LineSensor.SENSOR_L2
LineSensor.SENSOR_R2
LineSensor.ALL
Beispiel
Den mittleren Sensor abfragen:
line_sensor(LineSensor.M) # => 0 oder 1
Beispiel line_sensor(LineSensor.ALL)
Mit line_sensor(LineSensor.ALL)
wird ein 5-Tupel mit den Werten von allen Fünf Liniensensoren zurückgegeben. Die Reihenfolge ist im Uhrzeigersinn, beginnend mit dem linken Sensor: (L2, L1, M, R1, R2)
line_sensor(LineSensor.ALL) # => Tupel aller Sensorwerte, (0, 1, 1, 0, 1)
# -> L1, M und R2 sind auf der Linie
line_sensor_data(sensor)
Gibt die Rohdaten des angegebenen Liniensensors zurück. Je näher der Sensorwert bei 0
ist, desto dunkler ist die gemessene Farbe. Je näher der Wert bei 255
ist, desto heller ist die gemessene Farbe. Für die Unterscheidung von Schwarz und Weiss kann bspw. folgender Schwellwert verwendet werden:
schwarz
< 100
weiss
> 100
Parameter
sensor: int
LineSensor.SENSOR_L1
LineSensor.SENSOR_M
LineSensor.SENSOR_R1
LineSensor.SENSOR_L2
LineSensor.SENSOR_R2
LineSensor.ALL
Beispiel
line_sensor_data(LineSensor.M) # => 0-256
Beispiel line_sensor_data(LineSensor.ALL)
Mit line_sensor(LineSensor.ALL)
wird ein 5-Tupel mit den Rohwerten von allen Fünf Liniensensoren zurückgegeben. Die Reihenfolge ist im Uhrzeigersinn, beginnend mit dem linken Sensor: (L2, L1, M, R1, R2)
line_sensor_data(LineSensor.ALL) # => Tupel aller Sensorwerte (12, 130, 50, 72, 77)
# => Alle Sensoren messen Werte zwischen 0 und 255
Kalibrierung der Liniensensoren
Die Liniensensoren wurden im Werk kalibriert. Sollte die Kalibrierung nicht mehr präzise sein, können die Sensoren neu kalibriert werden.
- Maqueen auf einer schwarzen Fläche positionieren (bspw. auf der Rückseite der beigelegten Track Map)
- Den Calibration Key 5 Sekunden gedrückt halten