Der Farb/Licht-Sensor kann in zwei unterschiedlichen Modi betrieben werden, sodass dieser entweder die Intensität des ausgesandten und reflektierten Lichts misst oder Farben ermittelt. Ist dieser als Licht-Sensor initialisiert, so liefert dieser Werte zwischen 0% und 100% zurück, was der Intensität des reflektierten Lichts entspricht.
Programmbeispiel - Ausgabe von Zahlen und Licht-Sensor
Am Eingang 1 ist ein EV3 Licht-Sensor angeschlossen. Der Sensor liefert je nach Intensität und Farbe des reflektierten Lichts unterschiedliche Werte zurück, die am Display angezeigt werden.
#include "evclibrary.h"
int main()
{
// 1. Konfiguration der angeschlossenen Sensoren und Motoren
SET_IN(IN_1, IN_EV3_LIGHT);
// 2. Initialisierung des EV3 Brick
EVC_INIT();
// 3. Steuerung des Roboters
int Wert;
LCD_DRAW_TEXT(1, 5, "Light-Sensor:");
while (NOTEXITBUTTON)
{
Wert = READ_IN(IN_1);
LCD_DRAW_INT(14, 5, Wert);
}
// 4. Programmende
EVC_CLOSE();
return 0;
}
Erklärungen zu diesem Programmbeispiel
Zeile 5: SET_IN(IN_1, IN_EV3_LIGHT);
Mit der Funktion SET_IN(port, value) wird festgelegt, welcher Sensor an einem Eingang angeschlossen ist – in diesem Fall ein Farb/Licht-Sensor der im Modus zur Messung der Intensität des reflektierten Lichts betrieben wird.
Mit dem ersten Parameter port wird der Port festgelegt: IN_1, IN_2, IN_3 oder IN_4
Der zweite Parameter valuebeschreibt den Typ des angeschlossenen Sensors: IN_EV3_TOUCH, IN_EV3_LIGHT, IN_EV3_COLOR, IN_EV3_SONAR, IN_EV3_GYRO
Zeile 9: int Wert;
Definition der Integer-Variable Wert, in der später der Wert des Licht-Sensors abgelegt wird.
Zeile 10: LCD_DRAW_TEXT(1, 5, “Light-Sensor:“);
In Zeile 5 wird der Text “Light-Sensor:“ angezeigt.
Zeile 13: Wert = READ_IN(IN_1);
Mit der Funktion READ_IN(port) wird der aktuelle Wert des Sensors ausgelesen und in der Variable Wert abgelegt.
Zeile 14: LCD_DRAW_INT(14, 5, Wert);
Mit der Funktion LCD_DRAW_INT(spalte, zeile, value) kann der Wert von Integer-Variablen am Display angezeigt werden. Diese Funktion wandelt dabei den Zahlenwert zunächst in Textzeichen um, die dann letztendlich am Display ausgegeben werden.
Für spalte kann ein Wert zwischen 1 und 22 gewählt werden, für zeile ein Wert zwischen 1 und 11.
Als dritter Parameter wird dieser Funktion der Name einer Integer-Variable übergeben.