LBotics.at

Der Tastsensor wird an einen der acht IO-Ports angeschlossen. Mit der Funktion READ_IO_CLOSED() kann der Zustand des elektrischen Kontakts in dem Taster (offen oder geschlossen) ermittelt werden.

Programmbeispiel 1 - Ermitteln des Zustands des Tastsensors

In diesem Beispiel wird der Zustand eines Tastsensors ermittelt, der an den IO-Port IO1 an das Mainboard angeschlossen ist. Je nach dem, ob der Schaltkontakt geschlossen ist oder nicht, wird die rote LED ein oder ausgeschaltet.

#include "KeplerOpenBOT.h"
 
void setup()
{
KeplerOpenBOT_INIT();
}
 
void loop()
{
if (READ_IO_CLOSED(IO1)==1) SET_LED(1);
else SET_LED(0);
}
Erklärungen zu diesem Programmbeispiel

Zeile 10: if (READ_IO_CLOSED(IO1)==1)

Mit der Funktion READ_IO_CLOSED(port) kann überprüft werden ob der elektrische Kontakt in dem Tastsensor geschlossen ist oder nicht.

Mit dem Parameter port wählt man den gewünschten IO-Port aus: IO1, IO2, ..., IO8

Als Rückgabewert liefert diese Funktion die Werte 0 oder 1.

Programmbeispiel 2 - Einmaliges Drücken eines Tastsensors

An den IO-Port IO3 ist ein Tastsensor angeschlossen. In diesem Beispiel wird der Wert einer Variable erhöht, wenn der Tastsensor einmal kurz gedrückt wird.

#include "KeplerOpenBOT.h"
 
uint8_t MeineZahl;
 
void setup()
{
KeplerOpenBOT_INIT();
WRITE_LCD_TEXT(1, 1, "Zahl:");
MeineZahl = 0;
}
 
void loop()
{
if (READ_IO_PRESSED(IO1)==1)
{
MeineZahl = MeineZahl + 1;
}
WRITE_LCD_INT(7, 1, MeineZahl, 3);
}
Erklärungen zu diesem Programmbeispiel

Zeile 14: if (READ_IO_PRESSED(IO1)==1)

Im Gegensatz zur Funktion READ_IO_CLOSED(port) die den aktuellen Zustand eines Tastsensors zurückliefert, kann mit der Funktion READ_IO_PRESSED(port) auf das einmalige Schließen des Kontakts in einem Tastsensor reagiert werden. Wird diese Funktion mehrmals aufgerufen während der Schaltkontakt geschlossen ist, so liefert diese Funktion nur beim ersten Aufruf den Wert 1 zurück. Alle weiteren Aufrufe liefern so lange den Wert 0 zurück bis der Kontakt wieder geöffnet wird.

Mit dem Parameter port wird der gewünschte IO-Port festgelegt: IO1, IO2, ..., IO8

Als Rückgabewert liefert diese Funktion die Werte 0 oder 1.