LBotics.at

Das Sensor-Array der Firma Mindsensors ermöglicht es 8 unterschiedliche Intensitäten von reflektiertem Licht auf einem Untergrund mit nur einem Sensor zu ermitteln. An den acht Messpunkten erhält man Werte zwischen 0% und 100%, was der Intensität des reflektierten Lichts entspricht.

Programmbeispiel - Ausgabe von Zahlen und LineArray-Sensor

Am Eingang 1 ist ein Mindsensors LineArray-Sensor angeschlossen. Am Display werden die acht Werte des Sensors ausgegeben.

#include "evclibrary.h"
int main()
{
// 1. Konfiguration der angeschlossenen Sensoren und Motoren
SET_IN(IN_1,IN_MS_LINEARRAY);
// 2. Initialisierung des EV3 Brick
EVC_INIT();
int Value1 = 0;
int Value2 = 0;
int Value3 = 0;
int Value4 = 0;
int Value5 = 0;
int Value6 = 0;
int Value7 = 0;
int Value8 = 0;
// 3. Steuerung des Roboters
while (NOTEXITBUTTON)
{
Value1 = READ_IN_LINEARRAY(IN_1,1);
Value2 = READ_IN_LINEARRAY(IN_1,2);
Value3 = READ_IN_LINEARRAY(IN_1,3);
Value4 = READ_IN_LINEARRAY(IN_1,4);
Value5 = READ_IN_LINEARRAY(IN_1,5);
Value6 = READ_IN_LINEARRAY(IN_1,6);
Value7 = READ_IN_LINEARRAY(IN_1,7);
Value8 = READ_IN_LINEARRAY(IN_1,8);
LCD_DRAW_INT(1,1,Value1);
LCD_DRAW_INT(1,2,Value2);
LCD_DRAW_INT(1,3,Value3);
LCD_DRAW_INT(1,4,Value4);
LCD_DRAW_INT(1,5,Value5);
LCD_DRAW_INT(1,6,Value6);
LCD_DRAW_INT(1,7,Value7);
LCD_DRAW_INT(1,8,Value8);
}
// 4. Programmende
EVC_CLOSE();
return 0;
}
Erklärungen zu diesem Programmbeispiel
Zeile 5: SET_IN(IN_1, IN_MS_LINEARRAY);

Mit der Funktion SET_IN(port, value) wird festgelegt, welcher Sensor an einem Eingang angeschlossen ist – in diesem Fall ein LineaArray der Firma Mindsensors zur Messung der Intensität von reflektiertem Licht an acht Messpunkten.

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

Der zweite Parameter beschreibt value den Typ des angeschlossenen Sensors: IN_EV3_TOUCH, IN_EV3_LIGHT, IN_EV3_COLOR, IN_EV3_SONAR, IN_EV3_GYRO, IN_MS_LINEARRAY

Zeile 8: int Value1 = 0;

Definition der Integer-Variable Value1, in der später der Wert eines Messpunkts des LineArrays abgelegt wird.

Zeile 19: Value1 = READ_IN_LINEARRAY(IN_1,1);

Mit der Funktion READ_IN_LINEARRAY(port,channel) wird der aktuelle Wert eines Messpunkts des Sensors ausgelesen und in der Variable Value1 abgelegt.

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

Der zweite Parameter channel beschreibt den gewünschten Messpunkt des angeschlossenen Sensors: 1, 2, ..., 8