INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reaktionstester
09.08.2013, 12:26 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2013 12:27 von Stefan.)
Beitrag #1
Reaktionstester
Mein erstes Arduinoprogramm mit durchaus praktischem Nutzen möchte ich euch hier präsentieren. Es ist ein Reaktionstester, der nach einer zufällig erzeugten Wartezeit die LED am Port 13 setzt und die Zeit bis zum Betätigen des sw1 (Taster am Port 12) misst und per Serial Monitor ausgibt. Bei der Gelegenheit seht ihr auch gleich den Einsatz einer Statemaschine, programmiert per switch-case-Konstrukt, was für viele Anwendungen sehr hilfreich ist. Ich kam noch nicht unter 160 ms........

Hier der Code:


byte led1port = 13;
byte sw1port = 12;
byte state = 0;
byte sw1;
unsigned int rzeit;
unsigned int wzeit;
unsigned long timestart;
unsigned long timestop;

void setup()
{
pinMode(led1port, OUTPUT);
pinMode(sw1port, INPUT);
Serial.begin(9600);
}

void loop()
{
switch (state)
{
case 0: //Einstieg
delay(1000);
state = 1;
break;
case 1: //Zyklusstart
wzeit = random (500,8500);
delay (wzeit);
digitalWrite (led1port, HIGH);
timestart = millis();
state = 2;
break;
case 2: //Messung
sw1 = digitalRead (sw1port);
if (sw1 == HIGH)
{
timestop = millis();
rzeit = timestop - timestart;
state = 3;
}
break;
case 3: //Ergebnis
Serial.println(rzeit);
digitalWrite (led1port, LOW);
delay (1000);
state = 1;
break;
}
}


Warum muss die Foren-Software eigentlich immer Leerzeichen und Tab-Steuerzeichen entfernen? Im Editor ist die Struktur noch schön sichtbar, im Beitrag dann klebt alles links.

Gruß, Stefan . . . . . . //Wo mein Kölbchen dampft, da bin ich unverkrampft.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste