Eigentlich habe ich die Messung mit millis() realisiert:
//Windgeschwindigkeit
int geschwPin = 2;
int count = -1;
int actualState = 0;
int lastState = 0;
float Geschwindigkeit;
//---------------------------------------------------------------------
void setup()
{
Serial.begin(9600);
pinMode(geschwPin, INPUT);
}
//---------------------------------------------------------------------
void loop()
{
Serial.println("Start!");
unsigned long previousMillis = millis();
while (millis() - previousMillis < 60000L)
{
delay(1);
actualState = digitalRead(geschwPin);
if (actualState == 1 && lastState == 0)
{
count++;
lastState=actualState;
}
if (actualState == 0)
{
lastState=0;
}
}
Serial.print("Counter: ");
Serial.println(count);
if(count == 0)
{
Geschwindigkeit = 0;
}
else
{
Geschwindigkeit = (0.01250 * (count*6)) + 0.2;
}
Serial.print("Geschwindigkeit: ");
Serial.print(Geschwindigkeit);
Serial.println(" m/s");
Serial.println("");
count = 0;
}
das eigentliche Problem ist: "Alles liegen und stehen zu lassen", wenn ein Client eine Anfrage schickt!
Für den WebServer verwende ich das Standardbeispiel von Arduino...