sidebar_position |
---|
4 |
Für die Steuerung des Liniensensors kann die Funktion line_sensor
verwendet werden.
Für die Liniensensoren können folgende Konstanten benutzt werden:
class LineSensor:
L1 = 0
M = 1
R1 = 2
L2 = 3
R2 = 4
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
sensor: int
: LineSensor.L1
: LineSensor.M
: LineSensor.R1
: LineSensor.L2
: LineSensor.R2
Den mittleren Sensor abfragen:
line_sensor(LineSensor.M) # => 0 oder 1
Mit line_sensor_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_all() # => Tupel aller Sensorwerte, (0, 1, 1, 0, 1)
# -> L1, M und R2 sind auf der Linie
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
sensor: int
: LineSensor.L1
: LineSensor.M
: LineSensor.R1
: LineSensor.L2
: LineSensor.R2
line_sensor_data(LineSensor.M) # => 0-256
Mit der Funktion line_sensor_data_all
wird ein 5-Tupel mit den Rohwerten von allen 5 Liniensensoren zurückgegeben. Die Reihenfolge ist im Uhrzeigersinn, beginnend mit dem linken Sensor: (L2, L1, M, R1, R2)
line_sensor_data_all() # => Tupel aller Sensorwerte (12, 130, 50, 72, 77)
# => Alle Sensoren messen Werte zwischen 0 und 255
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