diff --git a/src/main.cpp b/src/main.cpp
index 1031d08..42b55ed 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -10,6 +10,7 @@
int sensorValue = 0;
int letzteWerte[100];
+int niedrigsterWert = 1024;
int idWert = 0;
@@ -36,7 +37,7 @@ int kontaktzeiten[20];
int idx = 0;
String websiteA = "
Sensor"
-" ";
+" ";
@@ -48,9 +49,16 @@ const int led = 13;
void handleRoot() {
String liste;
- for(int i = idWert; i < idWert + 100; i++) {
- liste = liste + letzteWerte[i % 100] + "\r\n";
+
+ int vorherig = 1024;
+ int aktuell = 1024;
+
+ liste = liste + "niedrigster: " + niedrigsterWert;
+ liste = liste + "- ";
+ for(int i = 0; i < 20; i++) {
+ liste = liste + "
" + i + ". Kontakt:" + kontaktzeiten[i] + " ms
";
}
+ liste = liste + " ";
server.send(200, "text/html", websiteA + liste + websiteB);
}
@@ -86,44 +94,47 @@ void setup(void) {
}
+int letzterWert = 1024;
void loop(void) {
sensorValue = analogRead(ANALOG_READ_PIN);
- Serial.println(sensorValue);
-
+// Serial.println(sensorValue);
+
letzteWerte[idWert] = sensorValue;
idWert = (idWert + 1) % 100;
-
- // Hier Logik ändern
-/*
- // read the input pin:
- int buttonState = digitalRead(pushButton);
- // print out the state of the button:
- //Serial.println(buttonState);
- //Serial.println(millis());
- if(lastbuttonstate == 0 && buttonState == 1)
+ niedrigsterWert = std::min(sensorValue, niedrigsterWert);
+
+ if(letzterWert >= 300 && sensorValue < 300 )
{
auftrittmillis = millis();
- Serial.print("Auftritt: ");
- Serial.println(auftrittmillis);
+
+ // nur wenn mehr als 30ms, dann Ausgeben
+ if((auftrittmillis - abtrittmillis) > 30) {
+ Serial.print("Flugphase: ");
+ Serial.println(auftrittmillis - abtrittmillis);
+ }
}
- if(lastbuttonstate == 1 && buttonState == 0)
+ if(letzterWert < 300 && sensorValue >= 300)
{
abtrittmillis = millis();
- Serial.print("Abgehoben: ");
- Serial.println(abtrittmillis);
- Serial.print("Bodenkontakt: ");
- Serial.println(abtrittmillis - auftrittmillis);
- auftrittzeiten[idx] = auftrittmillis;
- kontaktzeiten[idx] = abtrittmillis - auftrittmillis;
- idx = (idx + 1)%20;
+
+
+ if ((abtrittmillis - auftrittmillis)> 30 ) {
+ auftrittzeiten[idx] = auftrittmillis;
+ kontaktzeiten[idx] = abtrittmillis - auftrittmillis;
+ idx = (idx + 1)%20;
+
+ Serial.print(idx);
+ Serial.print(". Bodenkontakt: ");
+ Serial.println(abtrittmillis - auftrittmillis);
+ }
}
- lastbuttonstate = buttonState;
- */
+
+ letzterWert = sensorValue;
+
- delay(10); // delay in between reads for stability
+ delay(20); // delay in between reads for stability
server.handleClient();
- MDNS.update();
}