LBotics.at

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.