Ein Liniensensor wird an einen der beiden SPI-Ports angeschlossen und die Werte der 8 Reflexionssensoren werden am Display angezeigt. Mit den Potentiometern kann die Empfindlichkeit jedes einzelnen Sensors eingestellt werden.


Programmierbeispiel - Einlesen und Anzeigen aller Werte eines Liniensensors
#include "KeplerOpenBOT.h"uint16_t LichtWert1;uint16_t LichtWert2;uint16_t LichtWert3;uint16_t LichtWert4;uint16_t LichtWert5;uint16_t LichtWert6;uint16_t LichtWert7;uint16_t LichtWert8;void setup(){KeplerOpenBOT_INIT();}void loop(){LichtWert1 = READ_SPI_LINE(SPI1,1);LichtWert2 = READ_SPI_LINE(SPI1,2);LichtWert3 = READ_SPI_LINE(SPI1,3);LichtWert4 = READ_SPI_LINE(SPI1,4);LichtWert5 = READ_SPI_LINE(SPI1,5);LichtWert6 = READ_SPI_LINE(SPI1,6);LichtWert7 = READ_SPI_LINE(SPI1,7);LichtWert8 = READ_SPI_LINE(SPI1,8);WRITE_LCD_INT(1, 1, LichtWert1, 4);WRITE_LCD_INT(1, 6, LichtWert2, 4);WRITE_LCD_INT(2, 1, LichtWert3, 4);WRITE_LCD_INT(2, 6, LichtWert4, 4);WRITE_LCD_INT(3, 1, LichtWert5, 4);WRITE_LCD_INT(3, 6, LichtWert6, 4);WRITE_LCD_INT(4, 1, LichtWert7, 4);WRITE_LCD_INT(4, 6, LichtWert8, 4);}
Erklärungen zu diesem Programmbeispiel
Zeile 19: LichtWert1 = READ_SPI_LINE(SPI1,1);
Mit der Funktion READ_SPI_LINE(port,sensor) wird die am jeweiligen Kanals des AD-Wandlers anliegende Spannung gemessen. Die gemessenen Spannungen werden digitalen Werten zugeordnet, die zwischen 0 und 1023 liegen können und der Variable LichtWert zugewiesen werden.
Mit dem Parameter port wird der gewünschte Port festgelegt: SPI1 oder SPI2
Der Parameter sensor beschreibt den Eingang des AD-Wandlers, dessen anliegenden Spannungswert man erhalten möchte: 1, 2, ..., 8
Als Rückgabewert liefert diese Funktion die Werte zwischen 0 und 1023.
Zeile 27: WRITE_LCD_INT(1, 1, LichtWert1, 4);
Der Wert der Variable LichtWert1 wird in der ersten Zeile an Position eins ausgegeben. Dabei ist zu berücksichtigen, dass der größte Wert (1023) eine Länge von 4 Zeichen benötigt, weshalb dieser Funktion die Zahl 4 als vierter Parameter übergeben wird.
