LBotics.at

Mit dem Reflexionssensor kann die Intensität von reflektiertem Licht einer Oberfläche bestimmt werden. Diese Intensität entspricht einer Spannung zwischen 0 und 3.3 V, die vom Sensor ausgegeben wird. Um diese messen zu können, muss ein Reflexionssensor an einen analogen Eingang des Controllers angeschlossen werden.

Programmbeispiel - Einlesen eines Reflexionssensors

Ein Reflexionssensor ist an einen der acht analogen Eingänge AIN1, ..., AIN8 angeschlossen. In diesem Beispiel an den analogen Eingang AIN1, es wird der aktuelle Wert des Reflexionssensors eingelesen und am Display angezeigt.

#include "KeplerBRAIN_V4.h"

// Definition der globalen Variable wert vom Typ uint16_t
uint16_t value;

void setup()
{
KEPLERBRAIN_INIT();

// Initialisieren der Variable wert
value = 0;
}

void loop()
{
// Einlesen des Werts des ADCs Kanal 1 und Ablegen in der Variable wert
value = READ_IO_ANALOG(AN1);

// Ausgeben des Inhalts des Arrays textzeile1 am Display
LCD_DRAW_TEXT(1,2, "Wert: " + String(value));
}
Erklärungen zu diesem Programmbeispiel

Zeile 4: uint_16 value;

Definition der Variable value vom Typ Integer (uint16_t). In dieser können positive ganzzahlige Werte zwischen 0 und 65535 abgelegt werden. Durch die Definition an dieser Stelle steht diese Variable im gesamten Programmcode zur Verfügung. An dieser Stelle darf der Variable noch keine Zuweisung eines Werts mit einem = erfolgen!

Zeile 11: value = 0;

Zu Beginn des Programms wird der Variable wert der Wert 0 zugewiesen.

Zeile 17: value = READ_IO_ANALOG(AIN1);

Mit der Funktion READ_IO_ANALOG(port) wird die am jeweiligen Port anliegende Spannung gemessen. Die gemessenen Spannungen werden digitalen Werten zugeordnet, die zwischen 0 und 1023 liegen können und werden der Variable value zugewiesen.

Mit dem Parameter port wird der gewünschte Port festgelegt: AIN1, AIN2, ..., AIN8

Als Rückgabewert liefert diese Funktion die Werte zwischen 0 und 1023.

Zeile 26: LCD_DRAW_TEXT(1, 1, "Wert: " + String(value));

Am Display wird ein zusammengesetzter String angezeigt - zunächst "Wert: " und dann dahinter der Wert der Variable value, die zuerst mit der Funktion String() in einen String konvertiert werden muss. Mit dem + dazwischen können zwei Strings miteinander verbunden werden.

Der erste Parameter entspricht der x-Koordinate der gewünschten Position am Display, dieser kann mit 1, 2, ..., 16 festgelegt werden.

Mit dem zweiten Parameter wird die y-Koordinate der gewünschten Ausgabeposition festgelegt, diese kann entweder 1 oder 2 sein.