LBotics.at

Ist der Farb/Licht-Sensor so konfiguriert, dass er Farben erkennen kann, liefert dieser Werte zwischen 0 und 7 zurück. Diese stehen für bestimmte Farbbezeichnungen.

Programmbeispiel - Farben und Farb-Sensor

An den Eingang 1 ist ein EV3 Farb/Licht-Sensor angeschlossen. Der Sensor ist als Farbsensor konfiguriert und am Display sollen die erkannten Farben angezeigt werden.

#include "evclibrary.h"
int main()
{
// 1. Konfiguration der angeschlossenen Sensoren und Motoren
SET_IN(IN_1, IN_EV3_COLOR);
// 2. Initialisierung des EV3 Brick
EVC_INIT();
// 3. Steuerung des Roboters
int Wert;
LCD_DRAW_TEXT(1, 5, "Color:");
while (NOTEXITBUTTON)
{
Wert = READ_IN(IN_1);
if (Wert==0) LCD_DRAW_TEXT(8, 5, "transparent");
if (Wert==1) LCD_DRAW_TEXT(8, 5, "schwarz ");
if (Wert==2) LCD_DRAW_TEXT(8, 5, "blau ");
if (Wert==3) LCD_DRAW_TEXT(8, 5, "gruen ");
if (Wert==4) LCD_DRAW_TEXT(8, 5, "gelb ");
if (Wert==5) LCD_DRAW_TEXT(8, 5, "rot ");
if (Wert==6) LCD_DRAW_TEXT(8, 5, "weiss ");
if (Wert==7) LCD_DRAW_TEXT(8, 5, "braun ");
}
// 4. Programmende
EVC_CLOSE();
return 0;
}
Erklärungen zu diesem Programmbeispiel
Zeile 5: SET_IN(IN_1, IN_EV3_COLOR);

Mit der Funktion SET_IN(port, vlaue) wird festgelegt, welcher Sensor an einem Eingang angeschlossen ist – in diesem Fall ein Farb/Licht-Sensor im Modus Farberkennung.

Mit dem ersten Parameter wird der Port festgelegt: IN_1, IN_2, IN_3 oder IN_4

Der zweite Parameter beschreibt 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 Farb-Sensors abgelegt wird.

Zeile 10: LCD_DRAW_TEXT(1, 5, “Color:“);

In Zeile 5 wird der Text “Color-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-21: if (Wert==0) LCD_DRAW_TEXT(14, 5, “transparent“);

Mit einer if-Abfrage wird der aktuelle Wert des Sensors mit den möglichen Werten verglichen. Jeder Zahl zwischen 0 und 7 ist eine bestimmte Farbbezeichnung zugeordnet. Ausgehend vom aktuellen Wert wird ein Text mit der jeweiligen Farbbezeichnung am Display angezeigt. Dabei ist zu beachten, dass Zeichen von zuvor angezeigten längeren Wörtern gelöscht werden in dem an diesen Stellen Leerzeichen ausgegeben werden.